基于 LangGraph ReAct Agent + RAG + MCP (Model Context Protocol) 架构的政务全流程自动化处理系统。
本项目作为 12345 政务服务热线智能化升级的核心 AI 中枢,向下通过适配器纳管多款大模型与 PostgreSQL 向量知识库,向上通过 MCP 协议无缝对接 Java (Spring/Dubbo) 后端政务微服务,实现从群众诉求意图识别、政策查证到工单流转的智能闭环。
12345 政务热线长期面临海量诉求人工处理效率低、跨部门管辖权责匹配难以及AI回复易产生政务幻觉等痛点。
本系统旨在构建一个严谨的政务问政中枢:
- 智能解答优先:基于历史案例、权责清单和政策依据,对群众咨询类诉求实现高置信度自动回复,降低人工话务压力。
- 精准分类与派单:通过 LLM 结构化提取 5 大诉求要素,结合向量检索,自动完成权责部门匹配。
- 人工兜底闭环:对超纲诉求或无法解答的问题,Agent 自动调用 MCP 远程工具 (
create_work_order) 创建政务工单,流转至人工办理。 - 绝对合规安全:采用“RAG Triad”验证理论,引入强制自我审查机制,确保政务回复的 100% 忠实度与零捏造。
政务场景下,合规是生命线。为了避免 LLM 在获取完整信息后产生“过度思考”或二次生成的幻觉风险,我设计并实现了基于 validate_answer_tool 的动态路由熔断机制:
- 原理:当内部验证器(Validator)判定草稿回答合格时,校验工具不返回常规文本,而是直接返回 LangGraph 的图控制指令
Command(goto=END),并携带组装好的最终回复。 - 收益:强制阻断 ReAct 工作流的后续循环,单次请求 Token 消耗平均降低 30%+,同时彻底杜绝了最终输出环节的不可控性。
自研继承 LangChain BaseRetriever 标准接口的检索器组件(如 CasesVectorRetriever),可无缝对接 LCEL 链式表达式。
- 向量引擎:基于 PostgreSQL +
pgvector构建单例数据库客户端,利用HNSW索引和余弦相似度实现千万级数据的高效召回。 - 重排策略:引入 BGE-M3 (Embedding) + BGE-Reranker-Base 进行二次交叉重排,大幅提升长文本政策匹配的精准度。
系统底层核心 BaseLLMService 采用 Provider 适配器设计模式。
- 高扩展性:支持 DeepSeek, Qwen, Ollama 等多模型的无缝热切换,新增模型仅需实现
BaseLLMProvider接口,业务代码零修改。 - 统一接口:代理实现了
.bind_tools()和.with_structured_output(),确保上层 Agent 逻辑的通用性。
设计了前置轻量级合规拦截(敏感词/规则)+ 后置 LLM 事实一致性检测的 Validator 组件。
- 引入 RAG Triad 忠实度评估准则,强制要求 LLM 生成的回复必须 100% 源于检索上下文。针对检索无果的情况,Agent 建议“转人工”也被判定为高置信度,完美贴合真实业务逻辑。
- 结构化提取:摒弃不稳定的 JSON Mode,全面采用
function_calling结合 Pydantic (GovRequestClassifiedResult),实现对诉求类型(咨询、投诉等)及管辖部门的高稳定分类提取。 - 微服务无缝集成:突破传统 HTTP 接口硬编码局限,Agent 侧集成 MCP (Model Context Protocol) 客户端,动态加载后端 Java (Spring AI MCP Server) 暴露的远程政务服务工具(如工单创建、流转),实现 AI 中枢与业务系统层的零侵入解耦。
┌─────────────────────────────────────────────────────────────┐
│ 交互层(群众端/政务后台端) │
├─────────────────────────────────────────────────────────────┤
│ Agent层(本项目核心) │
│ FastAPI 入口 → LangGraph ReAct Agent 工作流 │
│ (意图分类 Classifier → 知识检索 Retriever → 合规校验 Validator) │
├─────────────────────────────────────────────────────────────┤
│ MCP协议转换层(Spring AI MCP Server) │
│ (动态工具注册、Dubbo泛化调用、实现跨语言 RPC 代理) │
├─────────────────────────────────────────────────────────────┤
│ 政务微服务层(Dubbo服务集群) │
│ (工单服务、权责清单服务、案例检索服务、部门知识库服务) │
└─────────────────────────────────────────────────────────────┘
| 分类 | 技术选型 |
|---|---|
| Agent 框架 | LangGraph, LangChain (LCEL) |
| LLM 支持 | DeepSeek, Qwen, Ollama |
| 微服务与协议 | MCP (Model Context Protocol), FastAPI |
| RAG 向量检索 | PostgreSQL + pgvector, psycopg2 |
| Embedding & Rerank | BGE-M3, BGE-Reranker-Base |
| 配置与工程化 | Pydantic V2, Python logging |
# 1. 安装依赖 (推荐使用 uv 管理)
uv sync
# 2. 环境配置
cp .env.example .env
# 编辑 .env 填入 PostgreSQL 数据库信息及对应大模型 API Key
# 3. 启动后台服务
uv run python -m src.app.api.server
# 4. 接口测试示例
curl -X POST http://localhost:8000/api/chat \
-H "Content-Type: application/json" \
-d '{"query": "灵活就业人员如何缴纳社保?", "session_id": "test-session-01"}'如果您正在准备面试,可以将本项目作为简历上的核心经历,参考话术如下:
政务智能问答与工单流转系统 (AI 核心开发)
- 背景与职责:针对 12345 政务热线人工处理压力大、回复易错漏的痛点,主导开发基于 LangGraph 的 ReAct Agent 智能中枢。负责用户意图分类、RAG 政策检索、回答合规校验及自动化派单流转全流程设计。
- 核心架构与解耦:底层基于 Pydantic 驱动的多模型 Provider 模式,无缝对接 DeepSeek/Qwen;业务层引入 MCP 协议对接下游 Spring/Dubbo 架构,动态加载“创建工单”等 RPC 工具,实现 AI 逻辑与后端政务微服务的零侵入式解耦。
- RAG 与防幻觉增强:自研继承 LangChain
BaseRetriever标准的检索器组件,结合 PostgreSQL +pgvectorHNSW 索引与 BGE 二次重排,大幅提升长文本政策召回率;设计基于 RAG Triad 准则的 Validator,实现事实一致性强制校验,保障政务回复零捏造。- 性能优化突破:针对复杂 ReAct 循环导致的 Token 浪费及不可控风险,创新性地设计动态路由熔断机制。当内部校验器判定草稿合规后,直接通过返回图指令
Command(goto=END)阻断 LLM 二次生成,单次请求 Token 消耗下降逾 30%,并确保输出 100% 忠实于上下文档。