211 lines
21 KiB
Plaintext
211 lines
21 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"id": "initial_id",
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"ExecuteTime": {
|
|
"end_time": "2026-08-01T05:23:05.461288Z",
|
|
"start_time": "2026-08-01T05:23:05.449204Z"
|
|
}
|
|
},
|
|
"source": [
|
|
"\"\"\"\n",
|
|
"START --> (router) --> mapper_node --> (reducer字段合并) --> reducer_node\n",
|
|
" --> mapper_node -->\n",
|
|
"\"\"\"\n",
|
|
"\n",
|
|
"from typing import TypedDict, Annotated, Sequence\n",
|
|
"\n",
|
|
"from operator import add\n",
|
|
"\n",
|
|
"\n",
|
|
"class OverallState(TypedDict):\n",
|
|
" input_values: list[str]\n",
|
|
" entries: Annotated[list[tuple[str, int]], add]\n",
|
|
" word_counts: dict[str, int]\n",
|
|
"\n",
|
|
"\n",
|
|
"class MaperInputState(TypedDict):\n",
|
|
" input_value: str"
|
|
],
|
|
"outputs": [],
|
|
"execution_count": 9
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-08-01T05:23:05.475801Z",
|
|
"start_time": "2026-08-01T05:23:05.462674Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"from langgraph.types import Send\n",
|
|
"\n",
|
|
"\n",
|
|
"def router_node(state: OverallState) -> Sequence[Send]:\n",
|
|
" task = []\n",
|
|
" for input_value in state[\"input_values\"]:\n",
|
|
" task.append(\n",
|
|
" Send(\"mapper_node\", arg={\"input_value\": input_value})\n",
|
|
" )\n",
|
|
" return task\n",
|
|
"\n",
|
|
"\n",
|
|
"def mapper_node(state: MaperInputState) -> OverallState:\n",
|
|
" words = state[\"input_value\"].split(\" \")\n",
|
|
" entries = []\n",
|
|
" for word in words:\n",
|
|
" entries.append((word, 1))\n",
|
|
" return {\n",
|
|
" \"entries\": entries,\n",
|
|
" }\n",
|
|
"\n",
|
|
"\n",
|
|
"def reducer_node(state: OverallState) -> OverallState:\n",
|
|
" entries = state[\"entries\"]\n",
|
|
" shuffle_dict = {}\n",
|
|
" for k, v in entries:\n",
|
|
" if k not in shuffle_dict:\n",
|
|
" shuffle_dict[k] = v\n",
|
|
" else:\n",
|
|
" shuffle_dict[k] += v\n",
|
|
" return {\n",
|
|
" \"word_counts\": shuffle_dict\n",
|
|
" }"
|
|
],
|
|
"id": "acfc45665818b2c3",
|
|
"outputs": [],
|
|
"execution_count": 10
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-08-01T05:23:05.486771Z",
|
|
"start_time": "2026-08-01T05:23:05.479810Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"from langgraph.graph import StateGraph, START, END\n",
|
|
"\n",
|
|
"builder = StateGraph(state_schema=OverallState)\n",
|
|
"# builder.add_node(\"router_ndoe\")\n",
|
|
"builder.add_node(\"mapper_node\",mapper_node)\n",
|
|
"builder.add_node(\"reducer_node\",reducer_node)\n",
|
|
"\n",
|
|
"builder.add_conditional_edges(START, router_node, path_map=[\"mapper_node\"])\n",
|
|
"builder.add_edge(\"mapper_node\", \"reducer_node\")\n",
|
|
"builder.add_edge(\"reducer_node\", END)\n",
|
|
"\n",
|
|
"graph = builder.compile()"
|
|
],
|
|
"id": "a58b2eee06957fa8",
|
|
"outputs": [],
|
|
"execution_count": 11
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-08-01T05:23:09.162442Z",
|
|
"start_time": "2026-08-01T05:23:05.490834Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"from IPython.display import display\n",
|
|
"display(graph)"
|
|
],
|
|
"id": "f9330e28be72d83d",
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<langgraph.graph.state.CompiledStateGraph object at 0x10ebdcf50>"
|
|
],
|
|
"image/png": "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"
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"execution_count": 12
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-08-01T05:23:09.188521Z",
|
|
"start_time": "2026-08-01T05:23:09.179066Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": "res=graph.invoke({\"input_values\": [\"hello world1\", \"hello world2\",\"hello world3\"]})",
|
|
"id": "884a4663016ef510",
|
|
"outputs": [],
|
|
"execution_count": 13
|
|
},
|
|
{
|
|
"metadata": {
|
|
"ExecuteTime": {
|
|
"end_time": "2026-08-01T05:23:09.254264Z",
|
|
"start_time": "2026-08-01T05:23:09.192955Z"
|
|
}
|
|
},
|
|
"cell_type": "code",
|
|
"source": [
|
|
"from rich import print as rp\n",
|
|
"\n",
|
|
"rp(res)"
|
|
],
|
|
"id": "8426d824fcc37841",
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"\u001B[1m{\u001B[0m\n",
|
|
" \u001B[32m'input_values'\u001B[0m: \u001B[1m[\u001B[0m\u001B[32m'hello world1'\u001B[0m, \u001B[32m'hello world2'\u001B[0m, \u001B[32m'hello world3'\u001B[0m\u001B[1m]\u001B[0m,\n",
|
|
" \u001B[32m'entries'\u001B[0m: \u001B[1m[\u001B[0m\u001B[1m(\u001B[0m\u001B[32m'hello'\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m, \u001B[1m(\u001B[0m\u001B[32m'world1'\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m, \u001B[1m(\u001B[0m\u001B[32m'hello'\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m, \u001B[1m(\u001B[0m\u001B[32m'world2'\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m, \u001B[1m(\u001B[0m\u001B[32m'hello'\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m, \u001B[1m(\u001B[0m\u001B[32m'world3'\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m\u001B[1m]\u001B[0m,\n",
|
|
" \u001B[32m'word_counts'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'hello'\u001B[0m: \u001B[1;36m3\u001B[0m, \u001B[32m'world1'\u001B[0m: \u001B[1;36m1\u001B[0m, \u001B[32m'world2'\u001B[0m: \u001B[1;36m1\u001B[0m, \u001B[32m'world3'\u001B[0m: \u001B[1;36m1\u001B[0m\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\">'input_values'</span>: <span style=\"font-weight: bold\">[</span><span style=\"color: #008000; text-decoration-color: #008000\">'hello world1'</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'hello world2'</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'hello world3'</span><span style=\"font-weight: bold\">]</span>,\n",
|
|
" <span style=\"color: #008000; text-decoration-color: #008000\">'entries'</span>: <span style=\"font-weight: bold\">[(</span><span style=\"color: #008000; text-decoration-color: #008000\">'hello'</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>, <span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'world1'</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>, <span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'hello'</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>, <span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'world2'</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>, <span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'hello'</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>, <span style=\"font-weight: bold\">(</span><span style=\"color: #008000; text-decoration-color: #008000\">'world3'</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)]</span>,\n",
|
|
" <span style=\"color: #008000; text-decoration-color: #008000\">'word_counts'</span>: <span style=\"font-weight: bold\">{</span><span style=\"color: #008000; text-decoration-color: #008000\">'hello'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'world1'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'world2'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>, <span style=\"color: #008000; text-decoration-color: #008000\">'world3'</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">}</span>\n",
|
|
"<span style=\"font-weight: bold\">}</span>\n",
|
|
"</pre>\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"execution_count": 14
|
|
}
|
|
],
|
|
"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
|
|
}
|