كيفية استخدام التحديد حسب الحد الأقصى للملاءمة الهامشية (MMR) في LangChain؟

Kyfyt Astkhdam Althdyd Hsb Alhd Alaqsy Llmla Mt Alhamshyt Mmr Fy Langchain



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

سيوضح هذا الدليل عملية استخدام محدد المثال المحدد بواسطة الحد الأقصى للملاءمة الهامشية في LangChain.

كيفية استخدام التحديد حسب الحد الأقصى للملاءمة الهامشية (MMR) في LangChain؟

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







للتعرف على عملية استخدام محدد مثال MMR في LangChain، ما عليك سوى اتباع الخطوات المذكورة:



الخطوة 1: تثبيت الوحدات



ابدأ العملية بتثبيت تبعيات LangChain باستخدام الأمر pip:





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

قم بتثبيت وحدة OpenAI لاستخدام بيئتها لتطبيق طريقة OpenAIEmbedding():



نقطة تثبيت openai

قم بتثبيت إطار عمل FAISS الذي يمكن استخدامه للحصول على المخرجات باستخدام التشابه الدلالي:

نقطة تثبيت faiss-GPU

الآن، قم بتثبيت tiktoken tokenizer لتقسيم النص إلى أجزاء أصغر باستخدام الكود التالي:

نقطة تثبيت tiktoken

الخطوة 2: استخدام المكتبات والأمثلة

الخطوة التالية هي استيراد المكتبات لإنشاء محدد أمثلة MMR، وFAISS، وOpenAIEmbeddings، وPromptTemplate. بعد استيراد المكتبات، ما عليك سوى إنشاء مجموعة أمثلة توفر المدخلات والمخرجات للمدخلات الخاصة بها في صفائف متعددة:

من com.langchain. حث . example_selector يستورد (
MaxMarginalRelevanceExampleSelector ,
التشابه الدلالي مثال محدد ,
)
من com.langchain. com.vectorstores يستورد فايس
من com.langchain. التضمينات يستورد OpenAIEmbeddings
من com.langchain. حث يستورد FewShotPromptTemplate , قالب موجه

example_prompt = قالب موجه (
input_variables = [ 'مدخل' , 'انتاج' ] ,
نموذج = 'الإدخال: {الإدخال} الإخراج: {الإخراج}' ,
)

أمثلة = [
{ 'مدخل' : 'سعيد' , 'انتاج' : 'حزين' } ,
{ 'مدخل' : 'طويل' , 'انتاج' : 'قصير' } ,
{ 'مدخل' : 'نشيط' , 'انتاج' : 'خامل' } ,
{ 'مدخل' : 'مشمس' , 'انتاج' : 'كئيب' } ,
{ 'مدخل' : 'عاصف' , 'انتاج' : 'هادئ' } ,
]

الخطوة 3: بناء محدد المثال

الآن، ابدأ في إنشاء محدد مثال MMR باستخدام طريقة MaxMarginalRelevanceExampleSelector() التي تحتوي على معلمات مختلفة:

example_selector = MaxMarginalRelevanceExampleSelector. from_examples (
أمثلة ,
OpenAIEmbeddings ( ) ,
فايس ,
ك = 2 ,
)
mmr_prompt = FewShotPromptTemplate (
example_selector = example_selector ,
example_prompt = example_prompt ,
بادئة = 'أعط متناقضًا لكل إدخال' ,
لاحقة = 'الإدخال: {صفة} انتاج:' ,
input_variables = [ 'صفة' ] ,
)

الخطوة 4: اختبار محدد مثال MMR

اختبر محدد مثال الحد الأقصى للملاءمة الهامشية لـ MMR عن طريق استدعائه في طريقة الطباعة () مع الإدخال:

مطبعة ( mmr_prompt. شكل ( صفة = 'قلق' ) )

الخطوة 5: استخدام التشابه الدلالي

تستخدم هذه الخطوة طريقة SemanticSimilarityExampleSelector() ثم تستخدم طريقة FewShotPromptTemplate() المدعومة بواسطة LangChain:

example_selector = التشابه الدلالي مثال محدد. from_examples (
أمثلة ,
OpenAIEmbeddings ( ) ,
فايس ,
ك = 2 ,
)
مماثلة_مطالبة = FewShotPromptTemplate (
example_selector = example_selector ,
example_prompt = example_prompt ,
بادئة = 'أعط متناقضًا لكل إدخال' ,
لاحقة = 'الإدخال: {صفة} انتاج:' ,
input_variables = [ 'صفة' ] ,
)
مطبعة ( مماثلة_مطالبة. شكل ( صفة = 'قلق' ) )

يتعلق الأمر كله باستخدام التحديد حسب الحد الأقصى للملاءمة الهامشية أو MMR في LangChain.

خاتمة

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