Glossar und Materialien
源码版本1.2.9
Kernbegriffe
| Begriff | Englisch | Beschreibung |
|---|---|---|
| Zustandsgraph | StateGraph | Benutzereinstieg zum Aufbau; add_node / add_edge / add_conditional_edges / compile. libs/langgraph/langgraph/graph/state.py |
| Kompilierter Graph | CompiledGraph / Pregel | Produkt von StateGraph.compile(); implementiert PregelProtocol; trägt die Eingänge stream / invoke / astream. libs/langgraph/langgraph/pregel/main.py |
| Pregel-Ausführungsobjekt | Pregel | Kompilierter ausführbarer Graph; erbt von PregelProtocol; hält nodes / channels / checkpointer. libs/langgraph/langgraph/pregel/main.py |
| Superstep (superstep) | superstep | Ausfü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) | channel | Primitive für Zustandsupdates; jeder Kanal hat eine Versionsnummer; der Reducer entscheidet, wie Schreibzugriffe zusammengeführt werden. libs/langgraph/langgraph/channels/ |
| Kanal-Basisklasse | BaseChannel | Abstrakte Basisklasse aller Kanäle; definiert update / get / checkpoint usw. libs/langgraph/langgraph/channels/base.py |
| LastValue-Kanal | LastValue | Kanal, 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) | reducer | Funktion zum Zusammenführen von Kanal-Schreibzugriffen, z. B. operator.add für Listenanhang; über Annotated[T, reducer] im State-Schema deklariert. |
| Knoten (node) | node / PregelNode | Ausführungseinheit des Graphen; hält bound / triggers / writers / subgraphs. libs/langgraph/langgraph/pregel/_read.py |
| Knoten hinzufügen | add_node | StateGraph.add_node(name, action) registriert eine Knotenfunktion oder ein Runnable; intern über coerce_to_runnable. libs/langgraph/langgraph/graph/state.py |
| Bedingte Kante | add_conditional_edges | Leitet 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) | checkpoint | Thread-Level persistierte Momentaufnahme; speichert Kanalversionen, pending writes, metadata; unterstützt Wiederaufnahme. libs/langgraph/langgraph/pregel/_checkpoint.py |
| Checkpoint-Saver | BaseCheckpointSaver | Persistenzschnittstelle für Checkpoints: put / get_tuple / list. libs/checkpoint/langgraph/checkpoint/base/__init__.py |
| In-Memory-Saver | InMemorySaver / MemorySaver | In-Memory-Implementierung von BaseCheckpointSaver, nur für Debugging; MemorySaver ist ein alter Alias für InMemorySaver. libs/checkpoint/langgraph/checkpoint/memory/__init__.py |
| Zustandsmomentaufnahme | StateSnapshot | Zustandssicht zu Beginn eines Schritts; enthält values / next / tasks / interrupts. libs/langgraph/langgraph/types.py |
| Interrupt (interrupt) | interrupt / Interrupt | interrupt(value) innerhalb eines Knoten wirft GraphInterrupt und pausiert die Graphausführung; Client setzt mit Command(resume=...) fort. libs/langgraph/langgraph/types.py |
| Befehl (command) | Command | Drei-in-eins-Primitive resume / goto / update; kann als Knoten-Rückgabewert oder als invoke-Input dienen. libs/langgraph/langgraph/types.py |
| Zustellen | Send | PUSH-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 / @task | Funktionale API; @entrypoint wickelt eine Funktion in ein Pregel, @task in eine dispatchbare Teilaufgabe. libs/langgraph/langgraph/func/__init__.py |
| Stream-Modus | stream_mode | Ausgabeprojektion 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.pyist der Eingang derPregel-Klasse,__init__.pyexportiert die öffentliche Schnittstelle,_loop.pyist diePregelLoop-Zustandsmaschine,_runner.pyist derPregelRunner-Konkurrenz-Ausführer,_algo.pyenthältapply_writes/prepare_next_tasks/should_interruptund andere Algorithmusfunktionen,_io.pyenthältmap_command/map_input/map_output_*,_call.pyenthältSyncAsyncFutureund die Runnable-Hülle für Tasks,_read.pyenthältPregelNode,_executor.pyenthältBackgroundExecutor/AsyncBackgroundExecutor,remote.pyenthältRemoteGraph.graph/—StateGraph/CompiledStateGraphBenutzerschnittstelle;state.pyist der Kern,_node.py/_branch.pysind Hilfsdateien.channels/— Implementierungen vonBaseChannel/LastValue/Topic/Binopusw.func/—@entrypoint/@taskfunktionale API (tatsächlich komplett in einer Dateifunc/__init__.py).types.py— Öffentliche Datentypen wieCommand/Send/Interrupt/StateSnapshot/PregelExecutableTask.stream/— Streaming-Mux-Implementierungen wieGraphRunStream/StreamMux.managed/— Zur Laufzeit injizierte Werte wieIsLastStep.
- 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 HauptklassePregelinpregel/main.py.
Offizielle Materialien
- LangGraph offizielle Dokumentation
- LangGraph-Tutorials
- LangGraph Streaming-Guide
- LangGraph Human-in-the-Loop-Guide
- GitHub-Repository langchain-ai/langgraph (Quellcode dieser Site fixiert auf Tag
1.2.9)
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.