Skip to content

Latest commit

 

History

78 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GovPulse 政务智能问答与工单流转系统

Python Version Framework VectorDB API

基于 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% 忠实度与零捏造。

🚀 核心技术亮点(简历高频考点)

1. 创新的 LangGraph 动态路由熔断机制 (性能与合规双赢)

政务场景下,合规是生命线。为了避免 LLM 在获取完整信息后产生“过度思考”或二次生成的幻觉风险,我设计并实现了基于 validate_answer_tool 的动态路由熔断机制:

  • 原理:当内部验证器(Validator)判定草稿回答合格时,校验工具不返回常规文本,而是直接返回 LangGraph 的图控制指令 Command(goto=END),并携带组装好的最终回复。
  • 收益:强制阻断 ReAct 工作流的后续循环,单次请求 Token 消耗平均降低 30%+,同时彻底杜绝了最终输出环节的不可控性。

2. 深度工程化的混合检索系统 (RAG)

自研继承 LangChain BaseRetriever 标准接口的检索器组件(如 CasesVectorRetriever),可无缝对接 LCEL 链式表达式。

  • 向量引擎:基于 PostgreSQL + pgvector 构建单例数据库客户端,利用 HNSW 索引和余弦相似度实现千万级数据的高效召回。
  • 重排策略:引入 BGE-M3 (Embedding) + BGE-Reranker-Base 进行二次交叉重排,大幅提升长文本政策匹配的精准度。

3. 多模型 Provider 适配器模式 (遵循开闭原则)

系统底层核心 BaseLLMService 采用 Provider 适配器设计模式。

  • 高扩展性:支持 DeepSeek, Qwen, Ollama 等多模型的无缝热切换,新增模型仅需实现 BaseLLMProvider 接口,业务代码零修改。
  • 统一接口:代理实现了 .bind_tools().with_structured_output(),确保上层 Agent 逻辑的通用性。

4. 基于 RAG Triad 的幻觉检测与双层校验

设计了前置轻量级合规拦截(敏感词/规则)+ 后置 LLM 事实一致性检测的 Validator 组件。

  • 引入 RAG Triad 忠实度评估准则,强制要求 LLM 生成的回复必须 100% 源于检索上下文。针对检索无果的情况,Agent 建议“转人工”也被判定为高置信度,完美贴合真实业务逻辑。

5. 稳定意图分类与 MCP 微服务解耦

  • 结构化提取:摒弃不稳定的 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"}'

📝 简历编写建议 (STAR 法则)

如果您正在准备面试,可以将本项目作为简历上的核心经历,参考话术如下:

政务智能问答与工单流转系统 (AI 核心开发)

  • 背景与职责:针对 12345 政务热线人工处理压力大、回复易错漏的痛点,主导开发基于 LangGraph 的 ReAct Agent 智能中枢。负责用户意图分类、RAG 政策检索、回答合规校验及自动化派单流转全流程设计。
  • 核心架构与解耦:底层基于 Pydantic 驱动的多模型 Provider 模式,无缝对接 DeepSeek/Qwen;业务层引入 MCP 协议对接下游 Spring/Dubbo 架构,动态加载“创建工单”等 RPC 工具,实现 AI 逻辑与后端政务微服务的零侵入式解耦。
  • RAG 与防幻觉增强:自研继承 LangChain BaseRetriever 标准的检索器组件,结合 PostgreSQL + pgvector HNSW 索引与 BGE 二次重排,大幅提升长文本政策召回率;设计基于 RAG Triad 准则的 Validator,实现事实一致性强制校验,保障政务回复零捏造。
  • 性能优化突破:针对复杂 ReAct 循环导致的 Token 浪费及不可控风险,创新性地设计动态路由熔断机制。当内部校验器判定草稿合规后,直接通过返回图指令 Command(goto=END) 阻断 LLM 二次生成,单次请求 Token 消耗下降逾 30%,并确保输出 100% 忠实于上下文档。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages