الدرس 5 من 20

نظرة عامة على أُطر الوكلاء

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 القائم على الأدوار لأنظمة الوكلاء المتعددة. :::

اختبار

الوحدة 2: نظرة عامة على أُطر الوكلاء

خذ الاختبار