.NET API wrapper สำหรับ Bing Chat ที่ขับเคลื่อนด้วย AI ใหม่ของ Microsoft
คำเตือน ล้าสมัยและการบำรุงรักษา
ปัจจุบัน การใช้งานไม่สอดคล้องกับการเปลี่ยนแปลง API ล่าสุด ซึ่งทำให้เกิดข้อผิดพลาดบ่อยครั้งและทริกเกอร์ captcha มีการวางแผนที่จะตรวจสอบสิ่งนี้และปรับการใช้งานกับไคลเอนต์ API อย่างเป็นทางการ (แอพ iOS และเบราว์เซอร์) เพื่อลดปัญหาเหล่านี้หรือบรรเทาทั้งหมดหากเป็นไปได้นอกจากนี้พื้นที่เก็บข้อมูลนี้ยังขาดผู้ดูแลมาเป็นเวลานาน ถ้าใครต้องการรับช่วงต่อโปรดติดต่อผมนะครับ
คำเตือน ห้องสมุดนี้ ไม่เป็นทางการ และขึ้นอยู่กับวิศวกรรมย้อนกลับเป็นอย่างมาก ใช้ความเสี่ยงของคุณเอง
หมายเหตุ เนื่องจาก BingChat เปิดตัวสู่สาธารณะ จึงไม่จำเป็นต้องมีคุกกี้ที่ถูกต้องอีกต่อไป คุณสามารถใช้แพ็คเกจนี้ได้โดยไม่ต้องมีการตรวจสอบสิทธิ์
ติดตั้งแพ็คเกจนี้ผ่านตัวจัดการแพ็คเกจ NuGet หรือ dotnet CLI:
dotnet add package --prerelease BingChat
แล้ว,
using BingChat ;
// Construct the chat client
var client = new BingChat Client ( new BingChat ClientOptions
{
// Tone used for conversation
Tone = BingChat Tone . Balanced ,
} ) ;
var message = "Do you like cats?" ;
var answer = await client . AskAsync ( message ) ;
Console . WriteLine ( $ "Answer: { answer } " ) ;
โค้ดด้านบนส่งข้อความไปยังแชท AI และได้รับคำตอบ
วิธีการนี้จะสร้างการสนทนาแบบนัดเดียวและละทิ้งการสนทนาดังกล่าวเมื่อเสร็จสิ้น หากคุณต้องการสนทนาต่อไปในบริบทเดียวกัน (เช่นเดียวกับพฤติกรรมในอินเทอร์เฟซเว็บ) คุณต้องสร้างการสนทนาที่แชร์:
// Create a conversation, so we can continue chatting in the same context.
var conversation = await client . CreateConversation ( ) ;
var firstMessage = "Do you like cats?" ;
var answer = await conversation . AskAsync ( firstMessage ) ;
Console . WriteLine ( $ "First answer: { answer } " ) ;
await Task . Delay ( TimeSpan . FromSeconds ( 5 ) ) ;
var secondMessage = "What did I just say?" ;
answer = await conversation . AskAsync ( secondMessage ) ;
Console . WriteLine ( $ "Second answer: { answer } " ) ;
นอกจากนี้เรายังพัฒนาเครื่องมือบรรทัดคำสั่งที่น่าทึ่งสำหรับคุณ! ดูตัวอย่างด้านล่าง:
คุณสามารถติดตั้ง CLI ได้โดยดำเนินการคำสั่งต่อไปนี้:
dotnet tool install -g --prerelease dotnet- BingChat
จากนั้นเริ่ม CLI:
dotnet BingChat
harmonyv3
ช่วยให้รุ่นเก่ามีประสิทธิภาพดีกว่าหรือไม่ .SendAsync(..)
เพื่อให้สามารถเข้าถึงและควบคุมสถานะการสนทนาได้โดยละเอียด คุณสามารถตั้งค่าคุกกี้ของคุณเองเพื่อโต้ตอบกับเซิร์ฟเวอร์ BingChat แทนที่จะสร้างคุกกี้แบบสุ่ม
หากต้องการรับ คุณสามารถไปที่ www.bing.com เข้าสู่ระบบบัญชีที่มีสิทธิ์เข้าถึง จากนั้นเปิดเครื่องมือสำหรับนักพัฒนา (F12) > แท็บแอปพลิเคชัน > ที่เก็บข้อมูล > คุกกี้ ค้นหาคุกกี้ชื่อ _U
และคัดลอกค่าของมัน จากนั้นส่งต่อไปยังตัวสร้าง BingChat ClientOptions
'
มีสาเหตุหลายประการ คุณอาจทำตามขั้นตอนเหล่านี้เพื่อจัดการกับปัญหา
รีเฟรชหน้าเว็บ ยืนยันว่าค่า '_U' เป็นข้อมูลล่าสุดและคัดลอกอย่างถูกต้อง แล้วลองอีกครั้ง
หากคุณใช้พร็อกซี (VPN) ให้ลองตั้งค่าพร็อกซีส่วนกลางแล้วลองอีกครั้ง รหัสมีดังนี้:
HttpClient . DefaultProxy = new WebProxy ( "127.0.0.1:8807" ) ; //Your proxy address and port
ค้นหาคุกกี้อื่นชื่อ 'KievRPSSecAuth' ตั้งค่าแล้วลองอีกครั้ง รหัสมีดังนี้:
var client = new BingChat Client ( new BingChat ClientOptions {
// The "_U" cookie's value
CookieU = strU ,
// The "KievRPSSecAuth" cookie's value
CookieKievRPSSecAuth = strKievRPSSecAuth ,
} ) ;
เปิดเมนูเบราว์เซอร์ > ส่วนขยาย ค้นหา 'Cookie Editor' และติดตั้ง ไปที่หน้าเว็บ Bing Chat และส่งออกคุกกี้ทั้งหมดไปยังไฟล์ในเครื่องในรูปแบบ JSON ตั้งค่าพาธของไฟล์ดังต่อไปนี้ (ไม่จำเป็นต้องใช้ค่า "_U" และ "KievRPSsecAuth" ในขณะนี้):
var client = new BingChat Client ( new BingChat ClientOptions {
// The exported cookie file path
CookieFilePath = strFilePath ,
} ) ;
ขอขอบคุณผู้มีส่วนร่วมในการพัฒนาหรือปรับปรุงห้องสมุดนี้:
หากคุณมีความคิดเห็นเกี่ยวกับโครงการนี้ โปรดเปิดประชาสัมพันธ์และแบ่งปันกับเราได้เลย :D
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT เรา ❤ โอเพ่นซอร์ส!