يوضح هذا المنشور طريقة استخدام وظائف وفئات محلل الإخراج من خلال إطار عمل LangChain.
كيفية استخدام محلل الإخراج من خلال LangChain؟
محللو الإخراج هم المخرجات والفئات التي يمكن أن تساعد في الحصول على المخرجات المنظمة من النموذج. للتعرف على عملية استخدام موزعي الإخراج في LangChain، ما عليك سوى اتباع الخطوات المذكورة:
الخطوة 1: تثبيت الوحدات
أولاً، ابدأ عملية استخدام موزعي المخرجات عن طريق تثبيت وحدة LangChain مع تبعياتها لمتابعة العملية:
نقطة ثَبَّتَ com.langchain
بعد ذلك، قم بتثبيت وحدة OpenAI لاستخدام مكتباتها مثل OpenAI وChatOpenAI:
نقطة ثَبَّتَ openai
الآن، قم بإعداد بيئة OpenAI باستخدام مفتاح API من حساب OpenAI:
استيراد لنا
استيراد getpass
os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'مفتاح واجهة برمجة تطبيقات OpenAI:' )
الخطوة 2: استيراد المكتبات
الخطوة التالية هي استيراد المكتبات من LangChain لاستخدام موزعي الإخراج في الإطار:
من langchain.prompts قم باستيراد HumanMessagePromptTemplate
من حقل الاستيراد pydantic
من langchain.prompts قم باستيراد ChatPromptTemplate
من langchain.output_parsers قم باستيراد PydanticOutputParser
من استيراد BaseModel
من مدقق الاستيراد Pydantic
من langchain.chat_models قم باستيراد ChatOpenAI
من langchain.llms قم باستيراد OpenAI
من كتابة قائمة الاستيراد
الخطوة 3: بناء هيكل البيانات
يعد بناء هيكل المخرجات تطبيقًا حيويًا لموزعي المخرجات في نماذج اللغات الكبيرة. قبل الوصول إلى بنية بيانات النماذج، يلزم تحديد اسم النموذج الذي نستخدمه للحصول على المخرجات المنظمة من موزعي المخرجات:
درجة الحرارة = 0.0
النموذج = OpenAI ( اسم النموذج =model_name، درجة حرارة =درجة الحرارة )
الآن، استخدم فئة Joke التي تحتوي على BaseModel لتكوين بنية الإخراج للحصول على النكتة من النموذج. بعد ذلك، يمكن للمستخدم إضافة منطق التحقق المخصص بسهولة باستخدام فئة pydantic التي يمكن أن تطلب من المستخدم وضع استعلام/مطالبة بشكل أفضل:
نكتة الطبقة ( نموذج القاعدة ) :الإعداد: str = Field ( وصف = 'الاستعلام لعرض نكتة' )
punchline: str = Field ( وصف = 'الرد على الاستفسار بمزحة' )
# التحقق من صحة الاستعلام حيث يحتاج النموذج إلى فهمه بشكل صحيح
@ مدقق ( 'يثبت' )
def question_ends_with_question_mark ( كلس، الحقل ) :
لو مجال [ - 1 ] ! = '؟' :
رفع قيمة الخطأ ( 'سؤال تم صياغته بشكل سيء!' )
يعود مجال
الخطوة 4: إعداد قالب المطالبة
قم بتكوين متغير المحلل اللغوي الذي يحتوي على طريقة PydanticOutputParser() التي تحتوي على معلماته:
بعد تكوين المحلل اللغوي، ما عليك سوى تحديد متغير الموجه باستخدام طريقة PromptTemplate() مع بنية الاستعلام/الموجه:
موجه = PromptTemplate (نموذج = 'الإجابة على استعلام المستخدم. \ن {تنسيق_تعليمات} \ن {استفسار} \ن ' ,
input_variables = [ 'استفسار' ] ,
Part_variables = { 'تنسيق_تعليمات' : parser.get_format_instructions ( ) }
)
الخطوة 5: اختبار محلل الإخراج
بعد تكوين جميع المتطلبات، قم بإنشاء متغير يتم تعيينه باستخدام استعلام ثم قم باستدعاء الأسلوب format_prompt() :
_input = موجه.format_prompt ( استفسار =joke_query )
الآن، قم باستدعاء الدالة model() لتحديد متغير الإخراج:
الإخراج = النموذج ( _input.to_string ( ) )أكمل عملية الاختبار عن طريق استدعاء الأسلوب parser() مع متغير الإخراج كمعلمة له:
parser.parse ( انتاج )
هذا كل ما يتعلق بعملية استخدام محلل الإخراج في LangChain.
خاتمة
لاستخدام محلل الإخراج في LangChain، قم بتثبيت الوحدات وإعداد بيئة OpenAI باستخدام مفتاح API الخاص بها. بعد ذلك، حدد النموذج ثم قم بتكوين بنية بيانات الإخراج مع التحقق المنطقي من الاستعلام المقدم من قبل المستخدم. بمجرد تكوين بنية البيانات، ما عليك سوى تعيين قالب المطالبة، ثم اختبار محلل الإخراج للحصول على النتيجة من النموذج. يوضح هذا الدليل عملية استخدام محلل الإخراج في إطار عمل LangChain.