Files
langgraph-learning/chapter06/01_subgraph_func.ipynb
T
2026-08-16 16:08:55 +08:00

233 lines
47 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2026-08-16T07:57:49.151253Z",
"start_time": "2026-08-16T07:57:49.125918Z"
}
},
"source": [
"from typing import TypedDict\n",
"\n",
"\n",
"class SubGraphState(TypedDict):\n",
" raw_text: str # 未清洗的文本\n",
" stripped_text: str # 去除首尾空格\n",
" punctuated: str # 句尾添加句号\n",
"\n",
"\n",
"# 去除空格\n",
"def sub_graph_strip_node(state: SubGraphState) -> SubGraphState:\n",
" raw_text = state[\"raw_text\"]\n",
" stripped_text = raw_text.strip()\n",
" return SubGraphState(stripped_text=stripped_text)\n",
"\n",
"\n",
"# 添加句号\n",
"def sub_graph_punctuate_node(state: SubGraphState) -> SubGraphState:\n",
" striped_text = state[\"stripped_text\"]\n",
" punctuated_text = striped_text + \"。\"\n",
" return SubGraphState(punctuated=punctuated_text)\n",
"\n",
"\n",
"from langgraph.graph import StateGraph, START, END\n",
"\n",
"builder = StateGraph(state_schema=SubGraphState)\n",
"builder.add_node(\"sub_graph_strip_node\", sub_graph_strip_node)\n",
"builder.add_node(\"sub_graph_punctuate_node\", sub_graph_punctuate_node)\n",
"builder.add_edge(START, \"sub_graph_strip_node\")\n",
"builder.add_edge(\"sub_graph_strip_node\", \"sub_graph_punctuate_node\")\n",
"builder.add_edge(\"sub_graph_punctuate_node\", END)\n",
"sub_graph = builder.compile()"
],
"outputs": [],
"execution_count": 25
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-16T07:57:49.172031Z",
"start_time": "2026-08-16T07:57:49.154524Z"
}
},
"cell_type": "code",
"source": [
"res = sub_graph.invoke({\"raw_text\": \" langgraph hhh \"})\n",
"print(res)"
],
"id": "242837b7db1322d2",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'raw_text': ' langgraph hhh ', 'stripped_text': 'langgraph hhh', 'punctuated': 'langgraph hhh。'}\n"
]
}
],
"execution_count": 26
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-16T07:57:49.180063Z",
"start_time": "2026-08-16T07:57:49.174869Z"
}
},
"cell_type": "code",
"source": [
"class ParentState(TypedDict):\n",
" input_text: str\n",
" cleaned_text: str\n",
"\n",
"\n",
"def call_subgraph(state: ParentState) -> ParentState:\n",
" input_text = state[\"input_text\"]\n",
" res = sub_graph.invoke({\"raw_text\": input_text})\n",
" return ParentState(cleaned_text=res[\"punctuated\"])\n",
"\n",
"\n",
"parent_builder = StateGraph(state_schema=ParentState)\n",
"parent_builder.add_node(\"call_subgraph\", call_subgraph)\n",
"parent_builder.add_edge(START, \"call_subgraph\")\n",
"parent_builder.add_edge(\"call_subgraph\", END)\n",
"graph = parent_builder.compile()"
],
"id": "c785d2fc0ad5236a",
"outputs": [],
"execution_count": 27
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-16T07:57:49.205931Z",
"start_time": "2026-08-16T07:57:49.188421Z"
}
},
"cell_type": "code",
"source": [
"res = graph.invoke({\"input_text\": \" langgraph hhh \"})\n",
"print(res)"
],
"id": "761dc637cfa297fa",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'input_text': ' langgraph hhh ', 'cleaned_text': 'langgraph hhh。'}\n"
]
}
],
"execution_count": 28
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-16T07:57:55.534140Z",
"start_time": "2026-08-16T07:57:49.206542Z"
}
},
"cell_type": "code",
"source": [
"from IPython.display import display,Image\n",
"display(graph)"
],
"id": "c43542506a94c8e",
"outputs": [
{
"data": {
"text/plain": [
"<langgraph.graph.state.CompiledStateGraph object at 0x10d01efd0>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 29
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-16T07:57:58.387664Z",
"start_time": "2026-08-16T07:57:55.545075Z"
}
},
"cell_type": "code",
"source": [
"display(\n",
" Image(graph.get_graph(xray=True).draw_mermaid_png())\n",
")"
],
"id": "39f71b596bc45c94",
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 30
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2026-08-16T08:03:04.656791Z",
"start_time": "2026-08-16T08:03:00.524802Z"
}
},
"cell_type": "code",
"source": [
"for item in list(graph.get_subgraphs()):\n",
" display(item[1])"
],
"id": "a33aee305539b21f",
"outputs": [
{
"data": {
"text/plain": [
"<langgraph.graph.state.CompiledStateGraph object at 0x10d01e5d0>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"execution_count": 35
}
],
"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
}