LangChain Agent-API
create_agent() vollständige Parameter
| Parameter | Type | Standardwert | Beschreibung |
|---|---|---|---|
| model | str oder BaseChatModel | None (erforderlich) | Sprachmodell |
| tools | Sequence oder None | Keine | Tool-Liste. Unterstützt @tool-Funktionen, Pydantic-Modelle, dict |
| system_prompt | str oder SystemMessage oder None | Keine | System-Prompt |
| Middleware | Sequence[AgentMiddleware] | () | Middleware-Liste |
| response_format | ResponseFormat oder type oder dict oder None | Keine | Konfiguration der strukturierten Ausgabe |
| state_schema | type[AgentState] oder None | Keine | Benutzerdefinierte Zustandsstruktur |
| context_schema | type oder None | Keine | Laufzeit-Kontextstruktur |
| checkpointer | Checkpointer oder None | Keine | Konversationspersistenz |
| store | BaseStore oder None | Keine | Sitzungsübergreifender Speicher |
| interrupt_before | list[str] oder None | Keine | Vor diesen Knoten pausieren |
| interrupt_after | list[str] oder None | Keine | Nach diesen Knoten pausieren |
| debug | bool | False | Ob ausführliche Logs ausgegeben werden sollen |
| name | str or None | Keine | Agentenname |
| cache | BaseCache or None | Keine | Cache-Konfiguration |
CompiledStateGraph-Methoden
| Methode | Beschreibung |
|---|---|
| invoke(input, config=None) | Synchron ausführen, Endzustand zurückgeben |
| ainvoke(input, config=None) | Asynchron ausführen, Endzustand zurückgeben |
| stream(input, config=None, stream_mode="updates") | Synchroner Streaming-Lauf |
| astream(input, config=None, stream_mode="updates") | Asynchroner Streaming-Lauf |
| get_state(config) | Aktuellen Zustands-Snapshot abrufen |
| update_state(config, values) | Zustand manuell aktualisieren |
AgentState-Struktur
| Feld | Type | Erforderlich? | Beschreibung |
|---|---|---|---|
| messages | list[AnyMessage] | Ja | Nachrichtenverlauf (add_messages-Reducer) |
| jump_to | "tools" oder "model" oder "end" oder None | nein | Flusssprung (flüchtig) |
| structured_response | Any | nein | Ergebnis der strukturierten Ausgabe (OmitFromInput) |
Häufige Anwendungsbeispiele
Beispiel
from langchain.agents import create_agent
# Grundlegende Verwendung
agent = create_agent(model="deepseek:deepseek-v4-flash", tools=[tool1, tool2])
result = agent.invoke({"messages": [HumanMessage(content="Hello")]})
# Vollständige Konfiguration
agent = create_agent(
model="deepseek:deepseek-v4-flash",
tools=[tool1, tool2],
system_prompt="Du bist ein Assistent.",
middleware=[my_middleware],
response_format=MySchema,
checkpointer=checkpointer,
store=store,
name="my_agent",
)
# Streaming-Ausführung
for chunk in agent.stream(inputs, stream_mode="updates"):
print(chunk)
# Status abrufen
state = agent.get_state({"configurable": {"thread_id": "1"}})
# Grundlegende Verwendung
agent = create_agent(model="deepseek:deepseek-v4-flash", tools=[tool1, tool2])
result = agent.invoke({"messages": [HumanMessage(content="Hello")]})
# Vollständige Konfiguration
agent = create_agent(
model="deepseek:deepseek-v4-flash",
tools=[tool1, tool2],
system_prompt="Du bist ein Assistent.",
middleware=[my_middleware],
response_format=MySchema,
checkpointer=checkpointer,
store=store,
name="my_agent",
)
# Streaming-Ausführung
for chunk in agent.stream(inputs, stream_mode="updates"):
print(chunk)
# Status abrufen
state = agent.get_state({"configurable": {"thread_id": "1"}})