ما هو create_agent؟
استخدم create_agent، API عالية المستوى الخاصة بـ LangChain لبناء حلقة النموذج والأدوات القياسية التي قمنا بتنفيذها يدويًا باستخدام StateGraph.
خلال الدروس القليلة الماضية، قمنا ببناء نفس حلقة الوكيل بشكل متكرر: أtool_calling_llm العقدة التي تستدعي النموذج المُمكّن بالأداة،ToolNode التي تنفذ استدعاءات الأدوات التي يُرجعها النموذج، وtools_condition يتم توجيه تنفيذ التعليمات إما إلى الأدوات أو إلى نهاية الرسم البياني. بعد تنفيذ الأداة، يعود الرسم البياني إلى النموذج. يبقى النموذج وعقدة تنفيذ الأداة وبنية التوجيه كما هي. تتغير فقط الأدوات المرتبطة بالنموذج.
يعكس هذا التكرار نمطًا شائعًا للوكيل. توفر LangChain API عالية المستوى لحلقة النموذج والأدوات القياسية هذه من خلالcreate_agent الوظيفة. خلال هذا الدرس، سنعيد استخدام الأدوات الثلاث التي تم تقديمها في "أدوات متعددة في سير عمل LangGraph":
def multiply(a: int, b: int) -> int:"""Multiply two integers and return the product."""return a * bdef translate_to_french(text: str) -> str:"""Return a mock French translation of the input text."""return f"French translation of '{text}'"def get_weather(city: str) -> str:"""Return a mock weather string for the given city."""return f"The weather in {city} is sunny."
منStateGraph لcreate_agent
تعمل الحلقة من "استدعاءات الأدوات المتسلسلة في LangGraph" على النحو التالي: يطلب النموذج استدعاء أداة، ويتم إرجاع نتيجة الأداة إلى النموذج، وتستمر الحلقة حتى يُرجع النموذج استجابة بدون استدعاءات أدوات:
from langchain_openai import ChatOpenAIfrom langgraph.graph import MessagesState, StateGraph, START, ENDfrom langgraph.prebuilt import ToolNode, tools_conditionllm = ChatOpenAI(model="gpt-5")llm_with_tools = llm.bind_tools([multiply, translate_to_french, get_weather])def tool_calling_llm(state: MessagesState):response = llm_with_tools.invoke(state["messages"])return {"messages": [response]}builder = StateGraph(MessagesState)builder.add_node("tool_calling_llm", tool_calling_llm)builder.add_node("tools", ToolNode([multiply, translate_to_french, get_weather]))builder.add_edge(START, "tool_calling_llm")builder.add_conditional_edges("tool_calling_llm", tools_condition, {"tools": "tools", END: END})builder.add_edge("tools", "tool_calling_llm")graph = builder.compile()
create_agentيقوم بإنشاء نفس الرسم البياني لك:
from langchain.agents import create_agentgraph = create_agent(model="openai:gpt-5",tools=[multiply, translate_to_french, get_weather],system_prompt="You are a helpful assistant.",)
السطر 1: نستورد
create_agentمنlangchain.agents. ...