Glossaire et références
源码版本1.2.9
Termes clés
| Terme | Anglais | Description |
|---|---|---|
| Graphe d'état | StateGraph | Point d'entrée utilisateur, add_node / add_edge / add_conditional_edges / compile. libs/langgraph/langgraph/graph/state.py |
| Graphe compilé | CompiledGraph / Pregel | Produit de StateGraph.compile(), implémente PregelProtocol, porte les entrées stream / invoke / astream. libs/langgraph/langgraph/pregel/main.py |
| Exécuteur Pregel | Pregel | Graphe exécutable après compilation, hérite de PregelProtocol, détient nodes / channels / checkpointer. libs/langgraph/langgraph/pregel/main.py |
| Superpas | superstep | Unité d'exécution du modèle Pregel ; au sein d'un superpas, tous les nœuds déclenchés s'exécutent concurrent, la limite de pas synchronise les mises à jour de canaux ; inspiré du modèle BSP de la publication Google Pregel. |
| Canal | channel | Primitif de mise à jour d'état ; chaque canal a un numéro de version, le reducer décide comment fusionner les écritures. libs/langgraph/langgraph/channels/ |
| Classe de base des canaux | BaseChannel | Classe abstraite de tous les canaux, définit les interfaces update / get / checkpoint. libs/langgraph/langgraph/channels/base.py |
| Canal LastValue | LastValue | Canal ne conservant que la dernière valeur, souvent utilisé pour les champs d'état ; LastValueAfterFinish retarde la mise à jour à la fin du pas. libs/langgraph/langgraph/channels/last_value.py |
| Reducer | reducer | Fonction de fusion des écritures d'un canal, par exemple operator.add pour l'accumulation dans une liste ; déclarée dans le schéma d'état via Annotated[T, reducer]. |
| Nœud | node / PregelNode | Unité d'exécution du graphe, détient bound / triggers / writers / subgraphs. libs/langgraph/langgraph/pregel/_read.py |
| Ajout de nœud | add_node | StateGraph.add_node(name, action) enregistre une fonction ou un Runnable comme nœud, passe en interne par coerce_to_runnable. libs/langgraph/langgraph/graph/state.py |
| Arête conditionnelle | add_conditional_edges | Route vers le nœud suivant selon la valeur renvoyée par la fonction de condition ; renvoyer une liste Send permet le fan-out. libs/langgraph/langgraph/graph/state.py |
| Point de contrôle | checkpoint | Instantané persistant au niveau du thread, enregistre les versions de canaux, pending writes, metadata ; permet la reprise après interruption. libs/langgraph/langgraph/pregel/_checkpoint.py |
| Sauveur de checkpoint | BaseCheckpointSaver | Interface de persistance des checkpoints, put / get_tuple / list. libs/checkpoint/langgraph/checkpoint/base/__init__.py |
| Sauveur en mémoire | InMemorySaver / MemorySaver | Implémentation en mémoire de BaseCheckpointSaver, uniquement pour le débogage ; MemorySaver est l'ancien alias de InMemorySaver. libs/checkpoint/langgraph/checkpoint/memory/__init__.py |
| Instantané d'état | StateSnapshot | Vue d'état en début de pas, contient values / next / tasks / interrupts. libs/langgraph/langgraph/types.py |
| Interruption | interrupt / Interrupt | interrupt(value) à l'intérieur d'un nœud lève GraphInterrupt et met en pause l'exécution du graphe ; le client reprend avec Command(resume=...). libs/langgraph/langgraph/types.py |
| Commande | Command | Primitif trois-en-un resume / goto / update, utilisable à la fois comme valeur de retour d'un nœud et comme entrée d'invoke. libs/langgraph/langgraph/types.py |
| Envoi | Send | Primitif de tâche PUSH, délivre à un nœud désigné une tâche avec un arg spécifique, pour le fan-out map-reduce. libs/langgraph/langgraph/types.py |
| API fonctionnelle | @entrypoint / @task | API fonctionnelle ; @entrypoint enveloppe une fonction en Pregel, @task enveloppe une sous-tâche schedulable. libs/langgraph/langgraph/func/__init__.py |
| Mode de stream | stream_mode | Option de projection en sortie de Pregel.stream / astream : values / updates / messages / custom / checkpoints / tasks / debug. libs/langgraph/langgraph/pregel/main.py |
Conventions de répertoires
- Le code source principal est dans
libs/langgraph/langgraph/, réparti par responsabilité :pregel/— noyau du moteur d'exécution.main.pyest l'entrée de la classePregel,__init__.pyexporte l'interface publique,_loop.pyest la machine à étatsPregelLoop,_runner.pyest l'exécuteur concurrentPregelRunner,_algo.pycontient les fonctions algorithmiquesapply_writes/prepare_next_tasks/should_interrupt,_io.pyregroupemap_command/map_input/map_output_*,_call.pyhébergeSyncAsyncFutureet le wrapping Runnable des tâches,_read.pycontientPregelNode,_executor.pycontientBackgroundExecutor/AsyncBackgroundExecutor,remote.pycontientRemoteGraph.graph/— interface utilisateurStateGraph/CompiledStateGraph;state.pyest le cœur,_node.py/_branch.pysont auxiliaires.channels/— implémentations de canauxBaseChannel/LastValue/Topic/Binop, etc.func/— API fonctionnelle@entrypoint/@task(tout est en fait dans le seul fichierfunc/__init__.py).types.py— types de données publicsCommand/Send/Interrupt/StateSnapshot/PregelExecutableTask, etc.stream/— implémentation des mux de streamGraphRunStream/StreamMux, etc.managed/— valeurs injectées au runtime commeIsLastStep.
- Les implémentations de checkpoint sont éclatées en packages indépendants :
libs/checkpoint/(base + memory),libs/checkpoint-sqlite/,libs/checkpoint-postgres/. - L'entrée du moteur Pregel est dans
libs/langgraph/langgraph/pregel/__init__.py, la classe principalePregelest danspregel/main.py.
Documentation officielle
- Documentation LangGraph
- Tutoriels LangGraph
- Guide streaming LangGraph
- Guide interaction humain-dans-la-boucle LangGraph
- Dépôt GitHub langchain-ai/langgraph (le code source de ce site est fixé au tag
1.2.9)
Version du code source
La version du code source sur ce site est fixée à 1.2.9, les numéros de ligne se réfèrent à ce tag. Tous les <SrcLink> pointent vers github.com/langchain-ai/langgraph/blob/1.2.9/<path>#Lxx-Lyy. Pour monter de version, modifier LANGGRAPH_TAG dans docs/.vitepress/site.ts puis lancer npm run check:refs.