LangGraph Graphs
Ce dossier contient les différents graphes LangGraph utilisés par l'API.
Structure
base_graph.py: Graphe conversationnel simple par défaut- Vous pouvez ajouter d'autres graphes personnalisés ici
Comment créer un nouveau graphe
- Créez un nouveau fichier Python dans ce dossier (ex:
custom_graph.py) - Définissez votre
Stateavec TypedDict - Créez vos fonctions de nœuds
- Construisez le graphe avec
StateGraph - Compilez le graphe avec
.compile() - Enregistrez votre graphe dans
services/agent_registry.py
Exemple de graphe personnalisé
from typing import TypedDict, Annotated, Sequence
from langchain_core.messages import BaseMessage
from langgraph.graph import StateGraph, END
from langgraph.graph.message import add_messages
class CustomState(TypedDict):
messages: Annotated[Sequence[BaseMessage], add_messages]
custom_field: str
def create_custom_graph(llm):
def custom_node(state: CustomState):
# Votre logique personnalisée
messages = state["messages"]
response = llm.invoke(messages)
return {"messages": [response]}
workflow = StateGraph(CustomState)
workflow.add_node("custom", custom_node)
workflow.set_entry_point("custom")
workflow.add_edge("custom", END)
return workflow.compile()
Graphes disponibles
Simple Graph (base_graph.py)
- Graphe conversationnel basique
- Prend un message, l'envoie au LLM, retourne la réponse
- Pas de mémoire persistante
Simple Graph with History (base_graph.py)
- Graphe conversationnel avec support de l'historique
- Utilise l'historique fourni dans la requête
- Pas de mémoire persistante (stateless)
Notes
- Tous les graphes sont stateless par défaut
- L'historique de conversation doit être fourni par le client dans chaque requête
- Pour ajouter des outils (RAG, recherche web, etc.), créez un nouveau graphe personnalisé