التكامل مع LangChain

يمكن أيضا استخدام تدفق المطالبة مع مكتبة LangChain python، وهو إطار عمل لتطوير التطبيقات التي تعمل ب LLMs والوكلاء وأدوات التبعية. في هذا المستند، سنوضح لك كيفية شحن تطوير LangChain بشكل زائد على تدفق المطالبة.

لقطة شاشة للتدفقات مع مكتبة LangChain python.

نقدم الأقسام التالية:

فوائد تكامل LangChain

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

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

كيفية تحويل التعليمات البرمجية LangChain إلى تدفق

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

المتطلبات الأساسية للبيئة وجلسة الحساب

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

تحويل بيانات الاعتماد إلى اتصال تدفق المطالبة

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

لقطة شاشة لمثال Azure OpenAI في LangChain.

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

إنشاء اتصال

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

  1. انتقل إلى تدفق المطالبة في مساحة العمل الخاصة بك، ثم انتقل إلى علامة تبويب الاتصالات .
  2. حدد إنشاء وحدد نوع اتصال لتخزين بيانات الاعتماد الخاصة بك. (خذ اتصالا مخصصا كمثال) لقطة شاشة للتدفقات في علامة تبويب الاتصالات التي تسلط الضوء على الزر المخصص في القائمة المنسدلة إنشاء.
  3. في اللوحة اليمنى، يمكنك تحديد اسم الاتصال الخاص بك، ويمكنك إضافة أزواج متعددة لقيمة المفتاح لتخزين بيانات الاعتماد والمفاتيح الخاصة بك عن طريق تحديد Add key-value pairs. لقطة شاشة لإضافة نقطة اتصال مخصصة إلى زر إضافة أزواج قيمة المفتاح.

إشعار

  • يمكنك تعيين زوج واحد من Key-Value كبيانات سرية بواسطة يتم التحقق من السر ، والذي سيتم تشفيره وتخزينه في قيمة المفتاح الخاصة بك.
  • تأكد من تعيين زوج واحد على الأقل من قيم المفاتيح كبيانات سرية، وإلا فلن يتم إنشاء الاتصال بنجاح.

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

تحويل التعليمات البرمجية LangChain إلى تدفق قابل للتشغيل

يمكن تشغيل جميع التعليمات البرمجية LangChain مباشرة في أدوات Python في التدفق الخاص بك طالما أن جلسة الحساب الخاصة بك تحتوي على حزم التبعية، يمكنك بسهولة تحويل التعليمات البرمجية LangChain الخاصة بك إلى تدفق باتباع الخطوات أدناه.

تحويل التعليمات البرمجية LangChain إلى بنية التدفق

إشعار

هناك طريقتان لتحويل التعليمات البرمجية LangChain إلى تدفق.

  • لتبسيط عملية التحويل، يمكنك تهيئة نموذج LLM مباشرة لاستدعاء في عقدة Python باستخدام مكتبة LLM المتكاملة LangChain.
  • نهج آخر هو تحويل استهلاك LLM الخاص بك من التعليمات البرمجية LangChain إلى أدوات LLM الخاصة بنا في التدفق، لمزيد من الإدارة التجريبية.

للتحويل السريع للتعليمات البرمجية LangChain إلى تدفق، نوصي بنوعين من بنيات التدفق، استنادا إلى حالة الاستخدام:

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

على سبيل المثال، يكون النوع A flow من المخطط كما يلي:

لقطة شاشة للتدفقات التي تسلط الضوء على زر المطالبة وقالب النظام.

لقطة شاشة لقالب النظام تعرض المتغير الأول والصفر مع تمييز زر الضبط النهائي.

في حين أن نوع تدفق B سيبدو كما يلي:

لقطة شاشة للتدفقات التي تعرض عقدة التعليمات البرمجية LangChain والرسم البياني.

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

تكوين الاتصال والإخراج والإخراج

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

تكوين الاتصال

لاستخدام اتصال يحل محل متغيرات البيئة التي حددتها في الأصل في التعليمات البرمجية LangChain، تحتاج إلى استيراد مكتبة promptflow.connections اتصال promptflow في عقدة python.

على سبيل المثال:

إذا كان لديك رمز LangChain الذي يستهلك نموذج AzureOpenAI، يمكنك استبدال متغيرات البيئة بالمفتاح المقابل في اتصال Azure OpenAI:

استيراد مكتبة from promptflow.connections import AzureOpenAIConnection

لقطة شاشة لرمز LangChain في تدفق المطالبة.

للاتصال المخصص، تحتاج إلى اتباع الخطوات التالية:

  1. استيراد مكتبة from promptflow.connections import CustomConnection، وتعريف معلمة إدخال من النوع CustomConnection في وظيفة الأداة. لقطة شاشة لعقدة سلسلة بحث المستند التي تسلط الضوء على الاتصال المخصص.
  2. تحليل الإدخال إلى قسم الإدخال، ثم حدد الاتصال المخصص المستهدف في القائمة المنسدلة للقيمة. لقطة شاشة لعقدة السلسلة التي تبرز الاتصال.
  3. استبدل متغيرات البيئة التي حددت المفتاح وبيانات الاعتماد في الأصل بالمفتاح المقابل المضاف في الاتصال.
  4. احفظ وارجع إلى صفحة التأليف، وقم بتكوين معلمة الاتصال في إدخال العقدة.

تكوين الإدخال والإخراج

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

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