modelscope/evalscope
A streamlined and customizable framework for efficient large model (LLM, VLM, AIGC) evaluation and performance benchmarking.
EvalScope – LLM和多模态模型的一站式评估平台
简介 – EvalScope是一个Python包,可让您对大型语言模型、视觉语言模型、嵌入/重排序服务甚至自主代理运行各种基准测试。通过单个CLI命令(或几行Python代码),您可以:
- 评估模型能力 – 运行MMLU、C-Eval、GSM8K、ARC等经典文本基准测试,以及数十个较新的多模态、代码生成、RAG和代理中心套件。
- 压力测试推理 – 在模型处理请求时测量延迟、首令牌时间、吞吐量等性能指标。
- 运行代理 – 将基准测试包装在多轮AgentLoop中,该循环可以调用工具(bash、python、网络搜索、Docker沙箱等),并为每个样本记录完整轨迹。
- 比较模型 – 交互式Web仪表板可视化分数、逐样本预测和性能指标,支持成对“竞技场”对战。
- 插件式扩展 – 您可以通过几行配置添加自己的数据集、模型、指标或后端(OpenCompass、VLMEvalKit、RAGEval等)。
核心功能(如README中所列)
| 功能 | 提供内容 |
|---|---|
| 全面基准测试 | 内置支持数十个行业标准套件(MMLU、C-Eval、GSM8K、MathVista、VQA、代码基准、RAG、代理基准等)。 |
| 多模态与多领域 | 适用于纯LLM、视觉语言模型、嵌入服务、重排序器和生成式AIGC模型。 |
| 多后端集成 | 无需编写胶水代码即可调用OpenCompass、VLMEvalKit、RAGEval和其他第三方评估器。 |
| 代理评估模式 | 在具有可插拔策略、工具和Docker沙箱的可控AgentLoop中运行基准测试,并记录详细的agent_trace。 |
| 推理性能测试 | 报告TTFT、TPOT、吞吐量并可模拟多轮对话的压力测试工具。 |
| 交互式Web仪表板 | 用于模型比较、分数表、逐样本预测和代理轨迹可视化的React/Vite UI。 |
| 竞技场模式 | 多个模型之间的成对战,自动排名。 |
| 可扩展性 | 通过简单的注册API添加自定义数据集、模型、指标甚至整个新后端。 |
典型工作流程(快速入门)
# 安装包
pip install evalscope
# 评估远程OpenAI兼容API(无需GPU)
# – 选择GSM8K和ARC基准测试,每个运行5个示例
evalscope eval \
--model your-model-name \
--api-url $OPENAI_API_BASE_URL \
--api-key $OPENAI_API_KEY \
--eval-type openai_api \
--datasets gsm8k arc \
--limit 5
或者,从Python:
from evalscope import run_task, TaskConfig
cfg = TaskConfig(
model='your-model-name',
api_url='https://my-endpoint/v1',
api_key='my_key',
eval_type='openai_api',
datasets=['gsm8k', 'arc'],
limit=5,
)
run_task(cfg) # 与CLI相同
该命令联系模型服务,运行选定的基准测试,收集准确率分数和性能数据,最后启动一个本地Web UI,您可以在其中探索结果。
谁可能使用EvalScope?
- 模型开发者 – 快速将新LLM或VLM与数十个公共数据集进行基准测试,并查看其不足之处。
- 运维/平台团队 – 对模型服务端点运行压力测试,以验证延迟和吞吐量SLA。
- 研究实验室 – 使用内置的多轮循环评估代理行为(工具调用、ReAct、代码生成),并记录轨迹以供分析。
- 产品团队 – 在仪表板中并排比较多个候选模型,以做出数据驱动的选择。
安装与文档
- 从PyPI安装:
pip install evalscope(需要Python ≥ 3.10)。 - 完整文档、安装细节和示例笔记本位于 https://evalscope.readthedocs.io ,演示网站位于 https://modelscope.github.io/evalscope/ 。
总结 – EvalScope是一个成熟、积极维护的评估框架,涵盖广泛AI模型的准确性、速度和代理能力,全部封装在用户友好的CLI和可视化仪表板中。
相关
- 项目
- 项目
- 项目
- 项目
- 项目