الذكاء الاصطناعي

LangChain vs LangGraph vs LangSmith vs LangFlow

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

لمحة سريعة عن النظام البيئي LangChain

لنبدأ بإلقاء نظرة سريعة على الأدوات الرئيسية.

  • لانجشين: هذا هو الإطار الأساسي. فهو يوفر لك العناصر الأساسية لتطبيقات LLM. اعتبره كتالوجًا للأجزاء. وهي تشتمل على نماذج وقوالب سريعة وواجهات بسيطة لموصل البيانات. يعتمد النظام البيئي LangChain بأكمله على LangChain.
  • لانغغراف: هذه مكتبة إنشاءات وكيل معقدة ومؤثرة. في حين أن LangChain جيد مع السلاسل البسيطة، مع LangGraph، يمكنك إنشاء حلقات وفروع وسير عمل متعدد الخطوات. يعد LangGraph هو الأفضل عندما يتعلق الأمر بتنسيق أنظمة متعددة الوكلاء.
  • لانج سميث: منصة مراقبة واختبار لتطبيقات LLM الخاصة بك. فهو يسمح لك بمتابعة تتبع السلاسل والوكلاء الذين يعتبرون مهمين في استكشاف الأخطاء وإصلاحها. إحدى الخطوات المهمة لنقل النموذج الأولي إلى تطبيق الإنتاج هي قيام LangSmith بتصحيح أخطاء سير العمل المعقد.
  • لانج فلو: منشئ مرئي ومجرب لـ LangChain. تحتوي نماذج LangFlow الأولية على واجهة سحب وإفلات، بحيث يمكنك كتابة القليل من التعليمات البرمجية لإنشاء الأفكار وتجربتها بسرعة كبيرة. إنها تجربة ممتازة للتعلم والعمل الجماعي.

هذه الأدوات لا تتنافس مع بعضها البعض. لقد تم تنظيمها بطريقة يجب استخدامها معًا. يمنحك LangChain الأجزاء، وسيجمعها LangGraph معًا في آلات أكثر تعقيدًا، وسيختبر LangSmith ما إذا كانت الآلات تعمل بشكل صحيح، وسيمنحك LangFlow صندوق رمل حيث يمكنك كتابة الآلات.

دعونا استكشاف كل من هذه بالتفصيل الآن.

1. لانج تشين: الإطار التأسيسي

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

الأفضل لـ:

  • روبوت دردشة تفاعلي من برنامج صارم.
  • خطوط الاسترجاع المعززة القائمة على التعلم الآلي.
  • سير عمل الخطوط الملاحية المنتظمة – سير العمل الذي يتم اتباعه بشكل تسلسلي.

المفهوم الأساسي: لغة السلاسل ولغة التعبير LangChain (LCEL). يتضمن LCEL استخدام رمز الأنبوب ( ) لتوصيل المكونات ببعضها البعض. وهذا يشكل تدفقًا واضحًا ومقروءًا للبيانات.

النضج والأداء: LangChain هي أقدم أداة للنظام البيئي. لديها عدد هائل من المتابعين وأكثر من 120.000 نجم على GitHub. الهيكل في أضيق الحدود. لديها عبء منخفض من الأداء. إنه جاهز بالفعل للاستخدام والنشر في آلاف التطبيقات.

التدريب العملي: بناء سلسلة أساسية

يوضح هذا المثال كيفية إنشاء سلسلة بسيطة. ستنتج السلسلة نكتة من المحتوى الاحترافي حول موضوع معين.

from langchain_openai import ChatOpenAI 
from langchain_core.prompts import ChatPromptTemplate 

# 1. Initialize the LLM model. We use GPT-4o here. 
model = ChatOpenAI(model="gpt-4o")  

# 2. Define a prompt template. The {topic} is a variable. 
prompt = ChatPromptTemplate.from_template("Tell me a professional joke about {topic}") 

# 3. Create the chain using the pipe operator (|). 
# This sends the formatted prompt to the model. 
chain = prompt | model  

# 4. Run the chain with a specific topic. 
response = chain.invoke({"topic": "Data Science"}) 

print(response.content) 

الإخراج:

2. LangGraph: للوكلاء ذوي الحالة المعقدة

LangGraph هو استمرار لـ LangChain. ويضيف الحلقات وإدارة الدولة (اقرأ كل شيء عنها هنا). تدفقات LangChain خطية (ABC). في المقابل، الحلقات والفروع (ABA) مسموح بها في LangGraph. يعد هذا أمرًا بالغ الأهمية للعمليات الوكيلة حيث يحتاج الذكاء الاصطناعي إلى تصحيح نفسه أو تكرار الوظائف. إن احتياجات التعقيد هذه هي التي تم اختبارها أكثر من غيرها في قرار LangChain vs LangGraph.

