README
🚀 模型上下文协议(MCP)项目文档
模型上下文协议(Model Context Protocol,简称MCP)是一款用于评估AI生成内容质量的实用工具。它为用户提供了多样化的使用途径,无论是直接调用服务,还是集成到应用程序中,都能轻松实现对AI生成内容的自动化评估,极大提升了评估效率和准确性。
🚀 快速开始
模型上下文协议(Model Context Protocol,简称MCP)是一个用于评估AI生成内容质量的工具。用户可以通过以下几种方式使用该协议:
- 直接调用MCP服务:通过安装并运行提供的MCP服务器,在本地或云端环境中使用。
- 集成到应用中:将MCP客户端整合到自己的Python应用程序中,实现自动化评估功能。
✨ 主要特性
- evaluators列表:提供多种预定义的评估指标,涵盖准确性、清晰度、相关性等多个维度。
- 评估接口:支持以下四种评估方式:
- 基于ID的评估:通过指定的评估器ID进行内容评估。
- 基于名称的评估:通过评估器名称进行内容评估。
- 基于检索的生成评估:结合外部知识库上下文进行评估。
- 基于名称的检索生成评估:结合上下文和评估器名称进行评估。
📦 安装指南
克隆仓库
git clone https://github.com/your-repository.git
cd your-repository
安装依赖
pip install -r requirements.txt
启动服务
uv run server .
💻 使用示例
基础用法
安装与运行MCP服务器
# 克隆仓库
git clone https://github.com/your-repository.git
cd your-repository
# 安装依赖
pip install -r requirements.txt
# 启动服务
uv run server .
使用Python客户端进行评估
import os
from root_mcp_server.client import RootSignalsMCPClient
async def main():
mcp_client = RootSignalsMCPClient()
try:
await mcp_client.connect()
# 获取所有评估器列表
evaluators = await mcp_client.list_evaluators()
print(f"检测到 {len(evaluators)} 个评估器")
# 使用ID进行评估
result_id = await mcp_client.run_evaluation(
evaluator_id="eval-123456789",
request="请问法国的首都是哪里?",
response="巴黎是法国的首都。"
)
print(f"基于ID的评估分数: {result_id['score']}")
# 使用名称进行评估
result_name = await mcp_client.run_evaluation_by_name(
evaluator_name="清晰度",
request="请问法国的首都是哪里?",
response="巴黎是法国的首都。"
)
print(f"基于名称的评估分数: {result_name['score']}")
finally:
await mcp_client.disconnect()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
高级用法
评估提示模板
用户可以在Cursor中直接输入以下指令来评估生成式AI的提示模板:
评估总结器提示在清晰度和精确度方面。使用RootSignals。
🤝 贡献指南
参与方式
我们欢迎任何有助于提升用户体验的贡献,具体步骤如下:
- 同步代码库:使用
uv sync --extra dev命令获取最新代码和依赖项。 - 安装预 - commit钩子:通过
pre-commit install确保每次提交前自动格式化代码。 - 添加功能或修复问题:将新代码和测试用例添加到
src/root_mcp_server/tests/目录中。 - 构建并测试:运行
docker compose up --build启动服务,并通过设置环境变量ROOT_SIGNALS_API_KEY=<密钥>执行单元测试,确保所有测试通过。 - 格式化代码:使用
ruff format . && ruff check .命令保持代码风格统一。
注意事项
⚠️ 重要提示
请为新增的功能或修复的问题单独创建一个分支,并在提交前添加详细的commit信息。
💡 使用建议
如果发现任何问题,请及时提交issue或pull request。
⚠️ 已知限制
功能限制
- 评估范围:当前版本仅支持文本生成内容的评估,不支持图像、音频等其他形式的内容。
- 上下文大小:基于检索的生成评估功能目前只支持较小规模的知识库。
性能限制
- 处理延迟:大规模数据或多轮对话场景可能会导致评估时间增加。
📧 问题反馈
如在使用过程中遇到任何问题,请通过以下方式反馈:
- 提交Issue
- 发送邮件至support@yourdomain.com
⚠️ 重要提示
本文档内容可能随时更新,建议定期查阅以获取最新信息。
Scan to join WeChat group