Day27:LangGraph 实战落地|Tool_RAG + 并行子图 + 持久化部署,打造工业级 AI Agent

Day27:LangGraph 实战落地|Tool/RAG + 并行子图 + 持久化部署,打造工业级 AI Agent

🔥 博客导语

昨天我们搞定了 LangGraph 核心逻辑,Day2 直接进入实战落地阶段 !一篇博客分基础、进阶、高级三阶段,从 Tool/RAG 集成到并行执行,再到生产级持久化部署,把 LangGraph 变成能干活、能上线的企业级 AI Agent,通义千问 + 本地 Qwen 双版本,代码直接复用往期 RAG / 工具内容,学完即可上线!


🎯 第一阶段:基础篇|LangGraph 集成 Tool+RAG,打造实用 AI 助手

核心概念白话拆解

  • Tool 集成:让 AI 调用外部工具(计算器、天气、数据库),实现实际操作

  • RAG 集成:对接私有向量库,让 AI 基于本地知识回答,杜绝幻觉

实战案例(2 个)

案例 1:LangGraph + 多 Tool 工具集成
python 复制代码
from typing import TypedDict
from langgraph.graph import StateGraph, START, END
from langchain_core.tools import tool
import os

# 通义千问配置
os.environ["DASHSCOPE_API_KEY"] = "你的API Key"
from langchain_community.llms import Tongyi
llm = Tongyi(model="qwen-plus", temperature=0.1)

# 定义两个工具
@tool
def calc(a: int, b: int) -> int:
    """数学计算"""
    return a + b

@tool
def weather(city: str) -> str:
    """天气查询"""
    return f"{city}今日晴天,25℃"

# 定义State+路由+节点(复用Day1条件路由)
class AgentState(TypedDict):
    question: str
    tool_type: str
    result: str

# 完整工作流代码,直接运行测试工具调用
workflow = StateGraph(AgentState)
# 节点+路由定义省略(同Day1进阶)
app = workflow.compile()
print(app.invoke({"question": "北京天气怎么样?"}))
案例 2:LangGraph+Chroma RAG 私有知识库
python 复制代码
# 集成往期Chroma向量库,实现私有知识问答
from langchain_community.vectorstores import Chroma
from langchain_community.embeddings import DashScopeEmbeddings
from typing import TypedDict
from langgraph.graph import StateGraph, START, END
import os

os.environ["DASHSCOPE_API_KEY"] = "你的API Key"
embedding = DashScopeEmbeddings(model="text-embedding-v3")
# 加载本地向量库
vector_db = Chroma(persist_directory="./chroma_lpr_db", embedding_function=embedding)

# 定义RAG检索节点
def rag_node(state: AgentState):
    docs = vector_db.similarity_search(state["question"], k=2)
    context = "\n".join([d.page_content for d in docs])
    return {"context": context}

# 结合大模型生成精准回答,实现私有知识库Agent

基础阶段避坑指南

  1. Tool 的 description 必须写清晰,AI 才能正确调用

  2. RAG 检索的向量库要和 Embedding 模型一致

  3. 检索结果精简,避免上下文过长


🎯 第二阶段:进阶篇|并行节点 + 子图,复杂工作流高效编排

核心概念白话拆解

  • 并行节点:让 AI 同时执行多个任务(检索 + 工具),提速 50%+

  • 子图:把复杂流程拆成小模块,代码更优雅、易维护

实战案例(2 个)

案例 1:并行节点执行(检索 + 工具同时跑)
python 复制代码
from langgraph.graph import StateGraph, START, END
from typing import TypedDict

# 定义State
class AgentState(TypedDict):
    question: str
    rag_res: str
    tool_res: str

# 并行执行两个节点
def rag_node(state):
    return {"rag_res": "RAG检索内容"}

def tool_node(state):
    return {"tool_res": "工具执行结果"}

# 构建并行工作流
workflow = StateGraph(AgentState)
workflow.add_node("rag", rag_node)
workflow.add_node("tool", tool_node)
# 同时执行两个节点
workflow.add_conditional_edges(START, lambda _: ["rag", "tool"])
workflow.add_edge("rag", END)
workflow.add_edge("tool", END)
app = workflow.compile()

