البدء مع الوكلاء في LangChain؟

Albd M Alwkla Fy Langchain



LangChain هو إطار العمل لحل معالجة اللغات الطبيعية لإنشاء تطبيقات أو برامج يمكنها التفاعل والتحدث مع البشر. تم تصميم روبوتات الدردشة أو نماذج اللغات الكبيرة (LLMs) لإنشاء بيئة يمكن أن تكون بمثابة واجهة للدردشة/المحادثة. تتم هذه الدردشات بلغات بشرية تسمى اللغات الطبيعية مثل اللغة الإنجليزية وغيرها بين البشر ونموذج الذكاء الاصطناعي.

مخطط سريع

ستوضح هذه المشاركة ما يلي:







ما هي الوكلاء في معالجة اللغات الطبيعية (NLP)



البدء مع الوكلاء في LangChain



خاتمة





من هم الوكلاء في معالجة اللغات الطبيعية (NLP)؟

الوكلاء هم المكونات الحيوية لتطبيق اللغة الطبيعية ويستخدمون فهم اللغة الطبيعية (NLU) لفهم الاستعلامات. هؤلاء الوكلاء عبارة عن برامج تعمل كقالب محادثة للتفاعل مع البشر باستخدام تسلسل المهام. يستخدم الوكلاء أدوات متعددة يمكن للوكيل استدعاؤها لتنفيذ إجراءات متعددة أو تحديد المهمة التالية المطلوب تنفيذها.

البدء مع الوكلاء في LangChain

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



الخطوة 1: تثبيت الأطر

أولاً، ابدأ عملية تثبيت إطار عمل LangChain باستخدام ' نقطة ' الأمر للحصول على التبعيات المطلوبة لاستخدام الوكلاء:

نقطة تثبيت لانجشين

قم بتثبيت وحدة OpenAI لبناء LLM واستخدمها لتكوين الوكلاء في LangChain:

نقطة تثبيت openai

قم بإعداد البيئة لوحدة OpenAI باستخدام مفتاح API الخاص بها من الحساب عن طريق تشغيل الكود التالي:

يستورد أنت
يستورد com.getpass

أنت . تقريبًا [ 'OPENAI_API_KEY' ] = com.getpass . com.getpass ( 'مفتاح واجهة برمجة تطبيقات OpenAI:' )

الخطوة 2: تكوين نموذج الدردشة

قم باستيراد وحدة ChatOpenAI من LangChain لإنشاء LLM باستخدام وظيفتها:

من com.langchain. chat_models يستورد ChatOpenAI

LLM = ChatOpenAI ( درجة حرارة = 0 )

أدوات الاستيراد للوكيل لتكوين المهام أو الإجراءات التي يتعين على الوكيل تنفيذها. تستخدم التعليمة البرمجية التالية طريقة get_word_length() للحصول على طول الكلمة المقدمة من قبل المستخدم:

من com.langchain. عملاء يستورد أداة

@ أداة

مواطنه get_word_length ( كلمة: شارع ) - > كثافة العمليات :

'''الحصول على طول الكلمة'''

يعود فقط ( كلمة )

أدوات = [ get_word_length ]

قم بتكوين القالب أو البنية لنموذج الدردشة لإنشاء واجهة لإجراء محادثة:

من com.langchain. حث يستورد ChatPromptTemplate , الرسائل النائب

اِسْتَدْعَى = ChatPromptTemplate. from_messages ( [

( 'نظام' , 'مساعدك رائع للغاية، لكنه يحتاج إلى تحسين في حساب الأطوال' ) ,

( 'مستخدم' , '{مدخل}' ) ,

الرسائل النائب ( اسم المتغير = 'agent_scratchpad' ) ,

] )

الخطوة 3: وكيل البناء

قم باستيراد مكتبة الأدوات لبناء LLM باستخدام الأدوات التي تستخدم وظائف OpenAI من وحدة LangChain:

من com.langchain. أدوات . يجعل يستورد format_tool_to_openai_function

llm_with_tools = LLM. ربط (

المهام = [ format_tool_to_openai_function ( ر ) ل ر في أدوات ]

)

قم بتكوين الوكيل باستخدام وكيل وظيفة OpenAI لاستخدام محلل الإخراج لتعيين تسلسل الإجراءات/المهام:

من com.langchain. عملاء . format_scratchpad يستورد format_to_openai_functions

من com.langchain. عملاء . input_parsers يستورد OpenAIFunctionsAgentOutputParser

عامل = {

'مدخل' : لامدا س: س [ 'مدخل' ] ,

'agent_scratchpad' : لامدا x: format_to_openai_functions ( س [ 'خطوات_متوسطة' ] )

} | موجه | llm_with_tools | OpenAIFunctionsAgentOutputParser ( )

الخطوة 4: استدعاء الوكيل

تستخدم الخطوة التالية وظيفة الاستدعاء () لاستدعاء الوكيل باستخدام وسيطات الإدخال والخطوات المتوسطة:

عامل. يستحضر ( {

'مدخل' : 'كم حرف في كلمة الخير' ,

'خطوات_متوسطة' : [ ]

} )

الخطوة 5: تكوين أدوات الوكيل

بعد ذلك، ما عليك سوى استيراد مكتبة AgentFinish لتكوين الخطوات المتوسطة من خلال دمج جميع الخطوات في تسلسل لإكمال النشاط:

من com.langchain. مخطط . عامل يستورد AgentFinish
المتوسطة_الخطوات = [ ]
بينما حقيقي :
انتاج = عامل. يستحضر ( {
'مدخل' : 'حروف في الخير' ,
'خطوات_متوسطة' : خطوات_متوسطة
} )
لو isinstance ( انتاج , AgentFinish ) :
النتيجة النهائية = انتاج. return_values [ 'انتاج' ]
استراحة
آخر :
مطبعة ( انتاج. أداة , انتاج. tool_input )
أداة = {
'get_word_length' : get_word_length
} [ انتاج. أداة ]
ملاحظة = أداة. يجري ( انتاج. tool_input )
المتوسطة_الخطوات. ألحق ( ( انتاج , ملاحظة ) )
مطبعة ( النتيجة النهائية )

الخطوة 6: اختبار الوكيل

الآن، قم بتنفيذ الوكيل عن طريق استدعاء الأسلوب AgentExecutor() بعد استيراد مكتبته من LangChain:

من com.langchain. عملاء يستورد AgentExecutor

agent_executor = AgentExecutor ( عامل = عامل , أدوات = أدوات , مطول = حقيقي )

في النهاية، قم باستدعاء agent_executor باستخدام وسيطة الإدخال لإدخال الاستعلام الخاص بالوكيل:

agent_executor. يستحضر ( { 'مدخل' : 'كم حرف في كلمة الخير' } )

قام الوكيل بعرض إجابة السؤال المقدم في وسيطة الإدخال بعد الانتهاء من السلسلة:

يتعلق الأمر كله بالبدء مع الوكلاء في إطار عمل LangChain.

خاتمة

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