تبديل النماذج وموفري الاستدلال في وقت التشغيل

يمكن للتطبيقات استخدام نماذج من خدمات استدلال مختلفة للتحولات المختلفة للمحادثة. على سبيل المثال، قد يغير التطبيق النماذج استنادا إلى اختيار المستخدم أو قدرات النموذج أو التوفر أو التكلفة.

تغيير وجهة الطلب التالي هو جزء واحد فقط من التوجيه. يحتاج النموذج الجديد أيضا إلى المحادثة السابقة لمتابعة السياق نفسه. تعتمد إمكانية تلقي هذا السياق على مكان تخزين محفوظات الدردشة ومن يتحكم فيها.

يحدد تخزين محفوظات الدردشة إمكانية النقل

تدعم خدمات الاستدلال أساليب مختلفة لحالة المحادثة. تتوقع بعض واجهات برمجة التطبيقات أن يوفر المتصل محفوظات الرسائل ذات الصلة مع كل طلب. تقوم واجهات برمجة التطبيقات الأخرى بتخزين المحادثة في خدمة الاستدلال والسماح للمتصل بمتابعتها عن طريق تمرير معرف.

نموذج المحفوظات مكان تخزين الرسائل ما يرسله المتصل
مدار بواسطة المتصل في الذاكرة التي يتحكم فيها التطبيق أو التخزين الدائم محفوظات الرسائل ذات الصلة بالإضافة إلى أي رسائل جديدة مع كل طلب
إدارة خدمة الاستدلال في التخزين الذي تتحكم فيه خدمة الاستدلال محادثة أو معرف استجابة خاص بالخدمة، بالإضافة إلى أي رسائل جديدة.

تدعم بعض خدمات الاستدلال كلا النهجين من خلال واجهات برمجة التطبيقات أو الخيارات المختلفة. على سبيل المثال، تحتوي استجابات OpenAI على المعلمة store التي يمكنك تعيينها لمحفوظات true الدردشة المدارة بواسطة خدمة الاستدلال، وإلى false للمتصل المدار.

تدعم المحفوظات المدارة بواسطة المتصل التوجيه

عندما يدير المتصل المحفوظات، يكون لديه حق الوصول إلى الرسائل من المنعطفات السابقة. يمكن للموجه تحديد نموذج آخر أو خدمة استدلال أخرى، ويمكن للمتصل إرسال هذه الرسائل مع الطلب التالي.

لا يجب أن يبقى المحفوظات في ذاكرة المعالجة. يمكن أن يأتي من التخزين الدائم المملوك للتطبيق، طالما أن التطبيق يمكنه تحميله وإرساله إلى الخدمة المحددة. يجب أن تدعم الوجهة أيضا محتوى الرسالة والميزات المستخدمة سابقا في المحادثة.

تحد المحفوظات المدارة من خدمة الاستدلال من التوجيه

عندما تدير خدمة الاستدلال المحفوظات، فهي مصدر الحقيقة للمحادثة. عادة ما يحتفظ المتصل بمعرف مبهم بدلا من الرسائل نفسها.

يشير هذا المعرف إلى الحالة التي تحتفظ بها الخدمة الأصلية. يمكن أن يعتمد Access أيضا على الحساب أو المشروع ونقطة النهاية وبيانات الاعتماد المستخدمة لإنشاء المحادثة. لا يمكن لعميل خدمة أخرى استخدام المعرف لاسترداد الرسائل. قد لا يتمكن عميل آخر للخدمة نفسها من الوصول إلى المحادثة إذا كان يستخدم نطاقا مختلفا.

قد تدعم الخدمة تغيير النماذج داخل إحدى المحادثات المخزنة الخاصة بها. هذا السلوك خاص بالخدمة وليس توجيها محمولا. لا يمكن للموجه العام نقل المحادثة من جانب الخدمة إلى موفر آخر دون استرداد الرسائل أو إعادة إنشائها أولا.

