API d'agent LangChain
Paramètres complets de create_agent()
| Paramètre | Type | Valeur par défaut | Description |
|---|---|---|---|
| model | str ou BaseChatModel | None (obligatoire) | Modèle de langage |
| tools | Sequence ou None | Aucune | Liste d’outils. Prend en charge les fonctions @tool, les modèles Pydantic, dict |
| system_prompt | str ou SystemMessage ou None | Aucune | Prompt système |
| middleware | Sequence[AgentMiddleware] | () | Liste de middlewares |
| response_format | ResponseFormat ou type ou dict ou None | Aucune | Configuration de sortie structurée |
| state_schema | type[AgentState] ou None | Aucune | Structure d'état personnalisée |
| context_schema | type ou None | Aucune | Structure du contexte d'exécution |
| checkpointer | Checkpointer ou None | Aucune | Persistance des conversations |
| store | BaseStore ou None | Aucune | Stockage inter-sessions |
| interrupt_before | list[str] ou None | Aucune | Pause avant ces nœuds |
| interrupt_after | list[str] ou None | Aucune | Pause après ces nœuds |
| debug | bool | False | Indique s'il faut produire des journaux verbeux |
| name | str ou None | Aucune | Nom de l'agent |
| cache | BaseCache ou None | Aucune | Configuration du cache |
Méthodes de CompiledStateGraph
| Méthode | Description |
|---|---|
| invoke(input, config=None) | Exécuter de manière synchrone, renvoyer l'état final |
| ainvoke(input, config=None) | Exécuter de manière asynchrone, renvoyer l'état final |
| stream(input, config=None, stream_mode="updates") | Exécution de streaming synchrone |
| astream(input, config=None, stream_mode="updates") | Exécution de streaming asynchrone |
| get_state(config) | Obtenir un instantané de l'état actuel |
| update_state(config, values) | Mettre à jour l'état manuellement |
Structure d'AgentState
| Champ | Type | Obligatoire ? | Description |
|---|---|---|---|
| messages | list[AnyMessage] | Oui | Historique des messages (réducteur add_messages) |
| jump_to | "tools" ou "model" ou "end" ou None | non | Saut de flux (éphémère) |
| structured_response | Any | non | Résultat de sortie structurée (OmitFromInput) |
Exemples d'utilisation courants
Exemple
from langchain.agents import create_agent
# Utilisation de base
agent = create_agent(model="deepseek:deepseek-v4-flash", tools=[tool1, tool2])
result = agent.invoke({"messages": [HumanMessage(content="Hello")]})
# Configuration complète
agent = create_agent(
model="deepseek:deepseek-v4-flash",
tools=[tool1, tool2],
system_prompt="Vous êtes un assistant.",
middleware=[my_middleware],
response_format=MySchema,
checkpointer=checkpointer,
store=store,
name="my_agent",
)
# Exécution en streaming
for chunk in agent.stream(inputs, stream_mode="updates"):
print(chunk)
# Récupérer l'état
state = agent.get_state({"configurable": {"thread_id": "1"}})
# Utilisation de base
agent = create_agent(model="deepseek:deepseek-v4-flash", tools=[tool1, tool2])
result = agent.invoke({"messages": [HumanMessage(content="Hello")]})
# Configuration complète
agent = create_agent(
model="deepseek:deepseek-v4-flash",
tools=[tool1, tool2],
system_prompt="Vous êtes un assistant.",
middleware=[my_middleware],
response_format=MySchema,
checkpointer=checkpointer,
store=store,
name="my_agent",
)
# Exécution en streaming
for chunk in agent.stream(inputs, stream_mode="updates"):
print(chunk)
# Récupérer l'état
state = agent.get_state({"configurable": {"thread_id": "1"}})