LangGraph构建RAG智能体

📘 教程 2026-08-01 约 5 分钟阅读

简单RAG只做一次检索。RAG智能体自己决定何时搜索、搜什么、何时回答。

💡 你将学到

简单RAG只做一次检索。RAG智能体自己决定何时搜索、搜什么、何时回答。

📜 目录

使用 LangGraph 构建 2026 年研究型 RAG Agent:打造会调用工具的研究代理

普通 RAG 只做一次检索,然后直接回答。而 RAG agent(即 agentic RAG)则能动态决策:它可以搜索多个数据源、改写查询,并自行判断何时信息已足够。LangGraph(GitHub 38,600 星,MIT 协议)是 2026 年构建这类有状态 agent 循环的标准框架。

RAG 与 RAG Agent 的对比

方面 基础 RAG RAG Agent
检索 一次,固定不变 多次,自适应调整
查询 按原样输入 可被改写
数据源 单一存储 多种工具
决定何时回答 从不 可以
后续问题处理 无状态 完整状态

图结构

[start] -> retrieve -> grade_documents
             ^            |
             |            v
             |      relevant? --no--> rewrite_query -> retrieve
             |            |
             |           yes
             |            v
             +----- generate -> [end]

关键节点:retrieve(搜索向量存储)、grade(检查结果是否能回答提问)、rewrite(若结果不佳则改进查询)、generate(生成最终答案)。

最小化实现

from langgraph.graph import StateGraph

def retrieve(state):
    docs = vectorstore.search(state["question"])
    return {"docs": docs}

def generate(state):
    answer = llm.invoke(f"Answer using: {state['docs']}")
    return {"answer": answer}

graph = StateGraph(ResearchState)
graph.add_node("retrieve", retrieve)
graph.add_node("generate", generate)
graph.add_edge("retrieve", "generate")
graph.set_entry_point("retrieve")
app = graph.compile()

什么时候你真正需要 Agent

常见问题

LangGraph 还是 LangChain? LangGraph 是 LangChain 团队打造的更新型图结构框架,适合用于构建 agent。而普通的 LangChain 链式结构处理简单的线性 RAG 已经足够。

什么是检索器 + 评分器模式? 这是最常见的 RAG agent 模式:先检索,再对文档评分,如果分数偏低就改写查询并重试——从而提升难题的解答准确率。

它支持本地模型吗? 支持——只需将 LLM 换成 Ollama,向量存储换成 Chroma 即可;图逻辑本身与具体模型无关。

相关文章

❓ 常见问题

LangGraph 还是 LangChain?

LangGraph 是 LangChain 团队打造的更新型图结构框架,适合用于构建 agent。而普通的 LangChain 链式结构处理简单的线性 RAG 已经足够。

什么是检索器 + 评分器模式?

这是最常见的 RAG agent 模式:先检索,再对文档评分,如果分数偏低就改写查询并重试——从而提升难题的解答准确率。

它支持本地模型吗?

支持——只需将 LLM 换成 Ollama,向量存储换成 Chroma 即可;图逻辑本身与具体模型无关。

相关文章
2026-08-06
AgentVerse(5,096星)2026:用可定制智能体模拟多Agent LLM环境
2026-07-22
2026年LangChain、LangGraph与CrewAI对比
2026-07-19
AI Agent市场大盘点:Coze/GPTs/AgentGPT等平台怎么选

本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。

💬 评论 (0)

暂无评论,来说两句吧~

登录后评论