غلاف .NET API لـ Bing Chat الجديد المدعوم بالذكاء الاصطناعي من Microsoft.
تحذير خارج التاريخ والصيانة
في الوقت الحالي، التنفيذ غير متزامن مع تغييرات واجهة برمجة التطبيقات (API) الأخيرة، مما يؤدي إلى حدوث أخطاء متكررة وتشغيل اختبار التحقق. ومن المخطط التحقيق في هذا الأمر ومواءمة التنفيذ مع عملاء واجهة برمجة التطبيقات (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
ثم ابدأ سطر الأوامر:
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 ,
} ) ;
افتح قائمة المتصفح > الامتدادات. ابحث عن "محرر ملفات تعريف الارتباط" وقم بتثبيته. انتقل إلى صفحة ويب Bing Chat وقم بتصدير جميع ملفات تعريف الارتباط إلى ملف محلي بتنسيق JSON. قم بتعيين قيمة مسار الملف على النحو التالي (ليست هناك حاجة إلى القيمة "_U" و"KievRPSSecAuth" في هذا الوقت):
var client = new BingChat Client ( new BingChat ClientOptions {
// The exported cookie file path
CookieFilePath = strFilePath ,
} ) ;
شكرًا لهؤلاء المساهمين في تطوير هذه المكتبة أو تحسينها:
إذا كان لديك أي فكرة عن هذا المشروع، فلا تتردد في فتح ملف العلاقات العامة ومشاركتها معنا:D
هذا المشروع مرخص بموجب ترخيص MIT. نحن ❤ مفتوح المصدر!