البرامج القابلة للتنفيذ ولغة التعبير
اكتشف كيف يسمح لنا إطار عمل LangChain بتنفيذ سلسلة من الاستدعاءات إلى LLMs.
تتضمن عملية حل المشكلات عادةً سلسلة من الخطوات. عند استخدام نماذج التعلم المنطقية، قد تتطلب بعض التطبيقات متطلبات معقدة نسبيًا وسلسلة من الاستدعاءات لتنفيذ عملية ما. وهنا يأتي دور العمليات القابلة للتنفيذ.
ما هو الشيء القابل للتنفيذ؟
في LangChain، تُعدّ Runnables تجريدات قوية تمثل أي وحدة عمل قابلة للاستدعاء. فهي تغلف وتدير مهامًا متنوعة، بما في ذلك استدعاءات LLM، واستعلامات قواعد البيانات، واستدعاءات واجهات برمجة التطبيقات الخارجية.
وهذا يسمح لنا بربط العمليات المتنوعة معًا بشكل متسق وقابل للإدارة، مما يسهل إنشاء سير عمل معقد داخل تطبيقات LangChain.
كانت هذه الوظيفة تُؤدّى سابقًا بواسطة
LLMChainالفئة. مع ذلك، تم إيقاف استخدام تلك الفئة في الإصدار 0.1.17. نستخدم الآن Runnables بدلاً منها.
لقد كنا نستخدم ChatGroqChatModel معinvoke() طريقة لإرسال استعلاماتنا إلى النموذج. فئة نموذج الدردشة هي نوع من المكونات القابلة للتنفيذ. تستخدم المكونات القابلة للتنفيذ واجهة قابلة للتنفيذ تُمكّنها من العمل باستمرار. طرق مثلinvoke() ،batch() ، وstream() وهي مشتركة بين جميع المكونات القابلة للتشغيل.
invoke()يقوم بمعالجة إدخال واحد وإرجاع إخراج واحد، وهو مثالي للطلبات الفردية.batch()يسمح لنا بمعالجة قائمة من المدخلات في وقت واحد وإرجاع قائمة من المخرجات المقابلة، وهو أمر أكثر كفاءة بكثير للتعامل مع طلبات متعددة في وقت واحد.stream()يقوم بمعالجة إدخال واحد ولكنه يعيد إخراج على شكل سلسلة من الأجزاء، وهو أمر مفيد لعرض التقدم في الوقت الفعلي أو التعامل مع المخرجات الكبيرة جدًا.
حتى الآن، استخدمناPrompt ،ChatModel ، وOutputParser هذه كلها أنواع من العمليات القابلة للتنفيذ. إذا كنت منتبهاً، فربما لاحظت أننا كنا نستخدم إخراج أحد المكونات كمدخلات إدخال آخر.
ال
PromptValueإخراج منPromptTemplateتم تمريرها إدخال إلىChatModel. ...