Files
langgraph-learning/chapter05/01_output_values_updates.ipynb
T

234 lines
18 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2026-08-15T15:53:29.792161Z",
"start_time": "2026-08-15T15:53:29.765234Z"
}
},
"source": [
"from typing import TypedDict\n",
"from langgraph.graph import StateGraph, START, END\n",
"from rich import print as rp\n",
"\n",
"\n",
"class OverallState(TypedDict):\n",
" initial_state: str\n",
" node_a_output: str\n",
" node_b_output: str\n",
"\n",
"\n",
"def node_a(state: OverallState):\n",
" return {\n",
" \"node_a_output\": \"节点A执行完毕\"\n",
" }\n",
"\n",
"\n",
"def node_b(state: OverallState):\n",
" return {\n",
" \"node_b_output\": \"节点B执行完毕\"\n",
" }"
],
"outputs": [],
"execution_count": 4
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-15T15:53:30.127515Z",
"start_time": "2026-08-15T15:53:29.793490Z"
}
},
"cell_type": "code",
"source": [
"builder = StateGraph(state_schema=OverallState)\n",
"builder.add_node(\"node_a\", node_a)\n",
"builder.add_node(\"node_b\", node_b)\n",
"builder.add_edge(START, \"node_a\")\n",
"builder.add_edge(\"node_a\", \"node_b\")\n",
"builder.add_edge(\"node_b\", END)\n",
"\n",
"graph = builder.compile()\n",
"\n",
"from IPython.display import display\n",
"\n",
"display(graph)"
],
"id": "e08b64a75c2e22d7",
"outputs": [
{
"data": {
"text/plain": [
"<langgraph.graph.state.CompiledStateGraph object at 0x10e8c1590>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 5
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-15T15:53:30.210535Z",
"start_time": "2026-08-15T15:53:30.128380Z"
}
},
"cell_type": "code",
"source": [
"for chunk in graph.stream(\n",
" {\"initial_state\": \"初始化状态,调用的时候传入\"},\n",
" stream_mode=[\"values\",\"updates\"],\n",
"):\n",
" print(\"=\" * 50)\n",
" rp(chunk)"
],
"id": "b634146ae211a527",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"==================================================\n"
]
},
{
"data": {
"text/plain": [
"\u001B[1m(\u001B[0m\u001B[32m'values'\u001B[0m, \u001B[1m{\u001B[0m\u001B[32m'initial_state'\u001B[0m: \u001B[32m'初始化状态,调用的时候传入'\u001B[0m\u001B[1m}\u001B[0m\u001B[1m)\u001B[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'values'</span>, <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'initial_state'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'初始化状态,调用的时候传入'</span><span style=\"font-weight: bold\">})</span>\n",
"</pre>\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"==================================================\n"
]
},
{
"data": {
"text/plain": [
"\u001B[1m(\u001B[0m\u001B[32m'updates'\u001B[0m, \u001B[1m{\u001B[0m\u001B[32m'node_a'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'node_a_output'\u001B[0m: \u001B[32m'节点A执行完毕'\u001B[0m\u001B[1m}\u001B[0m\u001B[1m}\u001B[0m\u001B[1m)\u001B[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'updates'</span>, <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'node_a'</span>: <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'node_a_output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'节点A执行完毕'</span><span style=\"font-weight: bold\">}})</span>\n",
"</pre>\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"==================================================\n"
]
},
{
"data": {
"text/plain": [
"\u001B[1m(\u001B[0m\u001B[32m'values'\u001B[0m, \u001B[1m{\u001B[0m\u001B[32m'initial_state'\u001B[0m: \u001B[32m'初始化状态,调用的时候传入'\u001B[0m, \u001B[32m'node_a_output'\u001B[0m: \u001B[32m'节点A执行完毕'\u001B[0m\u001B[1m}\u001B[0m\u001B[1m)\u001B[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'values'</span>, <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'initial_state'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'初始化状态,调用的时候传入'</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'node_a_output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'节点A执行完毕'</span><span style=\"font-weight: bold\">})</span>\n",
"</pre>\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"==================================================\n"
]
},
{
"data": {
"text/plain": [
"\u001B[1m(\u001B[0m\u001B[32m'updates'\u001B[0m, \u001B[1m{\u001B[0m\u001B[32m'node_b'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'node_b_output'\u001B[0m: \u001B[32m'节点B执行完毕'\u001B[0m\u001B[1m}\u001B[0m\u001B[1m}\u001B[0m\u001B[1m)\u001B[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'updates'</span>, <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'node_b'</span>: <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'node_b_output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'节点B执行完毕'</span><span style=\"font-weight: bold\">}})</span>\n",
"</pre>\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"==================================================\n"
]
},
{
"data": {
"text/plain": [
"\u001B[1m(\u001B[0m\n",
" \u001B[32m'values'\u001B[0m,\n",
" \u001B[1m{\u001B[0m\n",
" \u001B[32m'initial_state'\u001B[0m: \u001B[32m'初始化状态,调用的时候传入'\u001B[0m,\n",
" \u001B[32m'node_a_output'\u001B[0m: \u001B[32m'节点A执行完毕'\u001B[0m,\n",
" \u001B[32m'node_b_output'\u001B[0m: \u001B[32m'节点B执行完毕'\u001B[0m\n",
" \u001B[1m}\u001B[0m\n",
"\u001B[1m)\u001B[0m\n"
],
"text/html": [
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">(</span>\n",
" <span style=\"color: #008000; text-decoration-color: #008000\">'values'</span>,\n",
" <span style=\"font-weight: bold\">{</span>\n",
" <span style=\"color: #008000; text-decoration-color: #008000\">'initial_state'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'初始化状态,调用的时候传入'</span>,\n",
" <span style=\"color: #008000; text-decoration-color: #008000\">'node_a_output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'节点A执行完毕'</span>,\n",
" <span style=\"color: #008000; text-decoration-color: #008000\">'node_b_output'</span>: <span style=\"color: #008000; text-decoration-color: #008000\">'节点B执行完毕'</span>\n",
" <span style=\"font-weight: bold\">}</span>\n",
"<span style=\"font-weight: bold\">)</span>\n",
"</pre>\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 6
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}