...
/استراتيجيات التحفيز: قوالب التحفيز
استراتيجيات التحفيز: قوالب التحفيز
تعرف على كيفية تنفيذ قوالب مطالبة LangChain.
سنغطي ما يلي...
يسهل LangChain استخدام القوالب المستقلة عن النموذج، مما يسمح بسهولة استخدام القوالب الموجودة عبر نماذج اللغة المختلفة.
يستخدم قالب PromptTemplate
دالة str.format
في بايثون لآلية إنشاء القوالب: str.format(*args, **kwargs)
. تُستدعى هذه الدالة على سلسلة نصية تحتوي على نص عادي مع حقول بديلة محصورة بين أقواس {}
. يمكن لهذه الحقول تحديد إما الفهرس الرقمي لمتغير موضعي أو اسم متغير كلمة رئيسية. تُنتج هذه الدالة سلسلة نصية جديدة، حيث يُستبدل كل حقل بديل بالتمثيل النصي للمتغير المقابل.
مثال:
print("The sum of 1 + 2 is {0}".format(1+2))
PromptTemplate
نحن نستخدم PromptTemplate
لإنشاء قالب لمطالبة السلسلة.
from langchain_core.prompts import PromptTemplateprompt = "I need you to book a reservation for me tonight at {time} at {place}"prompt_template = PromptTemplate.from_template(prompt)# Print the formatted promptprint(prompt_template.format(time="9:00 PM", place="LaVie restaurant"))
في هذا الكود نقوم بالخطوات التالية:
السطر 1 : نقوم باستيراد
PromptTemplate
من وحدةlangchain_core.prompts
.السطر 3 : يتم تعريف سلسلة المطالبة مع عناصر نائبة للوقت والمكان.
السطر 4 : نقوم بإنشاء مثيل لـ
PromptTemplate
باستخدام طريقة فئةfrom_template
، ونمرر سلسلة المطالبة المحددة مسبقًا.السطران 6 و7 : نستخدم دالة التنسيق الخاصة بكائن قالب
prompt_template
لإدراج تفاصيل محددة في المطالبة. في هذه الحالة، يُستبدل العنصران "time
وplace
" بـ "9:00 مساءً" و"مطعم لافي" على التوالي. يوضح هذا كيفية تخصيص المطالبة ديناميكيًا، ثم نطبعها.
Zero-shot ChatPromptTemplate
يتعامل هذا القالب بشكل فعال مع إنشاء المحتوى المحادثة بشكل ديناميكي، مما يتيح للمطورين بناء روبوتات محادثة ومساعدين ذكاء اصطناعي أكثر جاذبية ووعيًا بالسياق يمكنهم التكيف مع مدخلات المستخدم بسلاسة.