ProbonoBonobo_sui Mcp Server

ProbonoBonobo_sui Mcp Server

🚀 MCP 服务器

MCP(Message Communication Protocol)服务器是一个基于 FastAPI 和 FAISS 的快速 API 服务,主要用于支持 RAG(检索增强生成)应用程序。本项目详细介绍了如何构建和使用该服务器,助力开发者快速搭建相关应用。

🚀 快速开始

安装依赖

在项目根目录中运行以下命令安装所有必要的依赖:

pip install -r requirements.txt

配置环境变量

复制 .env.example 文件并命名为 .env,然后根据需要修改配置:

GITHUB_TOKEN=your_github_token_here
OPENAI_API_KEY=your_openai_api_key_here

✨ 主要特性

  • 基于 FastAPI 和 FAISS 构建,提供快速的 API 服务。
  • 支持 RAG 应用程序,实现检索增强生成功能。
  • 提供多种核心功能模块,如 MCP API 实现、文档索引、本地查询等。
  • 具备完整的 RAG 工作流程实现。
  • 可进行功能扩展,支持更多数据源、分布式索引等。

📦 安装指南

安装依赖

在项目根目录中运行以下命令安装所有必要的依赖:

pip install -r requirements.txt

配置环境变量

复制 .env.example 文件并命名为 .env,然后根据需要修改配置:

GITHUB_TOKEN=your_github_token_here
OPENAI_API_KEY=your_openai_api_key_here

💻 使用示例

基础用法

MCP API 实现 (mcp_api.py)

提供以下主要接口:

  • /mcp/action: 支持 retrieve_documentsindex_documents 两种操作类型。

请求示例:

curl -X POST "http://localhost:8000/mcp/action" -H "Content-Type: application/json" -d '{"action_type": "retrieve_documents", "payload": {"query": "What is RAG?", "top_k": 3}}'

文档索引 (index_move_files.py)

将文档转换为文本并存储到 FAISS 索引中:

python index_move_files.py --docs-dir docs/move_files --index-file data/faiss_index.bin

本地查询 (local_query.py)

直接从索引中检索相关文档:

python local_query.py "What is RAG?"

高级用法

RAG 管道实现

完整的 RAG 工作流程如下:

  1. 搜索查询: 用户提交一个问题
  2. 检索: 系统从向量数据库中找到相关文档
  3. 上下文构建: 将检索到的文档格式化为提示
  4. LLM 生成: 提示被发送到 LLM 模型,结合检索到的内容
  5. 增强响应: LLM 根据提供的信息生成答案

该流程在 rag_integration.py 中有完整实现。

📚 详细文档

目录结构

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 文件提取工具

核心功能模块

1. MCP API 实现 (mcp_api.py)

提供以下主要接口:

  • /mcp/action: 支持 retrieve_documentsindex_documents 两种操作类型。

2. 文档索引 (index_move_files.py)

将文档转换为文本并存储到 FAISS 索引中:

python index_move_files.py --docs-dir docs/move_files --index-file data/faiss_index.bin

3. 本地查询 (local_query.py)

直接从索引中检索相关文档:

python local_query.py "What is RAG?"

使用场景

案例:RAG 管道实现

完整的 RAG 工作流程如下:

  1. 搜索查询: 用户提交一个问题
  2. 检索: 系统从向量数据库中找到相关文档
  3. 上下文构建: 将检索到的文档格式化为提示
  4. LLM 生成: 提示被发送到 LLM 模型,结合检索到的内容
  5. 增强响应: LLM 根据提供的信息生成答案

该流程在 rag_integration.py 中有完整实现。

扩展项目

功能扩展建议

  • 支持更多数据源(如 S3、HDFS 等)
  • 实现分布式索引
  • 添加文档预处理管道
  • 集成多种 LLM 提供商
  • 添加结果缓存机制
  • 支持增量索引更新

如何贡献

  1. Fork 本仓库
  2. 创建功能分支
  3. 提交更改
  4. 开启 Pull Request

项目链接

GitHub 仓库地址

📄 许可证

LICENSE

联系方式

  • 邮箱: contact@example.com
  • GitHub: https://github.com/yourusername
  • 0 关注
  • 0 收藏,32 浏览
  • system 提出于 2025-09-19 12:24

相似服务问题

相关AI产品