Glosario y materiales
源码版本1.2.9
Términos clave
| Término | Inglés | Descripción |
|---|---|---|
| Grafo de estados | StateGraph | Entrada de construcción del usuario: add_node / add_edge / add_conditional_edges / compile. libs/langgraph/langgraph/graph/state.py |
| Grafo compilado | CompiledGraph / Pregel | Producto de StateGraph.compile(); implementa PregelProtocol y alberga las entradas stream / invoke / astream. libs/langgraph/langgraph/pregel/main.py |
| Ejecutable Pregel | Pregel | Grafo ejecutable compilado; hereda de PregelProtocol y mantiene nodes / channels / checkpointer. libs/langgraph/langgraph/pregel/main.py |
| Superpaso | superstep | Unidad de ejecución del modelo Pregel; dentro de un superpaso se ejecutan en paralelo todos los nodos disparados y en la frontera del paso se sincronizan las actualizaciones de los canales; tomado del modelo BSP del paper de Google Pregel. |
| Canal | channel | Primitiva de actualización de estado; cada canal tiene un número de versión y un reducer decide cómo se fusionan las escrituras. libs/langgraph/langgraph/channels/ |
| Clase base de canal | BaseChannel | Clase base abstracta de todos los canales; define las interfaces update / get / checkpoint etc. libs/langgraph/langgraph/channels/base.py |
| Canal LastValue | LastValue | Canal que solo retiene el valor más reciente, usado habitualmente para campos de estado; LastValueAfterFinish retrasa la actualización al final del paso. libs/langgraph/langgraph/channels/last_value.py |
| Reductor | reducer | Función que fusiona escrituras en un canal, p. ej. operator.add para appending en listas; se declara en el state schema mediante Annotated[T, reducer]. |
| Nodo | node / PregelNode | Unidad de ejecución del grafo; mantiene bound / triggers / writers / subgraphs. libs/langgraph/langgraph/pregel/_read.py |
| Añadir nodo | add_node | StateGraph.add_node(name, action) registra una función de nodo o Runnable, internamente pasa por coerce_to_runnable. libs/langgraph/langgraph/graph/state.py |
| Borde condicional | add_conditional_edges | Dirige al siguiente nodo según el valor devuelto por una función condicional; devolviendo una lista de Send se implementa fan-out. libs/langgraph/langgraph/graph/state.py |
| Punto de control | checkpoint | Instantánea persistente a nivel de hilo; registra versiones de canal, pending writes y metadata; permite reanudar desde un punto de ruptura. libs/langgraph/langgraph/pregel/_checkpoint.py |
| Persistidor de puntos de control | BaseCheckpointSaver | Interfaz de persistencia de checkpoints: put / get_tuple / list. libs/checkpoint/langgraph/checkpoint/base/__init__.py |
| Persistidor en memoria | InMemorySaver / MemorySaver | Implementación en memoria de BaseCheckpointSaver, solo para depuración; MemorySaver es el alias antiguo de InMemorySaver. libs/checkpoint/langgraph/checkpoint/memory/__init__.py |
| Instantánea de estado | StateSnapshot | Vista del estado al inicio del paso; contiene values / next / tasks / interrupts. libs/langgraph/langgraph/types.py |
| Interrupción | interrupt / Interrupt | interrupt(value) dentro de un nodo lanza GraphInterrupt y pausa la ejecución del grafo; el cliente usa Command(resume=...) para reanudar. libs/langgraph/langgraph/types.py |
| Comando | Command | Primitiva triple resume / goto / update; puede usarse tanto como valor de retorno de un nodo como como entrada de invoke. libs/langgraph/langgraph/types.py |
| Envío | Send | Primitiva PUSH de tareas: entrega a un nodo una tarea con un arg específico, para fan-out map-reduce. libs/langgraph/langgraph/types.py |
| API funcional | @entrypoint / @task | API funcional: @entrypoint envuelve una función en un Pregel, @task la envuelve en una subtarea programable. libs/langgraph/langgraph/func/__init__.py |
| Modo de stream | stream_mode | Opción de proyección de salida de Pregel.stream / astream: values / updates / messages / custom / checkpoints / tasks / debug. libs/langgraph/langgraph/pregel/main.py |
Convenciones de directorios
- El código fuente principal está en
libs/langgraph/langgraph/, organizado por responsabilidades:pregel/— núcleo del motor de ejecución.main.pyes la entrada de la clasePregel;__init__.pyexporta la interfaz pública;_loop.pyes la máquina de estadosPregelLoop;_runner.pyes el ejecutor paraleloPregelRunner;_algo.pycontiene las funciones algorítmicasapply_writes/prepare_next_tasks/should_interrupt;_io.pycontienemap_command/map_input/map_output_*;_call.pycontieneSyncAsyncFuturey el envoltorio Runnable de task;_read.pyesPregelNode;_executor.pycontieneBackgroundExecutor/AsyncBackgroundExecutor;remote.pyesRemoteGraph.graph/— interfaz de usuarioStateGraph/CompiledStateGraph;state.pyes el núcleo,_node.py/_branch.pyson helpers.channels/— implementaciones de canalBaseChannel/LastValue/Topic/Binop.func/— API funcional@entrypoint/@task(todo en un único archivofunc/__init__.py).types.py— tipos de datos públicosCommand/Send/Interrupt/StateSnapshot/PregelExecutableTasketc.stream/— implementación de mux de streamingGraphRunStream/StreamMux.managed/— valores inyectados en tiempo de ejecución comoIsLastStep.
- Las implementaciones de checkpoint se desglosan en paquetes independientes:
libs/checkpoint/(base + memory),libs/checkpoint-sqlite/,libs/checkpoint-postgres/. - La entrada del motor Pregel está en
libs/langgraph/langgraph/pregel/__init__.py; la clase principalPregelestá enpregel/main.py.
Materiales oficiales
- Documentación oficial de LangGraph
- Tutoriales de LangGraph
- Guía de streaming de LangGraph
- Guía de human-in-the-loop de LangGraph
- Repositorio GitHub langchain-ai/langgraph (este sitio fija el tag
1.2.9)
Versión del código fuente
Este sitio fija la versión 1.2.9 del código fuente; los números de línea se refieren a ese tag. Todos los <SrcLink> apuntan a github.com/langchain-ai/langgraph/blob/1.2.9/<path>#Lxx-Lyy. Para subir de versión, cambia LANGGRAPH_TAG en docs/.vitepress/site.ts y ejecuta npm run check:refs.