unitxt
IBM开源的企业级AI评测框架,提供业界最大评测目录,支持文本/表格/图像/语音/代码多模态统一评估
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
IBM开源的企业级AI评测框架,提供业界最大评测目录,支持文本/表格/图像/语音/代码多模态统一评估
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:一家银行上线了一款智能客服 AI,研发团队想知道它到底靠不靠谱——能否准确回答用户的转账问题?能否理解复杂的多轮对话?遇到刁钻提问会不会「一本正经胡说八道」?
传统做法是工程师手动写测试用例、跑脚本、对结果——费时费力,且很难保证评测的一致性和可复现性。
Unitxt 正是为解决这个痛点而生的。它是 IBM Research 出品的 Python 评测框架,提供了堪称"业界最全"的 AI 评测工具和数据目录,涵盖文本、表格、图像、语音、代码等多模态评测场景。
大模型(LLM)浪潮席卷全球,但模型评测一直是行业难题。不同模型的评测基准(Benchmark)五花八门,数据格式各异,评测流程难以标准化——导致研究者和企业难以公平对比不同模型的能力。
IBM Research 推出 Unitxt,正是要解决这个问题:建立一套统一的、可复现的 AI 评测标准,让模型的性能评估像软件测试一样规范化。
核心创始团队来自 IBM 深度学习研究院,在 NLP、评测基准(benchmark)设计领域有深厚积累。开源社区活跃度较高,项目获得了 Apache-2.0 许可。
Unitxt 的设计哲学是模块化——每个评测流程由若干独立组件拼装而成,用户无需从零编写复杂的评测代码。
1. TaskCard(任务卡片) TaskCard 是 Unitxt 的核心抽象单元,定义了一个完整的评测任务。它包含四个部分:
2. 丰富的评测指标库 内置大量评测指标,包括 Accuracy、BLEU、ROUGE、BERTScore 等,还支持自定义指标。覆盖分类、生成、翻译、问答等多种评测场景。
3. 多模态支持
4. 跨平台推理引擎 Unitxt 不绑定特定模型服务,支持:
Unitxt 提供了一个庞大的预置目录(Catalog),截至目前包含:
用户可以直接引用这些预置组件,例如一行代码加载 MMLU-Pro 工程类数据集:
from unitxt import load_dataset
dataset = load_dataset(
card="cards.mmlu_pro.engineering",
split="test",
format="formats.chat_api"
)
Unitxt 提供 unitxt-evaluate 命令行工具,支持快速评测:
unitxt-evaluate --tasks "card=cards.mmlu_pro.engineering" --model cross_provider --model_args "model_name=llama-3-1-8b-instruct" --limit 10
支持多任务评测、结果导出、样本记录等功能。
Unitxt 提供了可选的 Gradio 界面组件,适合非技术用户进行交互式评测和结果可视化。安装时加上 [ui] 依赖即可启用:
pip install unitxt[ui]
从源码结构来看,Unitxt 的核心模块组织如下:
src/unitxt/
├── card.py # TaskCard 核心定义
├── blocks.py # 预置组件集(Loaders、Metrics、Templates)
├── catalog.py # 本地/远程目录管理
├── api.py # 对外 API(evaluate, load_dataset, produce)
├── evaluate_cli.py # CLI 评测工具(核心入口,约 33KB)
├── formats.py # 数据格式定义(Chat API、Alpaca 等)
├── templates.py # 提示词模板系统
├── inference.py # 推理引擎抽象层
├── metrics/ # 评测指标实现
├── loaders/ # 数据加载器(HF、Kaggle、IBM Cloud 等)
├── operators/ # 数据处理算子(Map、Rename、Filter 等)
├── splitters.py # 数据集分割(训练/验证/测试)
└── catalog/ # 内置目录 JSON 文件
架构亮点:
代码质量评分:项目有完整的单元测试(pytest)、pre-commit 代码规范检查、ruff 格式化,代码结构清晰,文档详尽,评分 85/100。
pip install unitxt
# 或开发模式
git clone https://github.com/IBM/unitxt.git
cd unitxt
pip install -e ".[dev]"
datasets、evaluate、scipytransformers(本地模型)、gradio(UI)、bert_score(评测指标)纯 Python 库,无 GPU 依赖,CPU 即可运行。最低 4GB RAM、2GB 磁盘空间。
Unitxt 的出现填补了企业级 AI 评测工具的空白。它不仅是 IBM Research 的技术产品,更代表了一种趋势:AI 模型评测正在从手工脚本走向标准化、工程化的新阶段。
随着 AI 应用在各行各业的深入落地,对模型可靠性的评估需求急剧增长。Unitxt 提供的统一评测框架,有望成为企业 AI 质量保障体系的核心组件。