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 にメッセージを送信し、チャット AI から応答を取得します。
このメソッドはワンショットの会話を作成し、完了するとそれを破棄します。同じコンテキスト (Web インターフェイスでの動作と同様) でチャットを続けたい場合は、共有会話を作成する必要があります。
// 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) > [アプリケーション] タブ > [ストレージ] > [Cookie] を開き、 _U
という名前の Cookie を見つけて、その値をコピーします。次に、それをBingChat ClientOptions
' コンストラクターに渡します。
理由は複数あります。次の手順に従って問題を処理できます。
Web ページを更新し、「_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 Editor」を検索してインストールします。 Bing Chat Web ページに移動し、すべての Cookie を JSON 形式でローカル ファイルにエクスポートします。ファイル パス値を次のように設定します (「_U」および「KievRPSSecAuth」値は現時点では必要ありません)。
var client = new BingChat Client ( new BingChat ClientOptions {
// The exported cookie file path
CookieFilePath = strFilePath ,
} ) ;
このライブラリの開発または改善に貢献してくれたこれらの貢献者に感謝します。
このプロジェクトについて何かアイデアがあれば、お気軽に PR を開いて私たちと共有してください :D
このプロジェクトは MIT ライセンスに基づいてライセンスされています。私たちは❤オープンソースです!