Skip to content

Glossaire et références

源码版本1.2.9

Termes clés

TermeAnglaisDescription
Graphe d'étatStateGraphPoint d'entrée utilisateur, add_node / add_edge / add_conditional_edges / compile. libs/langgraph/langgraph/graph/state.py
Graphe compiléCompiledGraph / PregelProduit de StateGraph.compile(), implémente PregelProtocol, porte les entrées stream / invoke / astream. libs/langgraph/langgraph/pregel/main.py
Exécuteur PregelPregelGraphe exécutable après compilation, hérite de PregelProtocol, détient nodes / channels / checkpointer. libs/langgraph/langgraph/pregel/main.py
SuperpassuperstepUnité 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.
CanalchannelPrimitif 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 canauxBaseChannelClasse abstraite de tous les canaux, définit les interfaces update / get / checkpoint. libs/langgraph/langgraph/channels/base.py
Canal LastValueLastValueCanal 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
ReducerreducerFonction 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œudnode / PregelNodeUnité d'exécution du graphe, détient bound / triggers / writers / subgraphs. libs/langgraph/langgraph/pregel/_read.py
Ajout de nœudadd_nodeStateGraph.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 conditionnelleadd_conditional_edgesRoute 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ôlecheckpointInstantané 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 checkpointBaseCheckpointSaverInterface de persistance des checkpoints, put / get_tuple / list. libs/checkpoint/langgraph/checkpoint/base/__init__.py
Sauveur en mémoireInMemorySaver / MemorySaverImplé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'étatStateSnapshotVue d'état en début de pas, contient values / next / tasks / interrupts. libs/langgraph/langgraph/types.py
Interruptioninterrupt / Interruptinterrupt(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
CommandeCommandPrimitif 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
EnvoiSendPrimitif 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 / @taskAPI fonctionnelle ; @entrypoint enveloppe une fonction en Pregel, @task enveloppe une sous-tâche schedulable. libs/langgraph/langgraph/func/__init__.py
Mode de streamstream_modeOption 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.py est l'entrée de la classe Pregel, __init__.py exporte l'interface publique, _loop.py est la machine à états PregelLoop, _runner.py est l'exécuteur concurrent PregelRunner, _algo.py contient les fonctions algorithmiques apply_writes / prepare_next_tasks / should_interrupt, _io.py regroupe map_command / map_input / map_output_*, _call.py héberge SyncAsyncFuture et le wrapping Runnable des tâches, _read.py contient PregelNode, _executor.py contient BackgroundExecutor / AsyncBackgroundExecutor, remote.py contient RemoteGraph.
    • graph/ — interface utilisateur StateGraph / CompiledStateGraph ; state.py est le cœur, _node.py / _branch.py sont auxiliaires.
    • channels/ — implémentations de canaux BaseChannel / LastValue / Topic / Binop, etc.
    • func/ — API fonctionnelle @entrypoint / @task (tout est en fait dans le seul fichier func/__init__.py).
    • types.py — types de données publics Command / Send / Interrupt / StateSnapshot / PregelExecutableTask, etc.
    • stream/ — implémentation des mux de stream GraphRunStream / StreamMux, etc.
    • managed/ — valeurs injectées au runtime comme IsLastStep.
  • 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 principale Pregel est dans pregel/main.py.

Documentation officielle

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.