LangChain
LangChain إطار عمل مفتوح المصدر لبناء تطبيقات ووكلاء نماذج LLM من نماذج وأدوات ومسترجعات وبرمجيات وسيطة قابلة للتبديل.
LangChain إطار مفتوح المصدر لبناء التطبيقات ووكلاء الذكاء الاصطناعي بالاعتماد على النماذج اللغوية الكبيرة (LLMs). ويوفر واجهة موحدة لكل مزوّد نموذج للتعامل مع الرسائل والنماذج الحوارية والأدوات وأدوات الاسترجاع، ما يتيح للتطبيق الانتقال من نموذج مزوّد إلى نموذج مزوّد آخر بتغيير اسم النموذج، كما يوفّر حلقات وكلاء جاهزة ومئات عمليات التكامل مع مخازن المتجهات ومحمّلات المستندات وواجهات API. أطلق Harrison Chase إطار LangChain بوصفه مشروع Python مفتوح المصدر في أكتوبر 2022، قبل أسابيع من إطلاق ChatGPT، وأصبح من أكثر مجموعات الأدوات استخدامًا لربط المطالبات والاسترجاع واستدعاءات النماذج في تطبيقات الذكاء الاصطناعي التوليدي. وصدر LangChain 1.0 وLangGraph 1.0 معًا في 22 أكتوبر 2025، مع التزام بعدم إجراء تغييرات تكسر التوافق حتى الإصدار 2.0.
منظومة LangChain#
يشمل الاسم الآن مجموعة من الحزم المتاحة بلغتي Python وJavaScript:
- langchain: إطار الوكلاء، الذي يتمحور حول
create_agent، ويأخذ نموذجًا وقائمة أدوات ومطالبة نظام، ثم يعيد وكيلًا جاهزًا للعمل. - langchain-core وعمليات التكامل: واجهات معيارية للنماذج الحوارية والرسائل والتضمينات وأدوات الاسترجاع والأدوات، إلى جانب حزم مزوّدين مثل langchain-openai وlangchain-anthropic التي تنفذ هذه الواجهات.
- LangGraph: بيئة التشغيل منخفضة المستوى التي تعمل عليها وكلاء LangChain. تمثّل البرنامج كرسم بياني من الخطوات التي تعمل على حالة مشتركة، ويمكنها حفظ نقطة تحقق لتلك الحالة بعد كل خطوة، ما يتيح للمهام الطويلة مواصلة العمل بعد إعادة التشغيل والتوقف مؤقتًا طلبًا لموافقة بشرية.
- LangSmith: منصة مستضافة لتتبّع قابلية الرصد وتقييم الوكلاء على مجموعات البيانات ونشر الوكلاء.
كانت تطبيقات LangChain التقليدية سلاسل تتألف من قالب مطالبة يُملأ بمُدخلات المستخدم، واستدعاء نموذج، ومحلّل للمخرجات، وتُركّب باستخدام صياغة الأنابيب كما في ربط المطالبات. وأكثر السلاسل شيوعًا هي التوليد المعزّز بالاسترجاع (RAG)، الذي يحمّل المستندات ويقسّمها إلى أجزاء، ويخزّن تضميناتها في قاعدة بيانات متجهية، ثم يضيف إلى نافذة سياق النموذج الأجزاء الأكثر تطابقًا مع كل سؤال.
آلية عمل وكيل LangChain#
يكرّر الوكيل المبني باستخدام create_agent حلقةً من استدعاءات النموذج والأدوات، وهي حلقة استدعاء الدوال نفسها التي تشغّلها كل بيئة تشغيل للوكلاء. وتتدخل البرمجيات الوسيطة في كل خطوة لتغيير ما يحدث حول النموذج: إذ تلخّص البرمجيات الوسيطة المدمجة السجلات الطويلة، وتحجب البيانات الشخصية، وتتوقف لطلب موافقة بشرية قبل تشغيل أدوات محددة.
إضافة الرؤية إلى وكيل LangChain#
يحوّل المُزيّن @tool في LangChain دالة Python إلى أداة، إذ يقرأ أنواع الوسائط من توقيعها والوصف من سلسلة التوثيق الخاصة بها. ويمنح تغليف Ultralytics YOLO26 بهذه الطريقة الوكيلَ إمكانية اكتشاف الكائنات، مع إرجاع Results.summary() اسم فئة كل اكتشاف ودرجة الثقة والمربع بوصفها بيانات يستطيع النموذج قراءتها:
from langchain_core.tools import tool
from langchain_core.utils.function_calling import convert_to_openai_tool
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
@tool
def detect_objects(image_url: str) -> list[dict]:
"""Detect objects in an image and return each one's class name, confidence, and box."""
results = model(image_url)
return results[0].summary()
# المخطط الذي يستنتجه LangChain من التوقيع وسلسلة التوثيق، بالشكل الذي يتلقاه النموذج
print(convert_to_openai_tool(detect_objects))
# يشغّل الوكيل الأداة باستخدام الوسائط الواردة في استدعاء الأداة من النموذج
detections = detect_objects.invoke({"image_url": "https://ultralytics.com/images/bus.jpg"})
print(detections[0]["name"], detections[0]["confidence"])يوضح الإخراج الأول تعريف الدالة، مع وسيط سلسلة image_url وسلسلة التوثيق بوصفها وصفًا، وهو ما يرسله LangChain إلى النموذج؛ أما الثاني فيعرض أول اكتشاف تُرجعه الأداة. يتيح تمرير tools=[detect_objects] إلى create_agent لأي نموذج محادثة مدعوم استدعاء الكاشف عبر وضع التنبؤ.
مقارنة LangChain بالأدوات ذات الصلة#
- مسارات العمل الوكيلة: أنماط التصميم العامة، مثل التوجيه واستخدام الأدوات وحلقات التقييم، التي تنفذها رسوم LangGraph ووكلاء LangChain.
- حِزم تطوير البرمجيات لمزوّدي النماذج: لا يتطلب استدعاء API الخاص بمزوّد نموذج مباشرةً أي إطار، وهو مناسب للتطبيقات التي تستخدم نموذجًا واحدًا. ويضيف LangChain الواجهات المشتركة وعمليات التكامل وحلقة الوكيل، وهي مزايا مهمة عندما يستخدم التطبيق عدة نماذج أو أدوات أو مصادر بيانات.
- DSPy: إطار يكتب مطالبات برنامج لغوي كبير متعدد الخطوات ويحسّنها تلقائيًا، مع ضبطها استنادًا إلى مقياس على بيانات أمثلة.
- LlamaIndex: إطار يركّز على استيعاب البيانات الخاصة وفهرستها والاستعلام عنها لأغراض RAG. ويتداخل الإطاران، وغالبًا ما تستخدم التطبيقات LlamaIndex للاسترجاع داخل وكيل LangChain أو LangGraph.










