# 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 1. Créez un nouveau fichier Python dans ce dossier (ex: `custom_graph.py`) 2. Définissez votre `State` avec TypedDict 3. Créez vos fonctions de nœuds 4. Construisez le graphe avec `StateGraph` 5. Compilez le graphe avec `.compile()` 6. Enregistrez votre graphe dans `services/agent_registry.py` ## Exemple de graphe personnalisé ```python 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é