什么是 Argilla?#

Argilla 是一个用于 LLM 的开源数据策展平台。使用 Argilla,每个人都可以通过使用人工和机器反馈更快地进行数据策展来构建强大的语言模型。我们为 MLOps 周期中的每个步骤提供支持,从数据标注到模型监控。

Argilla 2.x

我们宣布 Argilla 1.29 是 Argilla 1.x 的最后一个小版本。虽然我们将继续发布此版本的错误修复,但我们既不会添加也不会删除任何功能。访问 2.x 文档

📄 关于文档#

部分

目标

🚀 快速入门

安装 Argilla 和端到端玩具示例

🎼 速查表

我们主要功能的简短代码片段

🔧 安装

所有部署内容:Docker、Kubernetes、云以及更多

⚙️ 配置

用户管理和部署调整

💥 关于 LLM 的概念

生成式 AI、ChatGPT 和朋友们

🦮 实用指南

我们主要功能的概念概述

🧗‍♀️ 教程

特定的应用端到端示例

🏷️ 参考

条目化信息和 API 文档

🏘️ 社区

关于 开发者和贡献 的所有内容

🗺️ 路线图

我们的未来计划

🛠️ 项目架构#

Argilla 构建于 5 个核心组件之上

  • Python SDK:一个 Python SDK,可以使用 pip install argilla 安装。用于与 Argilla 服务器和 Argilla UI 交互。它提供了一个 API 来管理数据、配置和标注工作流。

  • FastAPI 服务器:Argilla 的核心是一个 Python FastAPI 服务器,它通过预处理数据并将其存储在向量数据库中来管理数据。此外,它还将应用程序信息存储在关系数据库中。它提供了一个 REST API,用于从 Python SDK 和 Argilla UI 与数据交互。它还提供了一个 Web 界面来可视化数据。

  • 关系数据库:一个关系数据库,用于存储记录和标注的元数据。SQLite 用作默认的内置选项,并与 Argilla 服务器分开部署,但也可以使用单独的 PostgreSQL

  • 向量数据库:一个向量数据库,用于存储记录数据并执行可扩展的向量相似性搜索和基本文档搜索。我们目前支持 ElasticSearchAWS OpenSearch,它们可以作为单独的 Docker 镜像部署。

  • Vue.js UI:一个 Web 应用程序,用于可视化和标注您的数据、用户和团队。它使用 Vue.js 构建,并与 Argilla 服务器一起直接部署在我们的 Argilla Docker 镜像中。

📏 原则#

  • 开放:Argilla 是免费的、开源的,并且 100% 兼容主要的 NLP 库(Hugging Face transformers、spaCy、Stanford Stanza、Flair 等)。实际上,您可以使用和组合您首选的库,而无需实现任何特定的接口。

  • 端到端:大多数标注工具将数据收集视为每个项目开始时的一次性活动。在真实世界的项目中,数据收集是 ML 模型开发迭代过程的关键活动。一旦模型投入生产,您就希望监控和分析其预测,并收集更多数据以随着时间的推移改进您的模型。Argilla 旨在弥合这一差距,使您能够根据需要进行尽可能多的迭代

  • 用户和开发者体验:可持续 NLP 解决方案的关键是让每个人都更容易为项目做出贡献。领域专家 应该能够轻松地解释和标注数据。数据科学家 应该可以自由地试验和迭代。工程师 应该能够控制数据管道。Argilla 优化了这些核心用户的体验,以提高您团队的生产力

  • 超越手动标注:经典的手动标注工作流程成本高昂且效率低下,但让人参与其中至关重要。轻松地将手动标注与主动学习、批量标注、零样本模型和弱监督相结合,用于新颖的数据标注工作流程**。

❔ FAQ#

什么是 Argilla?

Argilla 是一个开源数据策展平台,旨在增强小型和大型语言模型 (LLM) 的开发。使用 Argilla,每个人都可以通过使用人工和机器反馈更快地进行数据策展来构建强大的语言模型。我们为 MLOps 周期中的每个步骤提供支持,从数据标注到模型监控。事实上,“Argilla”这个名字的灵感来自拉丁语、意大利语甚至加泰罗尼亚语中表示“粘土”的词。正如粘土一直是人类创造力和工具制造的基本媒介一样,我们将数据视为雕刻和改进模型的必要材料。

