返回市场
麦克佩-检索辅助生成

麦克佩-检索辅助生成

作者:AnuragB78 星标更新:2025-05-25

项目介绍

【技术文档摘要】

📚 MCP-RAG

使用模型上下文协议(MCP)构建的MCP-RAG系统,能够处理大型文件(高达200MB),采用智能分块策略、多格式文档支持以及企业级可靠性。

Python 3.11+ License: MIT MCP

🌟 功能

📄 多格式文档支持

  • PDF: 智能逐页处理并检测表格
  • DOCX: 提取段落和表格并保留格式
  • Excel: 带有列上下文的表单感知处理(.xlsx/.xls)
  • CSV: 智能行批处理并保留标题
  • PPTX: 支持PPTX
  • IMAGE: 支持jpeg、png、webp、gif等图像格式及OCR

🚀 大型文件处理

  • 自适应分块: 根据文件大小采用不同的策略
  • 内存管理: 对50MB以上的文件进行流式处理
  • 进度跟踪: 实时进度指示器
  • 超时处理: 平稳处理长时间运行的操作

🧠 高级RAG功能

  • 语义搜索: 向量相似性匹配并带有置信度评分
  • 跨文档查询: 同时在多个文档中进行搜索
  • 来源归属: 带有相似度评分的引用
  • 混合检索: 结合语义和关键词搜索

🔌 模型上下文协议(MCP)集成

  • 通用工具接口: 标准化的AI到工具通信
  • 自动发现: LangChain代理自动查找并使用工具
  • 安全通信: 内置权限控制
  • 可扩展架构: 容易添加新的文档处理器

🏢 企业就绪

  • 自定义LLM端点: 支持任何与OpenAI兼容的API
  • 向量数据库选项: ChromaDB(本地)+ Milvus(生产环境)
  • 批量处理: 处理API速率限制和批量大小约束
  • 错误恢复: 重试逻辑和平滑降级

🏗️ 架构

┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ Streamlit │ │ LangChain │ │ MCP Server │ │ 前端 │◄──►│ 代理 │◄──►│ (工具) │ └─────────────────┘ └──────────────────┘ └─────────────────┘ │ ┌────────────────────────┼────────────────────────┐ │ ▼ │ ┌───────▼────────┐ ┌─────────────────┐ ┌──────▼──────┐ │ 文档 │ │ 向量数据库 │ │ LLM API │ │ 处理器 │ │ (ChromaDB) │ │ 端点 │ └────────────────┘ └─────────────────┘ └─────────────┘

🚀 快速开始

预备条件

  • Python 3.11+
  • OpenAI API密钥或兼容的LLM端点
  • 8GB以上RAM(用于大型文件处理)

安装

克隆仓库

git clone https://github.com/yourusername/rag-large-file-processor.git
cd rag-large-file-processor

python -m venv venv
source venv/bin/activate  # 在Windows上:venv\Scripts\activate

pip install -r requirements.txt

# 创建.env文件
cat > .env << EOF
OPENAI_API_KEY=your_openai_api_key_here
BASE_URL=https://api.openai.com/v1
MODEL_NAME=gpt-4o
VECTOR_DB_TYPE=chromadb

streamlit run streamlit_app.py