مقدمة

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

ميزات LangChain:

  • LLM وPrompt: يجرد LangChain جميع واجهات برمجة التطبيقات الخاصة بنماذج لغة كبيرة، ويوحد واجهة برمجة التطبيقات للنماذج الكبيرة، ويوفر آلية إدارة قوالب المواعظ.
  • سلسلة (Chain): يغلف LangChain بعض السيناريوهات الشائعة في وحدات جاهزة، مثل أنظمة الإجابة على الأسئلة المعتمدة على السياق، وتوليد اللغة الطبيعية لاستعلامات SQL، وما إلى ذلك، ويُسمى "سلسلة" لأن عملية تنفيذ هذه المهام تشبه تدفق العمل، يُنفذ خطوة بخطوة.
  • لغة تعبير LangChain (LCEL): هي ميزة النسخة الجديدة من LangChain، وتُستخدم لحل مشاكل تنسيق سير العمل. من خلال تعابير LCEL، يمكننا تخصيص تدفق معالجة المهمة الذكية بشكل مرن، أي تخصيص "السلسلة" بشكل مرن.
  • استرجاع التوليف للتوليف التوليف المعزز (RAG): نظرًا لعدم فهم النماذج اللغوية الكبيرة (LLMs) للمعلومات الجديدة وعدم قدرتها على الإجابة على أسئلة جديدة، يمكننا استيراد معلومات جديدة إلى LLM لتعزيز جودة المحتوى المولى. يُطلق على هذا الوضع وضع RAG (استرجاع التوليف للتوليف المعزز).
  • الوكلاء Agents: نمط تصميم يعتمد على نماذج لغة كبيرة (LLMs) التي تستخدم فهم اللغة الطبيعية وقدرات الاستدلال لدى LLM (بمثابة الدماغ) لاستدعاء الأنظمة الخارجية والأجهزة معًا تلقائيًا لإكمال المهام بناءً على متطلبات المستخدم. على سبيل المثال، عندما يدخل المستخدم عبارة "خذ يوم إجازة غدًا"، يستدعي نموذج لغة كبير (LLM) تلقائيًا نظام الإجازات ويبدأ في تقديم طلب إجازة.
  • ذاكرة النموذج Model Memory: تسمح لنموذج اللغة الكبير (LLM) بتذكر محتوى المحادثات السابقة، وهي قدرة تُعرف بذاكرة النموذج.

مكونات إطار LangChain

مكونات إطار LangChain

يتكون إطار LangChain من العديد من المكونات، بما في ذلك:

  • مكتبة LangChain: مكتبات Python وJavaScript. تتضمن الأساس الزمني للواجهات ودمج مختلف المكونات، بالإضافة إلى تنفيذ السلاسل الجاهزة والوكلاء.
  • قوالب LangChain: قوالب المهام الذكية الرسمية المقدمة من قبل LangChain.
  • LangServe: بناءً على FastAPI، يمكنه نشر السلاسل المعرفة بواسطة LangChain كواجهات برمجة التطبيقات الخارجية (REST APIs).
  • LangSmith: منصة تطوير، هي خدمة سحابية تدعم تصحيح الأخطاء ومراقبة المهام الذكية.

مكتبة LangChain (المكتبات)

تتألف مكتبة LangChain نفسها من عدة حزم مختلفة.

  • langchain-core: تجريدات أساسية ولغة التعبير LangChain.
  • langchain-community: تكاملات الأطراف الثالثة، تتضمن بشكل رئيسي المكونات من الأطراف الثالثة المدمجة مع LangChain.
  • langchain: تتضمن بشكل رئيسي السلاسل، والوكلاء، واستراتيجيات الاسترجاع.

تدفق معالجة مهام LangChain

كما هو موضح في الصورة أعلاه، يوفر LangChain مجموعة أدوات تدفق إدارة القوالب للتعامل مع المواعظ. ثم ينقل المواعظ إلى النموذج الكبير للمعالجة، وأخيرًا يعالج النتائج التي يعيداها النموذج الكبير.

يتضمن تغليف LangChain للنموذج الكبير بشكل رئيسي نوعين: LLM و Chat Model.

  • LLM - نموذج الإجابة على الأسئلة الذي يستقبل إدخالًا نصيًا ويُرجع نتيجة نصية.
  • Chat Model - نموذج حواري يستقبل مجموعة من رسائل الحوار ويُرجع رسائل حوار بطريقة محادثة.

المفاهيم الأساسية

1. نماذج لغة كبيرة (LLMs)

النماذج الأساسية التي يُغلفها LangChain والتي تستقبل إدخالًا نصيًا وتُرجع نتيجة نصية.

2. نماذج الحوار

نماذج الحوار (أو نماذج المحادثة) المصممة خصيصًا لسيناريوهات الحوار، على عكس النماذج الأساسية. يمكن لهذه النماذج استقبال مجموعة من رسائل الحوار وإرجاع رسائل حوار بشكل محادثة.

3. الرسائل

تشير إلى محتوى الرسائل في نماذج الحوار. تشمل أنواع الرسائل رسالة بشرية، رسالة ذكاء اصطناعي، رسالة النظام، رسالة وظيفية، ورسالة أداة، وغيرها.

4. المواعظ

تُغلف LangChain مجموعة من الأدوات المستخدمة خصيصًا لإدارة المواعظ، مما يجعل من السهل علينا تنسيق محتويات المواعظ.

5. محللي الإخراج

كما ذكر في الصورة أعلاه، بعد أن يستقبل LangChain محتوى النص الذي يُعيده النموذج الكبير (LLM)، يمكنه استخدام محللي الإخراج المخصصة لتنسيق محتوى النص، مثل تحليل JSON أو تحويل إخراج LLM إلى كائن Python.

5. الحاصلون

لتسهيل استيراد البيانات الخاصة إلى النموذج الكبير (LLM) وتحسين جودة استجابات النموذج، تقوم لانغتشين بتجميع إطار عمل استرجاع (الحاصلون) الذي يسهل التحميل والشريحة والتخزين واسترجاع بيانات المستند.

6. متاجر النواقل

لدعم البحث عن الشبه الدلالي للبيانات الخاصة، تدعم لانغتشين مجموعة متنوعة من قواعد البيانات الناقلة.

7. الوكلاء

الوكلاء، والمشار إليها عادة بتطبيقات مصممة مع النموذج الكبير (LLM) كمحرك للقرار، تقوم بالاتصال تلقائيًا بالأنظمة الخارجية وأجهزة الأجهزة لإكمال مهام المستخدم استنادًا إلى إدخال المستخدم. إنه نمط تصميم بالنموذج الكبير (LLM) في صميمه.

سيناريوهات التطبيق

  • الروبوتات الدردشة: بناء مساعدي الدردشة الذكية، وروبوتات خدمة العملاء، وروبوتات الدردشة الحوارية.
  • قاعدة المعرفة للأسئلة والأجوبة: توفير خدمات الإجابة على الأسئلة في المجال العمومي عبر التكامل مع الرسوم البيانية للمعرفة.
  • الكتابة الذكية: مثل كتابة المقالات، والكتابة الإبداعية، وتلخيص النصوص.