本项目将 MCP 服务器与 FAISS(高效的相似性搜索和机器学习库)相结合,实现了 RAG(检索增强生成)功能。它提供了完整的文档检索和生成工作流程,支持从 GitHub 提取 Move 文件,并集成大型语言模型(LLM)来生成增强回答。
MCP 服务器与 FAISS 结合的 RAG 项目,为文档检索和生成提供了强大的解决方案。以下是快速上手的步骤:
git clone https://github.com/your-repository/mcp_server.git
cd mcp_server
pip install -r requirements.txt
.env 文件并添加以下内容:GITHUB_TOKEN=your_github_token_here
OPENAI_API_KEY=your_openai_api_key_here
python main.py --port 8000
git clone https://github.com/your-repository/mcp_server.git
cd mcp_server
pip install -r requirements.txt
.env 文件并添加以下内容:GITHUB_TOKEN=your_github_token_here
OPENAI_API_KEY=your_openai_api_key_here
python main.py --port 8000
发送 POST 请求到 http://localhost:8000/mcp/action,请求体如下:
{
"operation": "retrieve_documents",
"params": {
"query": "你的查询内容",
"top_k": 5
}
}
通过以下命令下载 GitHub 上的相关 Move 文件:
python download_move_files.py --query "your-query" --output-dir ./docs/move_files
mcp_server/
├── __init__.py # 包初始化文件
├── main.py # 主服务器文件
├── mcp_api.py # MCP API 实现
├── index_move_files.py # 文件索引工具
├── local_query.py # 本地查询工具
├── download_move_files.py # GitHub Move 文件提取器
├── rag_integration.py # LLM 集成模块
├── pyproject.toml # 包配置文件
├── requirements.txt # 依赖管理
├── .env.example # 环境变量示例
├── README.md # 项目说明文档
├── data/ # 数据存储目录
├── docs/ # 样本文档
│ └── move_files/ # 下载的 Move 文件
├── models/ # 模型实现
│ └── vector_store.py # FAISS 向量存储实现
└── utils/
├── document_processor.py # 文档处理工具
└── github_extractor.py # GitHub 文件提取工具
mcp_api.py)/mcp/action 端点,支持以下操作:
retrieve_documents:根据查询检索相关文档。index_documents:从指定目录索引文档。rag_integration.py)download_move_files.py)本项目遵循 MIT 许可证,详情请参阅 LICENSE 文件。