適用於 Microsoft 全新 AI 驅動的 Bing Chat 的 .NET API 包裝器。
警告過時和維護
目前,該實作與最近的 API 變更不同步,導致頻繁錯誤並觸發驗證碼。該計劃對此進行調查,並將實施與官方 API 用戶端(iOS 應用程式和瀏覽器)保持一致,以減少這些問題或完全緩解這些問題(如果存在這種可能性)。此外,這個儲存庫長期以來缺乏維護者。如果有人想接手,請聯絡我。
警告該庫是非官方的,嚴重依賴逆向工程。使用風險自負。
注意自BingChat公開發布以來,不再需要有效的 cookie。您無需任何身份驗證即可使用此套件。
透過 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(..)
公開豐富的回應對象,以允許詳細存取和控制對話狀態您可以設定自己的 cookie 來與BingChat伺服器交互,而不是產生隨機 cookie。
要取得它,您可以造訪 www.bing.com,登入有存取權限的帳戶,然後開啟開發人員工具 (F12) > 應用程式標籤 > 儲存 > Cookies,找到名為_U
的 cookie,並複製其值。然後將其傳遞給BingChat ClientOptions
的建構子。
原因有多種。您可以按照以下步驟來處理問題。
刷新網頁,確認“_U”值是最新的並且複製正確,然後重試。
如果您使用代理 (VPN),請嘗試設定全域代理,然後重試。程式碼如下:
HttpClient . DefaultProxy = new WebProxy ( "127.0.0.1:8807" ) ; //Your proxy address and port
找到另一個名為「KievRPSSecAuth」的 cookie,設定其值,然後重試。程式碼如下:
var client = new BingChat Client ( new BingChat ClientOptions {
// The "_U" cookie's value
CookieU = strU ,
// The "KievRPSSecAuth" cookie's value
CookieKievRPSSecAuth = strKievRPSSecAuth ,
} ) ;
開啟瀏覽器選單 > 擴充功能。搜尋“Cookie 編輯器”並安裝它。前往 Bing Chat 網頁並將所有 cookie 以 JSON 格式匯出至本機檔案。設定檔案路徑值如下(此時不需要「_U」和「KievRPSSecAuth」值):
var client = new BingChat Client ( new BingChat ClientOptions {
// The exported cookie file path
CookieFilePath = strFilePath ,
} ) ;
感謝這些開發或改進這個函式庫的貢獻者:
如果您對此專案有任何想法,請隨時開啟 PR 並與我們分享:D
該專案已獲得 MIT 許可。我們❤開源!