routeur_ia_api / graphs /README.md
Cyril Dupland
FIrst Commit
d28f1ed
|
Raw
History Blame
1.96 kB

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é

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é