关于 huggingface-import
将 HuggingFace 仓库、Space 或数据集转换为 Coval 测试集的技能,面向构建语音及对话 Agent 评估场景的用户。它通过交互式字段映射生成按类别组织的 CSV,并保留选定的元数据。
主要功能
- 01检查数据文件与字段结构
- 02交互映射输入、类别和元数据
- 03处理多轮对话数据
- 04生成 Coval 格式 CSV
- 05按类别拆分 CSV 文件
适用场景
- 01把 HuggingFace 问题集导入 Coval
- 02将数据集分类整理为测试集
- 03保留原始 ID 等记录元数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ coval-ai/ coval-external-skills --skill huggingface-import安装后在 Claude Code 中输入/huggingface-import确认已加载。
附带文件examples/huggingface-import.py
详细介绍
将 HuggingFace 数据集导入 Coval 测试集
从 HuggingFace 导入 $ARGUMENTS,并将其转换为结构规范的 Coval 测试集。
Coval 背景
Coval 是一个 AI 评估平台,用于测试语音和对话式 AI Agent。它会针对 AI Agent 运行模拟,并使用可配置的指标衡量性能。
| 概念 | 描述 |
|---|---|
| 测试集 | 一组测试用例,按类别或评估目的分组 |
| 测试用例 | 单个评估场景,包含 input(提示词)和可选的 metadata |
| Persona | 高层次的用户角色(系统提示词),与测试用例分开 |
| Agent | 被评估的 AI 系统 |
关键区别:
- Persona = 谁在提问(角色、特征)
- 测试用例 = 提问什么(提示词、场景)
Coval API
基础 URL: https://api.coval.dev/v1
进行 API 调用前,先获取 OpenAPI 规范:
# List specs (no auth)
GET https://api.coval.dev/v1/openapi
# Fetch specific spec
GET https://api.coval.dev/v1/openapi/{spec_name}
工作流
第 1 步:确定 HuggingFace 来源
如果提供了 $ARGUMENTS,请导航到对应位置。否则询问:
你要导入哪个 HuggingFace 仓库、Space 或数据集?
然后:
- 导航到 HuggingFace 来源
- 查找数据文件(CSV、JSON、Parquet)
- 检查数据结构和字段
第 2 步:分析数据结构
向用户报告:
- 记录总数
- 可用字段/列
- 现有分类
- 2~3 条样本记录
第 3 步:交互式字段映射
询问以下问题,将 HuggingFace 数据映射到 Coval 格式:
Q1:输入字段
哪个字段包含测试用例
input对应的问题/提示词?
Q2:分类
应如何将测试用例组织到不同测试集中?
- 按现有类别字段分类
- 单个测试集
- 自定义逻辑
Q3:元数据
哪些字段应保留在
metadataJSON 中? (建议:保留原始 ID,例如question_id)
Q4:多轮对话(如适用)
如何处理多轮对话?
- 仅保留第一轮
- 拼接各轮内容
- 每轮单独作为一个测试用例
第 4 步:生成 CSV 文件
创建兼容 Coval 的 CSV 文件:
input,metadata
"Your question here","{""question_id"": ""123"", ""source"": ""mt-bench""}"
要求:
input列必须放在第一列- 正确转义引号(双引号)
metadata必须是有效的 JSON 字符串- 使用 UTF-8 编码
- 每个类别对应一个 CSV 文件(推荐)
命名: {source}_{category}.csv
第 5 步:上传到 Coval
**手动:**通过 Coval 控制面板的测试集页面上传 CSV 文件。
**API:**获取 OpenAPI 规范,并以编程方式使用测试集端点。
常见 HuggingFace 来源
通用语言理解
| 数据集 | 描述 |
|---|---|
cais/mmlu | 涵盖 57 个科目(STEM、人文、法律)的 15k+ 道选择题 |
nyu-mll/glue | 句子级任务:情感、蕴含、语言可接受性 |
tau/commonsense_qa | 日常常识推理测试 |
Rowan/hellaswag | 常识推断和补全 |
推理与问题解决
| 数据集 | 描述 |
|---|---|
openai/gsm8k | 约 8k 道小学数学文字题(多步算术) |
ucinlp/drop | 包含离散运算的阅读理解 |
lukaemon/bbh | BigBench Hard——具有挑战性的推理子集 |
支持文件
- Python 转换示例请参阅 examples/huggingface-import.py
检查清单
- 已确定输入字段
- 已确定分类方式
- 已在元数据中保留原始 ID
- 已正确转义引号
-
metadata中包含有效 JSON - 已按类别分别创建 CSV 文件
评论
支持 Markdown