初始化项目:langgraph 学习笔记与 lg_common 通用组件包
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"id": "initial_id",
|
||||
"metadata": {
|
||||
"collapsed": true,
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-07-29T11:54:37.402220Z",
|
||||
"start_time": "2026-07-29T11:54:37.062467Z"
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"from typing import TypedDict, Annotated\n",
|
||||
"from operator import add\n",
|
||||
"\n",
|
||||
"from langgraph.graph import StateGraph, START, END\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# 1. 定义状态\n",
|
||||
"class OverAllState(TypedDict):\n",
|
||||
" logs: Annotated[list[str], add]\n",
|
||||
" id: str\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# 2. 定义节点\n",
|
||||
"def node_1(state: OverAllState) -> OverAllState:\n",
|
||||
" id = state[\"id\"]\n",
|
||||
" return {\n",
|
||||
" \"logs\": [\"node_1 运行完了\"],\n",
|
||||
" \"id\": id + \",node_1\"\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"def node_2(state: OverAllState) -> OverAllState:\n",
|
||||
" id = state[\"id\"]\n",
|
||||
" return {\n",
|
||||
" \"logs\": [\"node_2 运行完了\"],\n",
|
||||
" \"id\": id + \",node_2\"\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"# 图\n",
|
||||
"builder = StateGraph(state_schema=OverAllState)\n",
|
||||
"builder.add_node(node_1)\n",
|
||||
"builder.add_node(node_2)\n",
|
||||
"\n",
|
||||
"builder.add_edge(START, \"node_1\")\n",
|
||||
"builder.add_edge(\"node_1\", \"node_2\")\n",
|
||||
"builder.add_edge(\"node_2\", END)\n",
|
||||
"\n",
|
||||
"graph = builder.compile()\n",
|
||||
"\n",
|
||||
"result = graph.invoke({\"id\": \"gqt_\"})\n",
|
||||
"print(result)"
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"{'logs': ['node_1 运行完了', 'node_2 运行完了'], 'id': 'gqt_,node_1,node_2'}\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 2
|
||||
},
|
||||
{
|
||||
"metadata": {
|
||||
"ExecuteTime": {
|
||||
"end_time": "2026-07-29T11:54:38.247128Z",
|
||||
"start_time": "2026-07-29T11:54:37.414230Z"
|
||||
}
|
||||
},
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"graph_mermaid=graph.get_graph().draw_mermaid()\n",
|
||||
"print(graph_mermaid)"
|
||||
],
|
||||
"id": "615a7ac2bdbdfd2f",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"---\n",
|
||||
"config:\n",
|
||||
" flowchart:\n",
|
||||
" curve: linear\n",
|
||||
"---\n",
|
||||
"graph TD;\n",
|
||||
"\t__start__([<p>__start__</p>]):::first\n",
|
||||
"\tnode_1(node_1)\n",
|
||||
"\tnode_2(node_2)\n",
|
||||
"\t__end__([<p>__end__</p>]):::last\n",
|
||||
"\t__start__ --> node_1;\n",
|
||||
"\tnode_1 --> node_2;\n",
|
||||
"\tnode_2 --> __end__;\n",
|
||||
"\tclassDef default fill:#f2f0ff,line-height:1.2\n",
|
||||
"\tclassDef first fill-opacity:0\n",
|
||||
"\tclassDef last fill:#bfb6fc\n",
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"execution_count": 3
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"cell_type": "code",
|
||||
"outputs": [],
|
||||
"execution_count": null,
|
||||
"source": "",
|
||||
"id": "fb967b9e12fee1c0"
|
||||
}
|
||||
],
|
||||
"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
|
||||
}
|
||||
Reference in New Issue
Block a user