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!

相关推荐
winlife_19 小时前
从一句话到可玩原型:用 funplay-unity-mcp 让 AI 搭起完整游戏循环
人工智能·游戏·unity·ai编程·mcp·游戏原型
碳基硅坊19 小时前
llama.cpp本地部署Qwen3.6-27B
人工智能·llama·推理加速·qwen3.6-27b
凯瑟琳.奥古斯特19 小时前
力扣1235:加权区间调度最优解
java·python·算法·leetcode·职场和发展
钓了猫的鱼儿19 小时前
基于深度学习+AI的卷心菜目标检测与预警系统(Python源码+数据集+UI可视化界面+YOLOv11训练结果)
人工智能·深度学习·目标检测
大象说19 小时前
从NLP特征匹配底层逻辑拆解知网AI检测的实际优缺点
人工智能
私域合规研究19 小时前
法律护航携手天道异业达成战略合作
大数据·人工智能
咖啡星人k20 小时前
从需求到交付:我用MonkeyCode的AI Agent完成了一个React数据看板
前端·人工智能·react.js·monkeycode
Nayxxu20 小时前
Claude API 企业落地路线图:POC、灰度、监控、缓存、上线
人工智能·claude
汽车仪器仪表相关领域20 小时前
南华 NHA-604/605 汽车排放气体测试仪:国六b全适配高精度便携检测设备
大数据·人工智能·功能测试·深度学习·安全·fpga开发·压力测试
郑洁文20 小时前
基于Python的网络入侵检测系统
网络·python·php