سيناريو التوجيه نموذج المحفوظات النتيجة
التبديل بين النماذج من موفر واحد مدار بواسطة المتصل يمكن للمتصل إعادة تشغيل المحفوظات إلى النموذج الجديد. يجب أن يدعم النموذج الجديد أنواع الرسائل والمحتوى المستخدمة في المنعطفات السابقة.
التبديل بين موفري الاستدلال المختلفين مدار بواسطة المتصل يمكن للمتصل إعادة تشغيل المحفوظات إلى الموفر الجديد. يجب أن يقبل الموفر الجديد الأدوار وأنواع المحتويات ورسائل استدعاء الأدوات ورسائل نتائج الأدوات المستخدمة في المنعطفات السابقة.
تغيير النماذج ضمن محادثة واحدة من جانب الخدمة إدارة خدمة الاستدلال يعمل مفتاح التبديل فقط إذا كانت خدمة الاستدلال تسمح للمحادثة الحالية بمتابعة النموذج الجديد. لا يمكن لعميل التوجيه تمكين هذا السلوك.
التبديل إلى خدمة استدلال مختلفة إدارة خدمة الاستدلال لا يمكن للخدمة الجديدة الوصول إلى معرف محادثة الخدمة الأصلية. قم باسترداد الرسائل أو إعادة إنشائها، وابدأ المسار الجديد بمحفوظات مدارة بواسطة المتصل.

لمزيد من المعلومات حول نماذج التخزين هذه، راجع التخزين.

كيفية تنفيذ إطار عمل العامل لتوجيه وقت التشغيل

يمكن أن يوفر إطار عمل العامل المحفوظات المدارة بواسطة المتصل اللازمة للتوجيه المحمول. في نمط التوجيه هذا، يعد موفر محفوظات الدردشة مصدر الحقيقة للمحادثة. يمكنه تخزين الرسائل في جلسة العامل أو في التخزين المملوك للتطبيق.

في إطار عمل العامل، تتضمن المحفوظات التي يديرها المتصل حالة جلسة العمل المحلية وتخزين محفوظات الدردشة المخصصة. تتوافق المحفوظات المدارة بواسطة خدمة الاستدلال مع التخزين المدار بواسطة الخدمة.

بالنسبة إلى ChatClientAgent، يجلس عميل دردشة التوجيه في طبقة عميل الدردشة من مسار العامل. يظل العامل وجلسة العمل الخاصة به كما هي بينما يحدد عميل التوجيه أحد المثيلات المسماة IChatClient المتعددة لكل طلب.

يتبع الطلب الذي تم توجيهه هذا التسلسل:

  1. يقوم موفر محفوظات الدردشة بتحميل محفوظات المحادثات.
  2. يجمع العامل بين المحفوظات وإدخال الدور الحالي.
  3. يحدد عميل التوجيه عميل الدردشة النشط لجلسة العمل.
  4. يتلقى العميل المحدد الطلب الكامل.
  5. يخزن موفر محفوظات الدردشة الرسائل الجديدة بعد التشغيل.

نظرا لأن العميل المحدد يتلقى المحفوظات التي قام الموفر بتحميلها، يمكن للتطبيق تغيير المسارات دون إعادة إنشاء المحادثة يدويا.

يوفر .NET SDK التجربة RoutePersistingRoutingChatClient. قم بتعيين المسار الأولي باستخدام RoutePersistingRoutingChatClientOptions.DefaultRoute، وافحص مسار جلسة العمل باستخدام GetActiveRoute، وقم بتغييره باستخدام SetActiveRoute. إذا لم تقم بتعيين مسار افتراضي، يستخدم العميل المسار الأول المقدم في البناء.

يوجد المزيد من عملاء التوجيه في Microsoft.Extensions.AI التي تسمح بمزيد من استراتيجيات التوجيه.

راجع نموذج التوجيه متعدد النماذج لتنفيذ C# الكامل.

مهم

يجب على كل عميل دردشة مسجل كمسار استخدام المحفوظات المدارة بواسطة المتصل التي يوفرها موفر محفوظات الدردشة. يمكن للموفر تخزين هذه المحفوظات في جلسة العمل أو في التخزين المملوك للتطبيق. لا تسجل مسارا يستخدم محفوظات المحادثات المدارة بواسطة خدمة الاستدلال.

Python الدعم غير متوفر حاليا.

دعم Go غير متوفر حاليا.

الخطوات التالية