الأفضل لـ:

  • الوكلاء المتعاونون في الأنظمة متعددة الوكلاء.
  • وكلاء حلقة البحث المستقلة بين المهام.
  • العمليات التي تنطوي على تذكر الإجراءات الماضية.

المفهوم الأساسي: العقد هي وظائف، والحواف هي مسارات في LangGraph. هناك كائن مشترك للحالة يمر عبر الرسم البياني، ويتم مشاركة المعلومات عبر العقد.

النضج والأداء: المعيار الجديد لوكلاء المؤسسات هو LangGraph. لقد حقق 1.0 مستقرًا في أواخر عام 2025. وقد تم تطويره للحفاظ على المهام طويلة الأمد المقاومة لتعطل الخادم. على الرغم من أنه يحتوي على حمل أكبر من LangChain، إلا أن هذه مقايضة حتمية لإنشاء أنظمة قوية ذات حالة.

التدريب العملي: حلقة بسيطة من “التصحيح الذاتي”.

يتم تشكيل رسم بياني بسيط في هذا المثال. تعمل عقدة الصياغة وعقدة التصفية على جعل المسودة أفضل وأفضل. إنه يمثل عامل ميلودرامي بسيط.

from typing import TypedDict 
from langgraph.graph import StateGraph, START, END  

# 1. Define the state object for the graph. 
class AgentState(TypedDict): 
   input: str 
   feedback: str 

# 2. Define the graph nodes as Python functions. 
def draft_node(state: AgentState): 
   print("Drafter node executing...") 
   # In a real app, this would call an LLM to generate a draft. 
   return {"feedback": "The draft is good, but needs more detail."} 

def refine_node(state: AgentState): 
   print("Refiner node executing...") 
   # This node would use the feedback to improve the draft. 
   return {"feedback": "Final version complete."} 

# 3. Build the graph. 
workflow = StateGraph(AgentState) 
workflow.add_node("drafter", draft_node) 
workflow.add_node("refiner", refine_node) 

# 4. Define the workflow edges. 
workflow.add_edge(START, "drafter") 
workflow.add_edge("drafter", "refiner") 
workflow.add_edge("refiner", END)  

# 5. Compile the graph and run it. 
app = workflow.compile() 
final_state = app.invoke({"input": "Write a blog post"}) 
print(final_state) 

الإخراج:

لانغغراف

3. LangFlow: بيئة التطوير المرئية للنماذج الأولية

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

الأفضل لـ:

  • النمذجة السريعة لمفاهيم التطبيق الجديدة.
  • تصور أفكار الذكاء الاصطناعي.
  • الأفضل للأعضاء غير الفنيين في الفريق.

المفهوم الأساسي: لوحة قماشية ذات تعليمات برمجية منخفضة/بدون تعليمات برمجية حيث تقوم بتوصيل المكونات بشكل مرئي.

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

التدريب العملي على: بناء بصريا

يمكنك اختبار المنطق الخاص بك دون كتابة سطر واحد من لغة بايثون.

1. التثبيت والتشغيل: افتح متصفحك وتوجه إلى https://www.langflow.org/desktop. قم بتوفير التفاصيل وقم بتنزيل تطبيق LangFlow وفقًا لنظامك. نحن نستخدم ماك هنا. قم بفتح تطبيق LangFlow وسيظهر بالشكل التالي:

تثبيت وتشغيل LangFlow

2. تحديد القالب: لإجراء تشغيل بسيط، حدد خيار “Simple Agen” من القالب

اختر القالب | لانج فلو

3. القماش: في اللوحة القماشية الجديدة، اسحب مكون “OpenAI” ومكون “مطالبة” من القائمة الجانبية. بما أننا اخترنا قالب Simple Agent، فإنه سيبدو هكذا مع الحد الأدنى من المكونات.

القماش - لانج فلو

4. اتصال واجهة برمجة التطبيقات: انقر فوق مكون OpenAI واملأ مفتاح OpenAI API في حقل النص.

اتصال واجهة برمجة التطبيقات

5. النتيجة: الآن الوكيل البسيط جاهز للاختبار. انقر على خيار “ساحة اللعب” من أعلى اليمين لاختبار وكيلك.

النتيجة

