检索增强生成引擎

一个基于MCP协议的本地RAG系统,支持AI代理安全地从本地文档库中检索信息并生成高语义准确性的回答。

  • by Sanghamithra259
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Sanghamithra259/mcp-rag

使用说明

mcp检索引擎

生产准备就绪 模型上下文协议(MCP) 服务器实现本地 RAG(检索增强生成) 管道。该项目使人工智能代理能够以高语义准确性安全地从本地文档存储库中搜索和检索信息。


概述

与标准聊天机器人不同,该系统通过允许LLM动态查询私人文件来弥合“上下文差距”。通过使用MCP标准,人工智能可以在回答之前决定何时需要在本地数据库中“查找”信息。

主要特点

  • 语义搜索: 用途 all-MiniLM-L6-v2 嵌入,根据意义而不仅仅是关键字来查找信息。
  • 代理整合: 与MCP本地客户端完全兼容,如 克劳德桌面 和 光标.
  • 本地优先隐私: 所有文档索引和矢量搜索都是通过以下方式在设备上执行的 色度数据库.
  • 多格式支持: 本机解析 PDF、TXT和Markdown 文件夹。

架构与算法

该系统分为两个不同的阶段运行:

  1. 摄入: 加载文档,使用以下命令将其拆分为500个字符块 递归字符分割,并转换为384维矢量。
  2. 检索: 当调用工具时,系统会执行 余弦相似度 在用户的查询向量和存储在本地数据库中的文档向量之间进行搜索。

技术栈

层 技术
语言 Python 3.10+
协议 FastMCP(模型上下文协议SDK)
编排 朗链
矢量数据库 ChromaDB(持久)
嵌入 句子转换

项目结构

mcp-retrieval-engine/
├── data/           # Raw document storage (.pdf, .txt, .md)
├── chroma_db/      # Persistent vector database
├── src/
│   ├── main.py       # MCP Server entry point and tool definitions
│   └── processor.py  # RAG Engine: Chunking and Retrieval logic
└── pyproject.toml  # Dependency management via uv


入门指南

1.安装

确保你有 uv 已安装,然后同步环境:

uv sync

2.摄入数据

将您的文件放在 /data 目录并通过MCP检查器运行索引工具:

mcp inspector src/main.py

3.克劳德桌面集成

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "local-retriever": {
      "command": "python",
      "args": ["/absolute/path/to/src/main.py"]
    }
  }
}


影响

该项目展示了构建 人工智能基础设施 这解决了企业和学术工作流程中的数据隐私和上下文窗口限制。