Hub 文档
Argilla
并获得增强的文档体验
开始使用
Argilla
Argilla 是一款面向 AI 工程师和领域专家的协作工具,他们需要为自己的项目构建高质量的数据集。
Argilla 可用于为各种 AI 项目收集人类反馈,如传统 NLP(文本分类、命名实体识别等)、LLMs(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 for good (AI向善):红十字会的演示展示了红十字会领域专家和 AI 团队如何通过分类和重定向乌克兰危机难民的请求进行协作,以简化红十字会的支持流程。
- 客户支持:在 Loris 聚会期间,他们展示了其 AI 团队如何使用无监督和少样本对比学习来帮助他们快速验证并为大量多标签分类器获取标注样本。
- 研究:Prolific 的展示宣布了他们与我们平台的集成。他们用它来积极地在其标注人员中分发数据收集项目。这使得 Prolific 能够快速高效地为研究收集高质量数据。
先决条件
hf auth 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)