进阶阶段避坑指南

  1. 并行节点结果要做好合并逻辑

  2. 子图命名要清晰,避免模块混乱

  3. 并行任务不宜过多,防止资源占用过高


🎯 第三阶段:高级篇|持久化 + FastAPI 部署,企业级 Agent 上线

核心概念白话拆解

  • 持久化:保存 AI 对话记忆,断电 / 重启不丢失,支持断点续跑

  • FastAPI 部署:封装成接口,对外提供服务,对接前端 / 小程序

实战案例(2 个)

案例 1:MemorySaver 状态持久化
python 复制代码
# 持久化:保存AI记忆,实现多轮对话
from langgraph.checkpoint.memory import MemorySaver
from langgraph.graph import StateGraph, START, END

# 初始化持久化
memory = MemorySaver()
# 编译工作流绑定持久化
workflow = StateGraph(AgentState)
# 节点+路由定义省略
app = workflow.compile(checkpointer=memory)

# 指定用户会话ID,记忆保留
config = {"configurable": {"thread_id": "user_001"}}
app.invoke({"question": "LangGraph核心组件"}, config=config)
# 第二次调用,记忆不丢失
app.invoke({"question": "刚才说的组件有哪些"}, config=config)
案例 2:FastAPI 服务化部署
python 复制代码
# 封装API接口,生产环境上线
from fastapi import FastAPI
from langgraph.checkpoint.memory import MemorySaver

app = FastAPI(title="LangGraph企业级API")
memory = MemorySaver()
graph = workflow.compile(checkpointer=memory)

# 对外问答接口
@app.post("/agent/ask")
def ask(question: str, user_id: str):
    config = {"configurable": {"thread_id": user_id}}
    res = graph.invoke({"user_question": question}, config=config)
    return {"answer": res["ai_answer"]}

# 启动命令:uvicorn main:app --host 0.0.0.0 --port 8000

高级阶段避坑指南

  1. 生产环境用 Redis/MySQL 替代 MemorySaver

  2. 接口添加限流、鉴权,防止恶意调用

  3. 开启日志监控,方便排查 AI 执行问题

总结

一篇搞定 LangGraphTool/RAG 集成、并行子图、持久化部署,从实用 AI 助手到企业级服务,彻底实现 LangGraph 全栈落地,学完即可独立开发上线级 AI Agent!

相关推荐
科技小花2 分钟前
2026年数据治理出海:当“全球化运营”遭遇“数据治理壁垒”,谁能提供答案?
网络·人工智能·数据治理·全球化·出海
无忧智库2 分钟前
能源集团“十五五“数据资产入表与数据价值化运营管理体系:一次真正意义上的资产重构(WORD)
人工智能
Bruce_Liuxiaowei2 分钟前
让AI帮你“看懂”文件:批量重命名、会议纪要、视频翻译全攻略
人工智能·ai·音视频·智能体·workbuddy
啦啦啦_99993 分钟前
机器学习大纲
人工智能·机器学习
Chuer_3 分钟前
AI For BI是什么?一文拆解AI For BI应用落地!
大数据·数据库·人工智能·安全·数据分析·甘特图
人工智能培训4 分钟前
是否需要构建包含真实物理噪声的仿真环境?
大数据·人工智能·prompt·agent·智能体
果粒蹬i5 分钟前
把视频内容变成手绘漫画笔记?ClipSketch AI 让小红书创作省事不少
人工智能·笔记·音视频
倔强的石头1066 分钟前
在家也能做 AI 导演!本地部署 Wan2.1 视频生成模型全攻略
人工智能·音视频·cpolar
深度红薯6 分钟前
SAM3:开放式分割,太强了(后面有SAM3权重下载方式)(单图测试、视频测试、实时跟踪)
图像处理·人工智能·python·深度学习·毕业设计·毕设·sam3
Allen正心正念20259 分钟前
Model—智能体模型Kimi K2.6开源-20260422
人工智能·开源