MCP代理RAG POC
隐私优先的本地MCP助理POC。使用Ollama实现代理路由器,在非结构化RAG(PDF)和结构化数据分析(CSV)之间动态切换。具有实时执行流和零数据泄漏的特点。
当地MCP代理RAG(POC)
注重隐私,支持离线 模型上下文协议(MCP) 作为智能企业助理的实现。
该POC展示了 混合检索系统 在一个或多个应用程序之间动态路由用户查询 非结构化知识库 (RAG提供的PDF)和 结构化数据库 (通过Pandas的CSV),使用本地LLM(Ollama)进行零数据泄漏处理。
主要特点
- 主路由器代理: 自动检测用户在“策略/文档模式”和“客户数据库模式”之间切换的意图
- 代理RAG(检索增强生成): 使用矢量嵌入(SQLite+Nomic)来回答长PDF文档中的问题。
- 结构化数据分析: 使用Python/Pandas对CSV文件执行精确的关键字提取和多列模糊搜索(无幻觉SQL)。
- 实时反馈循环: 后端服务器将分步逻辑日志(思维过程)流式传输到前端客户端,为人工智能的决策提供透明度。
- 100%本地执行: 使用Ollama(Qwen 2.5+Nomic Embed)完全在本地运行,确保没有数据离开网络。
建筑
graph TD
User[Client Laptop] -->|Socket Connection| Server[Server Laptop]
Server --> Router{Master Agent Router}
Router -- "Intent: POLICY" --> ToolPDF[Tool: PDF RAG]
Router -- "Intent: CUSTOMER" --> ToolCSV[Tool: CSV Analyzer]
ToolPDF -->|Vector Search| VectorDB[(SQLite Vector DB)]
ToolCSV -->|Pandas Filter| CSVFile[(Customer.csv)]
VectorDB --> Context
CSVFile --> Context
Context --> LLM[Ollama: Qwen2.5:3b]
LLM -->|Final Report| User技术栈
- 语言: Python 3.x
- 沟通: Python套接字(TCP/IP)
- LLM推理: Ollama(当地)
- 模型:
- 聊天: qwen2.5:3b (针对指令遵循进行了优化) - 嵌入: nomic-embed-text (高性能检索)
- 数据处理:
- pandas (CSV处理) - pypdf (PDF提取) - sqlite3 (矢量存储) - numpy (矢量数学)
______________________________________________________________________
先决条件
确保 服务器计算机 已安装以下内容:
- Python 3.10+
- 奥拉玛 (在后台运行)
必需的Python库
在终端中运行以下命令:
pip install ollama pandas pypdf numpy tabulate
