使用说明
📚 MCP-RAG
MCP-RAG系统采用模型上下文协议(MCP)构建,使用智能分块策略、多格式文档支持和企业级可靠性处理大文件(高达200MB)。
🌟 特性
📄 多格式文档支持
- 可移植文档格式:具有表检测功能的智能逐页处理
- 文档:段落和表格提取,保留格式
- Excel:具有列上下文(.xlsx/.xls)的表感知处理
- CSV文件:智能行批处理,保留标题
- PPTX 文件:支持PPTX
- 图像:支持jpeg、png、webp、gif等格式和OCR
🚀 大文件处理
- 自适应组块:基于文件大小的不同策略
- 内存管理:50MB+文件的流式处理
- 进度跟踪:实时进度指标
- 超时处理:妥善处理长时间运行的操作
🧠 先进的RAG能力
- 语义搜索:向量相似度与置信度得分
- 跨文档查询:同时搜索多个文档
- 消息来源:具有相似性得分的引用
- 混合检索:结合语义搜索和关键字搜索
🔌 模型上下文协议(MCP)集成
- 通用工具接口:标准化的AI到工具通信
- 自动发现:LangChain代理自动查找和使用工具
- 安全通信:内置权限控制
- 可扩展架构:易于添加新的文档处理程序
🏢 企业就绪
- 自定义LLM端点:支持任何与OpenAI兼容的API
- 矢量数据库选项:ChromaDB(本地)+Milvus(生产)
- 批量处理:处理API速率限制和批量大小限制
- 错误恢复:重试逻辑和优雅降级
🏗️ 建筑
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ 溪流│ │ LangChain│ │ MCP服务器│ │ 前端│◄──►│ 代理│◄──►│ (工具)│ └─────────────────┘ └──────────────────┘ └─────────────────┘ │ ┌────────────────────────┼────────────────────────┐ │ ▼ │ ┌───────▼────────┐ ┌─────────────────┐ ┌──────▼──────┐ │ 文件│ │ 矢量数据库│ │ 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 # On Windows: venv\Scripts\activate
pip install -r requirements.txt
# Create .env file
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