...

/

البرامج القابلة للتنفيذ ولغة التعبير

البرامج القابلة للتنفيذ ولغة التعبير

اكتشف كيف يسمح لنا إطار عمل LangChain بتنفيذ سلسلة من المكالمات إلى LLMs.

سنغطي ما يلي...

عادةً ما يتضمن حل المشكلات سلسلة من الخطوات. عند استخدام برامج إدارة قواعد البيانات (LLMs)، تتطلب بعض التطبيقات متطلبات معقدة نسبيًا وسلسلة من الاستدعاءات لتنفيذ عملية ما. وهنا يأتي دور البرامج القابلة للتنفيذ.

تم تنفيذ هذه الوظيفة مسبقًا بواسطةLLMChain الفئة؛ مع ذلك، تم إيقاف استخدامها في الإصدار 0.1.17. نستخدم الآن runnable بدلاً منها.

ما هو runnable؟

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

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

لقد كنا نستخدم ChatGroqChatModel معinvoke() طريقة لإرسال استعلاماتنا إلى النموذج. فئة نموذج الدردشة هي نوع من المكونات القابلة للتشغيل. تستخدم المكونات القابلة للتشغيل واجهة قابلة للتشغيل تُمكّنها من العمل باستمرار. طرق مثلinvoke() ،batch() ، وstream() تعتبر مشتركة لجميع المكونات القابلة للتشغيل.

  • invoke() تعمل على معالجة إدخال واحد وإرجاع إخراج واحد، وهو أمر مثالي للطلبات الفردية.

  • batch () يتيح لنا معالجة قائمة من المدخلات في وقت واحد وإرجاع قائمة بالمخرجات المقابلة، وهو ما يعد أكثر كفاءة للتعامل مع طلبات متعددة في وقت واحد.

  • stream() تعالج إدخال واحدًا ولكنها ترجع إخراج كتدفق من الأجزاء، وهو أمر مفيد لعرض التقدم في الوقت الفعلي أو التعامل مع مخرجات كبيرة جدًا.

حتى الآن، لقد استخدمناPrompt ،ChatModel ، وOutputParser هذه جميعها أنواع من البرامج القابلة للتنفيذ. لو كنت منتبهًا، لربما لاحظت أننا نستخدم إخراج أحد المكونات إدخال لمكون آخر.

  1. الPromptValue إخراج منPromptTemplate تم تمريرها إدخال إلى ...