AI框架基准套件
一个全面的基准测试套件,用于测试和比较AI框架(CrewAI、LangGraph、DSPy和Langchain)与MCP(模型上下文协议)服务器集成。
概述
该项目对四种流行的AI框架在与Kubernetes MCP服务器交互时的性能进行了基准测试。每个框架都使用相同的任务进行测试:通过JSON-RPC v2协议从Kubernetes集群查询pod名称。
测试框架
- 船员AI -多代理编排框架
- LangGraph -基于状态机的工作流框架
- DSPY -语言模型的声明式编程
- 链程 -LLM应用的综合框架
先决条件
- Python 3.8或更高版本
- OpenAI API密钥
- 访问MCP服务器https://mcp.n3s.ai
安装
- 克隆或导航到此目录:
cd /home/mohmd/Documents/Shakiba/Frameworks- 创建虚拟环境(推荐):
python3 -m venv venv
source venv/bin/activate # On Linux/Mac
# or
venv\Scripts\activate # On Windows- 安装依赖项:
pip install -r requirements.txt配置
- 编辑
config.yaml并添加您的OpenAI API密钥:
openai:
api_key: "your-openai-api-key-here"
model: "gpt-4"
temperature: 0.7MCP服务器URL已配置,但如果需要,您可以对其进行修改。
用法
运行所有基准测试
要运行所有框架基准测试并生成比较报告,请执行以下操作:
python run_benchmark.py这将:
- 按顺序运行每个框架测试
- 记录每个步骤的计时
- 生成比较报告
- 将结果保存到
benchmark_report.json
运行单个框架测试
您还可以对单个框架运行测试:
# Test CrewAI
python test_crewai.py
# Test LangGraph
python test_langgraph.py
# Test DSPy
python test_dspy.py
# Test Langchain
python test_langchain.py输出文件
运行基准测试后,您会发现:
results_crewai.json-CrewAI的详细结果results_langgraph.json-详细的LangGraph结果results_dspy.json-详细的DSPy结果results_langchain.json-Langchain详细结果benchmark_report.json-完整的比较报告
基准指标
每个框架的衡量标准如下:
- 配置加载时间 -加载config.yaml的时间
- OpenAI初始化 -设置LLM连接的时间
- MCP客户端初始化 -初始化MCP客户端的时间
- MCP查询时间 -通过JSON-RPC v2查询MCP服务器的时间
- 框架具体步骤 -代理/工作流创建和执行
- 总时间 -端到端执行时间
了解结果
基准报告包括:
汇总表
显示每个框架的成功状态和总时间
详细的步骤时间安排
按时间将每个框架的执行分解为单独的步骤
绩效排名
按总执行时间(从最快到最慢)对成功的框架进行排名
输出示例
==================================================================
BENCHMARK COMPARISON REPORT
==================================================================
🏆 PERFORMANCE RANKING (by total time)
+--------+-------------+----------+
| Rank | Framework | Time |
+========+=============+==========+
| 1 | Langchain | 16.4175s |
+--------+-------------+----------+
| 2 | DSPy | 24.3898s |
+--------+-------------+----------+
| 3 | CrewAI | 32.0978s |
+--------+-------------+----------+
| 4 | LangGraph | 92.3309s |
+--------+-------------+----------+项目结构
.
├── config.yaml # Configuration file
├── requirements.txt # Python dependencies
├── mcp_client.py # MCP JSON-RPC v2 client
├── utils.py # Utility functions and logging
├── test_crewai.py # CrewAI benchmark
├── test_langgraph.py # LangGraph benchmark
├── test_dspy.py # DSPy benchmark
├── test_langchain.py # Langchain benchmark
├── run_benchmark.py # Main benchmark runner
└── README.md # This file故障排除
问题:导入错误
解决方案:确保安装了所有依赖项:
pip install -r requirements.txt问题:MCP服务器连接失败
解决方案:
- 检查MCP服务器URL是否正确
config.yaml - 验证网络连接到https://mcp.n3s.ai
- 检查防火墙设置
问题:OpenAI API错误
解决方案:
- 在中验证您的API密钥是否正确
config.yaml - 检查您的OpenAI帐户是否有足够的积分
- 确保型号名称有效(例如“gpt-4”或“gpt-3.5-turbo”)
问题:超时错误
解决方案:
- 增加超时时间
run_benchmark.py(默认值为120秒) - 检查MCP服务器的网络延迟
- 尝试使用更简单/更快的OpenAI模型
定制
更改测试提示
编辑 config.yaml:
benchmark:
test_prompt: "your custom prompt here"调整超时
编辑 run_benchmark.py:
result = subprocess.run(
[sys.executable, test_file],
capture_output=True,
text=True,
timeout=300 # Change to desired timeout in seconds
)添加自定义指标
修改 BenchmarkLogger 在 utils.py 以跟踪其他指标。
备注
- 所有计时测量均以秒为单位,精度为小数点后4位
- 每个框架测试独立运行,以避免干扰
- 结果可能因网络条件和OpenAI API响应时间而异
- MCP服务器必须支持JSON-RPC v2协议
许可证
此基准套件按原样提供,用于测试和评估目的。
支持
对于问题或疑问:
- 检查故障排除部分
- 审查单个框架文件
- 验证MCP服务器是否正常运行