يمكنك أن ترى أن وكيلنا البسيط يحتوي على أداتين مدمجتين. أولاً، أداة الآلة الحاسبة، والتي تستخدم لتقييم التعبير. والأداة الأخرى هي أداة URL المستخدمة للوصول إلى المحتوى الموجود داخل عنوان URL.

لقد اختبرنا الوكيل باستعلامات مختلفة وحصلنا على هذه النتيجة:

استعلام بسيط:

استعلام LangFlow

الاستعلام عن استدعاء الأداة:

لانغ تشين لانغ غراف لانغ فلو لانغ سميث
لانغ تشين لانغ غراف لانغ فلو لانغ سميث

4. LangSmith: منصة المراقبة والاختبار

لا يعد LangSmith إطار عمل للبرمجة، بل هو عبارة عن منصة. بمجرد إنشاء تطبيق باستخدام LangChain أو LangGraph، ستحتاج إلى LangSmith لمراقبته. ويكشف لك ما يحدث خلف الكواليس. فهو يسجل جميع الرموز المميزة، والارتفاعات في زمن الوصول، والأخطاء. تحقق من دليل LangSmith النهائي هنا.

الأفضل لـ:

  • تتبع العوامل المعقدة ومتعددة الخطوات.
  • مراقبة رسوم API والأداء.
  • اختبار أ/ب لمختلف المطالبات أو النماذج.

المفهوم الأساسي: التتبع وقياس الأداء. يسرد LangSmith آثار كل تشغيل، مع إعطاء المدخلات والمخرجات لكل تشغيل.

النضج والأداء: يجب استخدام جهاز LangSmith للمراقبة في مجال التصنيع. إنها خدمة أنشأها المالك لطاقم LangChain. يفضل LangSmith OpenTelemetry للتأكد من أن مراقبة تطبيقك ليست عامل تباطؤ. إنه سر إنشاء أنظمة ذكاء اصطناعي جديرة بالثقة وبأسعار معقولة.

التدريب العملي: تمكين إمكانية الملاحظة

ليست هناك حاجة لتعديل التعليمات البرمجية الخاصة بك للعمل مع LangSmith. واحد فقط يحدد بعض متغيرات البيئة. ويتم التعرف عليهم تلقائيًا، ويبدأ التسجيل باستخدام LangChain وLangGraph.

os.environ('OPENAI_API_KEY') = “YOUR_OPENAI_API_KEY”  
os.environ('LANGCHAIN_TRACING_V2') = “true”  
os.environ('LANGCHAIN_API_KEY') = “YOUR_LANGSMITH_API_KEY”  
os.environ('LANGCHAIN_PROJECT') = 'demo-langsmith'

الآن اختبر التتبع:

import openai  
from langsmith.wrappers import wrap_openai  
from langsmith import traceable  

client = wrap_openai(openai.OpenAI())  

@traceable  
def example_pipeline(user_input: str) -> str:  
   response = client.chat.completions.create(  
   	model="gpt-4o-mini",  
   	messages=({"role": "user", "content": user_input})  
   )  
   return response.choices(0).message.content  

answer = example_pipeline("Hello, world!")

لقد قمنا بتغليف عميل OpenAI في Wrapopenai ومصمم الديكور Tracer في شكل الدالة @traceable. سيؤدي هذا إلى تتبع LangSmith في كل مرة يتم فيها استدعاء examplepipeline (وكل استدعاء LLM API داخلي). تساعد الآثار في الاطلاع على تاريخ المطالبات، ونتائج النماذج، واستدعاء الأدوات، وما إلى ذلك. وهذا يستحق وزنه ذهباً في تصحيح أخطاء السلاسل المعقدة.

الإخراج:

إخراج لانج سميث

أصبح من الممكن الآن رؤية أي أثر في لوحة تحكم LangSmith الخاصة بك عندما تقوم بتشغيل التعليمات البرمجية الخاصة بك. يوجد “مسار تنقل” بياني لكيفية العثور على LLM للإجابة. يبدو هذا لا يقدر بثمن في فحص سلوك الوكيل واستكشاف الأخطاء وإصلاحها.

LangChain vs LangGraph vs LangSmith vs LangFlow

