نظرة عامة على أُطر الوكلاء
LangChain و LangGraph
4 دقيقة للقراءة
أصبح LangChain الإطار الأكثر شعبية لبناء تطبيقات نماذج اللغة الكبيرة، مع أكثر من 120,000 نجمة على GitHub ومجتمع ضخم. LangGraph يوسّعه مع سير عمل متعدد الفاعلين وذو حالة.
LangChain: الأساس
LangChain يوفر لبنات البناء لتطبيقات نماذج اللغة الكبيرة:
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
# تهيئة النموذج
llm = ChatOpenAI(model="gpt-4")
# تعريف الأدوات
tools = [search_tool, calculator_tool]
# إنشاء الوكيل
prompt = ChatPromptTemplate.from_messages([
("system", "أنت مساعد بحث مفيد."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}")
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)
# تشغيل الوكيل
result = executor.invoke({"input": "ما هو عدد سكان طوكيو؟"})
مفاهيم LangChain الرئيسية
| المفهوم | الوصف | حالة الاستخدام |
|---|---|---|
| السلاسل | تسلسلات من العمليات | سير العمل الخطي |
| الوكلاء | متخذو قرارات ديناميكيون | المهام المعقدة |
| الأدوات | القدرات الخارجية | البحث، الحساب، واجهات API |
| الذاكرة | تاريخ المحادثة | روبوتات الدردشة، المساعدين |
| المستردّون | جلب المستندات | تطبيقات RAG |
LangGraph: سير العمل ذو الحالة
LangGraph يضيف إدارة حالة قائمة على الرسم البياني لأنظمة الوكلاء المعقدة:
from langgraph.graph import StateGraph, END
from typing import TypedDict
class AgentState(TypedDict):
messages: list
current_step: str
# تعريف الرسم البياني
workflow = StateGraph(AgentState)
# إضافة العقد (خطوات المعالجة)
workflow.add_node("research", research_node)
workflow.add_node("analyze", analyze_node)
workflow.add_node("write", write_node)
# إضافة الحواف (الانتقالات)
workflow.add_edge("research", "analyze")
workflow.add_conditional_edges(
"analyze",
should_continue,
{"continue": "write", "research_more": "research"}
)
workflow.add_edge("write", END)
# التجميع والتشغيل
app = workflow.compile()
result = app.invoke({"messages": [], "current_step": "start"})
متى تستخدم LangChain/LangGraph
✅ مناسب:
- بناء تطبيقات نماذج اللغة الكبيرة للإنتاج
- الحاجة لتكاملات أدوات واسعة
- تريد مجتمعاً ونظاماً بيئياً كبيراً
- تتطلب إدارة حالة معقدة
⚠️ فكر في البدائل عندما:
- تحتاج أقل اعتماديات
- تبني سكربتات بسيطة لمرة واحدة
- الفريق غير مألوف بأسلوب التجريد
LangSmith: المراقبة
LangSmith يوفر التتبع والتصحيح:
# تفعيل التتبع
import os
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_PROJECT"] = "my-agent-project"
# جميع تشغيلات الوكيل تُتتبع تلقائياً الآن
بعد ذلك، سنستكشف نهج CrewAI القائم على الأدوار لأنظمة الوكلاء المتعددة. :::