Hub 文档
Argilla
并获得增强的文档体验
开始使用
Argilla
Argilla 是一个协作工具,专为需要为其项目构建高质量数据集的 AI 工程师和领域专家而设计。
Argilla 可用于收集各种 AI 项目的人工反馈,例如传统的 NLP(文本分类、NER 等)、LLM(RAG、偏好调整等)或多模态模型(文本到图像等)。Argilla 的程序化方法使您能够构建用于持续评估和模型改进的工作流程。Argilla 的目标是通过快速迭代正确的数据和模型来确保您的数据工作获得回报。
人们使用 Argilla 构建什么?
开源数据集和模型
Argilla 也为开源贡献了一些模型和数据集。
- 清理后的 UltraFeedback 数据集用于微调 Notus 和 Notux 模型。最初的 UltraFeedback 数据集使用了 Argilla UI 过滤器来查找和报告原始数据生成代码中的错误。基于此数据整理过程,Argilla 构建了新版本的 UltraFeedback 数据集并微调了 Notus,在多个基准测试中优于 Zephyr。
- distilabeled Intel Orca DPO 数据集用于微调改进的 OpenHermes 模型。该数据集是通过将 Argilla 中的人工整理与 distilabel 的 AI 反馈相结合而构建的,从而产生了改进版本的 Intel Orca 数据集,并且性能优于在原始数据集上微调的模型。
示例用例
来自 红十字会、Loris.ai 和 Prolific 等公司的 AI 团队使用 Argilla 来提高 AI 项目的质量和效率。他们在我们的 AI 社区聚会中分享了他们的经验。
- AI 助益社会:红十字会的演示展示了红十字会领域专家和 AI 团队如何通过对来自乌克兰危机难民的请求进行分类和重定向来协作,从而简化红十字会的支持流程。
- 客户支持:在 Loris 聚会期间,他们展示了他们的 AI 团队如何使用无监督和少样本对比学习来帮助他们快速验证和获取大量多标签分类器的标记样本。
- 研究性学习:来自 Prolific 的展示宣布了他们与我们平台的集成。他们使用它在其注释人员中积极分发数据收集项目。这使 Prolific 能够快速有效地为研究性学习收集高质量的数据。
先决条件
huggingface-cli login
确保您已安装 argilla>=2.0.0
pip install -U argilla
最后,您需要部署 Argilla 服务器和 UI,这可以在 Hugging Face Hub 上轻松完成。
导入和导出数据集和记录
本指南介绍如何将数据集导入和导出到 Hugging Face Hub。
在 Argilla 中,您可以导入/导出数据集的两个主要组件
- 在
rg.Settings
中定义的数据集的完整配置。如果您想共享您的反馈任务或稍后在 Argilla 中恢复它,这将非常有用。 - 存储在数据集中的记录,包括
Metadata
、Vectors
、Suggestions
和Responses
。如果您想在 Argilla 之外使用数据集的记录,这将非常有用。
将 Argilla 数据集推送到 Hugging Face Hub
您可以将数据集从 Argilla 推送到 Hugging Face Hub。如果您想与社区分享数据集或对其进行版本控制,这将非常有用。您可以使用 rg.Dataset.to_hub
方法将数据集推送到 Hugging Face Hub。
import argilla as rg
client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")
dataset = client.datasets(name="my_dataset")
dataset.to_hub(repo_id="<repo_id>")
带记录或不带记录
上面的示例会将数据集的 Settings
和记录推送到 hub。如果您只想推送数据集的配置,可以将 with_records
参数设置为 False
。如果您只对特定的数据集模板感兴趣,或者想要更改数据集设置和/或记录,这将非常有用。
dataset.to_hub(repo_id="<repo_id>", with_records=False)
从 Hugging Face Hub 拉取 Argilla 数据集
您可以将数据集从 Hugging Face Hub 拉取到 Argilla。如果您想恢复数据集及其配置,这将非常有用。您可以使用 rg.Dataset.from_hub
方法从 Hugging Face Hub 拉取数据集。
import argilla as rg
client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")
dataset = rg.Dataset.from_hub(repo_id="<repo_id>")
rg.Dataset.from_hub
方法从数据集仓库加载配置和记录。如果您只想加载记录,可以将 datasets.Dataset
对象传递给 rg.Dataset.log
方法。这使您能够配置自己的数据集并重用现有的 Hub 数据集。
带记录或不带记录
上面的示例将从 hub 拉取数据集的 Settings
和记录。如果您只想拉取数据集的配置,可以将 with_records
参数设置为 False
。如果您只对特定的数据集模板感兴趣,或者想要更改数据集设置和/或记录,这将非常有用。
dataset = rg.Dataset.from_hub(repo_id="<repo_id>", with_records=False)
使用数据集的配置,您可以随后更改数据集。例如,您可以为不同的任务调整数据集的设置
dataset.settings.questions = [rg.TextQuestion(name="answer")]
然后,您可以使用 datasets
包的 load_dataset
方法加载数据集的记录,并将数据集传递给 rg.Dataset.log
方法。
hf_dataset = load_dataset("<repo_id>")
dataset.log(hf_dataset)