Skip to content

Glossar und Materialien

源码版本1.2.9

Kernbegriffe

BegriffEnglischBeschreibung
ZustandsgraphStateGraphBenutzereinstieg zum Aufbau; add_node / add_edge / add_conditional_edges / compile. libs/langgraph/langgraph/graph/state.py
Kompilierter GraphCompiledGraph / PregelProdukt von StateGraph.compile(); implementiert PregelProtocol; trägt die Eingänge stream / invoke / astream. libs/langgraph/langgraph/pregel/main.py
Pregel-AusführungsobjektPregelKompilierter ausführbarer Graph; erbt von PregelProtocol; hält nodes / channels / checkpointer. libs/langgraph/langgraph/pregel/main.py
Superstep (superstep)superstepAusführungseinheit des Pregel-Modells; innerhalb eines Supersteps werden alle ausgelösten Knoten konkurrent ausgeführt, an Schrittgrenzen werden Channel-Updates synchronisiert; entlehnt dem BSP-Modell des Google-Pregel-Papiers.
Kanal (channel)channelPrimitive für Zustandsupdates; jeder Kanal hat eine Versionsnummer; der Reducer entscheidet, wie Schreibzugriffe zusammengeführt werden. libs/langgraph/langgraph/channels/
Kanal-BasisklasseBaseChannelAbstrakte Basisklasse aller Kanäle; definiert update / get / checkpoint usw. libs/langgraph/langgraph/channels/base.py
LastValue-KanalLastValueKanal, der nur den neuesten Wert behält; oft für Zustandsfelder; LastValueAfterFinish verzögert das Update bis zum Schrittende. libs/langgraph/langgraph/channels/last_value.py
Reducer (reducer)reducerFunktion zum Zusammenführen von Kanal-Schreibzugriffen, z. B. operator.add für Listenanhang; über Annotated[T, reducer] im State-Schema deklariert.
Knoten (node)node / PregelNodeAusführungseinheit des Graphen; hält bound / triggers / writers / subgraphs. libs/langgraph/langgraph/pregel/_read.py
Knoten hinzufügenadd_nodeStateGraph.add_node(name, action) registriert eine Knotenfunktion oder ein Runnable; intern über coerce_to_runnable. libs/langgraph/langgraph/graph/state.py
Bedingte Kanteadd_conditional_edgesLeitet nach Rückgabewert einer Bedingungsfunktion an den nächsten Knoten weiter; gibt Liste von Send für Fan-out zurück. libs/langgraph/langgraph/graph/state.py
Checkpoint (checkpoint)checkpointThread-Level persistierte Momentaufnahme; speichert Kanalversionen, pending writes, metadata; unterstützt Wiederaufnahme. libs/langgraph/langgraph/pregel/_checkpoint.py
Checkpoint-SaverBaseCheckpointSaverPersistenzschnittstelle für Checkpoints: put / get_tuple / list. libs/checkpoint/langgraph/checkpoint/base/__init__.py
In-Memory-SaverInMemorySaver / MemorySaverIn-Memory-Implementierung von BaseCheckpointSaver, nur für Debugging; MemorySaver ist ein alter Alias für InMemorySaver. libs/checkpoint/langgraph/checkpoint/memory/__init__.py
ZustandsmomentaufnahmeStateSnapshotZustandssicht zu Beginn eines Schritts; enthält values / next / tasks / interrupts. libs/langgraph/langgraph/types.py
Interrupt (interrupt)interrupt / Interruptinterrupt(value) innerhalb eines Knoten wirft GraphInterrupt und pausiert die Graphausführung; Client setzt mit Command(resume=...) fort. libs/langgraph/langgraph/types.py
Befehl (command)CommandDrei-in-eins-Primitive resume / goto / update; kann als Knoten-Rückgabewert oder als invoke-Input dienen. libs/langgraph/langgraph/types.py
ZustellenSendPUSH-Task-Primitive; liefert einen Task mit einem bestimmten arg an einen bestimmten Knoten — realisiert Map-Reduce-Fan-out. libs/langgraph/langgraph/types.py
Functional API@entrypoint / @taskFunktionale API; @entrypoint wickelt eine Funktion in ein Pregel, @task in eine dispatchbare Teilaufgabe. libs/langgraph/langgraph/func/__init__.py
Stream-Modusstream_modeAusgabeprojektion von Pregel.stream / astream: values / updates / messages / custom / checkpoints / tasks / debug. libs/langgraph/langgraph/pregel/main.py

Verzeichniskonventionen

  • Hauptquellcode unter libs/langgraph/langgraph/, nach Zuständigkeiten in Verzeichnisse gegliedert:
    • pregel/ — Ausführungs-Engine-Kern. main.py ist der Eingang der Pregel-Klasse, __init__.py exportiert die öffentliche Schnittstelle, _loop.py ist die PregelLoop-Zustandsmaschine, _runner.py ist der PregelRunner-Konkurrenz-Ausführer, _algo.py enthält apply_writes / prepare_next_tasks / should_interrupt und andere Algorithmusfunktionen, _io.py enthält map_command / map_input / map_output_*, _call.py enthält SyncAsyncFuture und die Runnable-Hülle für Tasks, _read.py enthält PregelNode, _executor.py enthält BackgroundExecutor / AsyncBackgroundExecutor, remote.py enthält RemoteGraph.
    • graph/StateGraph / CompiledStateGraph Benutzerschnittstelle; state.py ist der Kern, _node.py / _branch.py sind Hilfsdateien.
    • channels/ — Implementierungen von BaseChannel / LastValue / Topic / Binop usw.
    • func/@entrypoint / @task funktionale API (tatsächlich komplett in einer Datei func/__init__.py).
    • types.py — Öffentliche Datentypen wie Command / Send / Interrupt / StateSnapshot / PregelExecutableTask.
    • stream/ — Streaming-Mux-Implementierungen wie GraphRunStream / StreamMux.
    • managed/ — Zur Laufzeit injizierte Werte wie IsLastStep.
  • Checkpoint-Implementierungen sind in separate Pakete aufgeteilt: libs/checkpoint/ (base + memory), libs/checkpoint-sqlite/, libs/checkpoint-postgres/.
  • Der Eingang der Pregel-Engine liegt in libs/langgraph/langgraph/pregel/__init__.py; die Hauptklasse Pregel in pregel/main.py.

Offizielle Materialien

Quellcodeversion

Der auf dieser Site referenzierte Quellcode ist auf Version 1.2.9 fixiert; Zeilennummern beziehen sich auf diesen Tag. Alle <SrcLink> zeigen auf github.com/langchain-ai/langgraph/blob/1.2.9/<path>#Lxx-Lyy. Bei Versionswechsel LANGGRAPH_TAG in docs/.vitepress/site.ts ändern und npm run check:refs ausführen.