Argilla 训练模型吗?

Argilla 不训练模型,但提供工具和集成来帮助您这样做。使用 Argilla,您可以轻松加载数据并使用我们称为 ArgillaTrainer 的功能直接训练模型。ArgillaTrainer 充当各种流行的 NLP 库的桥梁。它通过为许多 NLP 任务提供易于理解的界面,使用默认的预设设置,而无需从 Argilla 的格式转换数据,从而简化了训练过程。您可以在此处找到有关使用 Argilla 训练模型的更多信息。

旧数据集和 FeedbackDataset 之间有什么区别?

FeedbackDataset 以其多功能性和适应性而著称,旨在支持更广泛的 NLP 任务,包括以大型语言模型为中心的任务。相比之下,旧数据集虽然在特定领域功能更丰富,但却是为单一 NLP 任务量身定制的。但是,在 Argilla 2.0 中,目的是逐步淘汰旧数据集,转而使用 FeedbackDataset。有关更详细的说明,请参阅本指南

Argilla 只能用于 LLM 吗?

不,Argilla 是一种通用的工具,适用于各种 NLP 任务。但是,我们强调与小型和大型语言模型 (LLM) 的集成,这反映了我们对它们将在 NLP 的未来中发挥重要作用的信心。在本页中,您可以找到支持的任务列表。

Argilla 提供标注劳动力吗?

目前,我们已经与标注提供商建立了合作伙伴关系,以确保符合道德规范的做法和安全的工作环境。随时在此处安排会议或通过电子邮件联系我们。

Argilla 收费吗?

不,Argilla 是一个开源平台。我们计划永远保持 Argilla 免费。但是,我们确实提供 Argilla 的商业版本,称为 Argilla Cloud。

Argilla 开源版本和 Argilla Cloud 之间有什么区别?

Argilla Cloud 是我们开源平台的对应产品,提供软件即服务 (SaaS) 模型,并且没有在开源版本的基础上添加额外的功能。主要区别在于其云托管,它特别适合需要通常个人从业者或小型企业不需要的功能的大型团队。因此,Argilla Cloud 是 SAS 加上虚拟私有云部署,具有专门与云相关的附加功能。对于那些对 Argilla Cloud 下可用的不同计划感兴趣的人,您可以在我们的网站上找到详细信息。

Argilla 与 Snorkel、Prodigy 和 Scale 等竞争对手有何不同?

Argilla 因其专注于特定用例和人机环路方法而与众不同。虽然它确实提供编程功能,但 Argilla 的核心价值在于积极让人类专家参与工具构建过程,这使其与其他竞争对手区分开来。

此外,Argilla 特别强调与其他社区工具的平滑集成,尤其是在 MLOps 和 NLP 领域。因此,它与 SpaCy 和 Hugging Face 等流行框架的兼容性使其非常用户友好且易于访问。

最后,像 Snorkel、Prodigy 或 Scale 这样的平台虽然更全面,但通常需要大量的投入。另一方面,Argilla 更像 MLOps 生态系统中的一个组件,允许用户从特定用例开始,然后根据需要进行扩展。这种灵活性对于喜欢从小处着手并在一段时间内扩展其应用程序的用户和客户特别有利,而不是从一开始就致力于一个包罗万象的平台。

Argilla 目前在做什么?

我们不断致力于改进 Argilla 的功能和可用性,现在专注于三管齐下的愿景:Argilla Core(开源)、Distilabel 和 Argilla JS/TS 的开发。您可以在此处找到我们当前的项目列表。

🤝 贡献#

为了帮助我们的社区创建贡献,我们创建了我们的开发者贡献者文档。此外,您可以随时与我们的开发者倡导团队安排会议,以便他们让您尽快上手。

🥇 贡献者#

🏘️ 社区#

🙋‍♀️ 加入 Argilla 社区 Discord,并在 #argilla-distilabel-general 和 #argilla-distilabel-help 中获得社区的直接支持。

⭐ Argilla Github 仓库,以保持对新版本和教程的更新。

🎁 我们刚刚印制了贴纸!您想要一些吗?免费订购贴纸

🗺️ 路线图#

我们不断努力更新我们的计划和路线图,我们很乐意与我们的社区讨论这些计划。欢迎大家积极参与。