ميزة لانجشين لانغغراف لانج فلو لانج سميث
الهدف الأساسي بناء المنطق والسلاسل LLM تنسيق الوكيل المتقدم النماذج المرئية لسير العمل المراقبة والاختبار والتصحيح
التدفق المنطقي التنفيذ الخطي (المعتمد على DAG) التنفيذ الدوري مع الحلقات التدفق البصري القائم على القماش تركز على الملاحظة
مستوى المهارة مطور (بايثون/جافا سكريبت) مطور متقدم غير مبرمج / صديق للمصمم مهندسو DevOps / QA / AI
إدارة الدولة عبر كائنات الذاكرة الحالة الأصلية والمستمرة الحالة القائمة على التدفق البصري يلاحظ ويتتبع الحالة
يكلف مجاني (مفتوح المصدر) مجاني (مفتوح المصدر) مجاني (مفتوح المصدر) الطبقة المجانية / SaaS

الآن بعد أن أصبح النظام البيئي LangChain عرضًا عمليًا، سنعود إلى مسألة متى يتم تطبيق كل أداة.

  • عندما تقوم بتطوير تطبيق بسيط بتدفق مباشر، ابدأ بـ LangChain. على سبيل المثال، كان أحد وكلاء الكتاب لدينا عبارة عن سلسلة LangChain عادية.
  • عند إدارة أنظمة متعددة الوكلاء، وهي عمليات سير عمل معقدة، استخدم LangGraph لإدارتها. وكان على الباحث أن يمرر الحالة إلى الكاتب من خلال مساعد البحث لدينا، وذلك باستخدام LangGraph.
  • عندما يكون تطبيقك أكثر من مجرد نموذج أولي، اسحب LangSmith لتصحيحه. في حالة مساعدنا البحثي، سيكون لانج سميث ضروريًا لمراقبة الاتصال بين العميلين.
  • يعد LangFlow أمرًا يجب التفكير فيه عند إنشاء نماذج أولية لأفكارك. قبل أن تكتب سطرًا واحدًا من التعليمات البرمجية، يمكنك تصور سير عمل الباحث والكاتب في LangFlow.

خاتمة

النظام البيئي LangChain عبارة عن مجموعة من الأدوات التي تساعد في إنشاء تطبيقات LLM معقدة. توفر لك LangChain المكونات الأساسية. يسمح لك LangGraph على التزامن بإنشاء أنظمة معقدة. يعد LangSmith جيدًا في تصحيح الأخطاء. تطبيقاتك مستقرة. ويساعدك LangFlow to Prototype في إنشاء النماذج الأولية السريعة.

ومن خلال معرفة نقاط القوة في كل أداة، ستتمكن من إنشاء أنظمة قوية متعددة الوكلاء تعالج مشكلات الحياة الواقعية. أصبح المسار بين مجرد فكرة وتطبيق جاهز للاستخدام الآن مهمة مفهومة وأسهل.

الأسئلة المتداولة

س1. متى يجب أن أختار LangGraph بدلاً من LangChain؟

A. استخدم LangGraph في الحالات التي تتطلب معالجة الحلقات أو التفرع الشرطي أو الحالة في أكثر من خطوة واحدة، كما هو موجود في الأنظمة متعددة الوكلاء.

س2. هل إنتاج LangFlow قابل للتطبيق؟

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

س3. هل يحتاج LangSmith إلى الاستفادة من LangChain أو LangGraph؟

ج: لا، تعد أداة LangSmith اختيارية، ولكنها أداة موصى بها تمامًا لتصحيح الأخطاء والمراقبة والتي يجب أخذها في الاعتبار عندما يصبح تطبيقك صعبًا.

س 4. هل كل هذه الأدوات مفتوحة المصدر؟

ج: تخضع كل من LangChain وLangGraph وLangFlow لترخيص مفتوح المصدر (ترخيص MIT). LangSmith هو منتج SaaS من نوع خاص، وله طبقة مجانية.

س5. ما هي الميزة الرئيسية للنظام البيئي LangChain؟

ج: الميزة الأكبر هي أنها مجموعة متكاملة ومتكاملة. فهو يقدم مجموعة أدوات كاملة لمعالجة دورة حياة التطبيق الكاملة، بدءًا من الفكرة الأولية وحتى مراقبة الإنتاج.

هارش ميشرا

هارش ميشرا هو مهندس الذكاء الاصطناعي والتعلم الآلي الذي يقضي وقتًا أطول في التحدث إلى نماذج اللغات الكبيرة مقارنة بالبشر الفعليين. شغوف بـ GenAI وNLP وجعل الآلات أكثر ذكاءً (لذلك لا يحل محله بعد). عندما لا يقوم بتحسين النماذج، فمن المحتمل أنه يقوم بتحسين تناول القهوة. 🚀☕

قم بتسجيل الدخول لمواصلة القراءة والاستمتاع بالمحتوى الذي ينظمه الخبراء.


Source link

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى