Argilla 快速上手指南10 分钟完成 Hugging Face 部署、数据集创建与 Python SDK 连接【免费下载链接】argillaArgilla is a collaboration tool for AI engineers and domain experts to build high-quality datasets项目地址: https://gitcode.com/GitHub_Trending/ar/argillaArgilla 是一款免费、开源、可自托管的 AI 数据协作工具面向 AI 工程师与领域专家用于构建高质量的标注数据集。本文以官方 Quickstart 为骨架结合仓库源码带你走完从部署 Argilla、登录 Web UI、从 Hugging Face Hub 导入并配置第一个数据集到通过 Python SDK 连接服务器、管理资源并将标注结果导出回 Hub 的完整链路。读完本文你将掌握 Argilla 的两种主流部署方式Hugging Face Spaces 与 Docker、UI 数据集的导入配置流程以及rg.Argilla客户端的基本用法。部署方式总览Argilla 是自托管工具使用前必须先部署其 UI。官方提供了两条主要路径选择取决于你的使用场景部署方式适用场景启动耗时需要维护服务器Hugging Face Spaces快速体验、无需运维约 2–3 分钟否Dockerdocker compose本地开发、服务器自托管、精细调优服务端配置取决于镜像拉取是其中Hugging Face Spaces 是官方推荐的入门选择无需维护服务器、无需执行任何命令5 分钟内即可跑起来。Docker 方式则适合在本地机器或自有服务器上运行且能完全控制服务端、数据库与搜索引擎Elasticsearch的配置。方式一Hugging Face Spaces 无代码部署如果你刚开始接触 Argilla这是最省事的路径。在 Hugging Face 的 Spaces 页面选择argilla/argilla-template-space模板创建 Space在部署页直接点击部署按钮即可并按以下默认值完成创建Space owner保持默认使用你的个人账户。USERNAME与PASSWORD两个 Secrets 留空部署后你将直接用 Hugging Face 账号作为 Argilla Space 的owner登录无需额外账号密码。点击Create Space启动 Argilla。看到 Argilla UI 后进入下文「登录 Argilla UI」一节如果Building状态持续超过 2–3 分钟刷新页面即可。部署完成后Space 会自动配置 Hugging Face OAuth 登录并创建一个名为argilla的默认工作区workspaceSpace 创建者即该工作区的owner。提示获取 Argilla API Key你的 Argilla API Key 位于 Space 的My Settings页面。若不确定如何找到可参考下文「登录 Argilla UI」一节。警告持久化存储Persistent storage若不将持久化存储设置为SMALLSpace 重启后数据会丢失。Space 会因维护、闲置以及你修改 Space 设置而重启。如果只是临时测试可先用FREE存储正式使用请务必升级持久化存储。更详细的配置说明含组织级部署、OAuth 配置、私有 Space 等见 Hugging Face Spaces 配置指南。方式二Python SDK 部署deploy_on_spaces如果你希望在代码中完成部署可以使用 Python SDK 的Argilla.deploy_on_spaces方法。该方法会自动完成三件事在 Hugging Face Hub 上部署一个带 OAuth 登录的 Argilla Space生成形如https://your-username-argilla.hf.space的 URL构建过程约 2–3 分钟创建名为argilla的默认工作区其 owner 为你的 Hugging Face 用户名并将 Argilla token 设为传入的api_key自动返回一个已认证的 Argilla 客户端可直接用于与服务器交互。首先安装 Argillapip install argilla然后调用部署方法import argilla as rg authenticated_client rg.Argilla.deploy_on_spaces(api_keyapi_key)从源码看该方法定义于 argilla/src/argilla/_helpers/_deploy.py 的SpacesDeploymentMixin中其完整参数如下参数默认值说明api_key必填为 Space 的 owner 用户定义的 Argilla API Key长度须不少于 8 个字符repo_nameargillaSpace 仓库名org_name当前 HF 用户部署 Space 的组织名缺省时使用当前用户hf_token自动获取Hugging Face 认证 token未提供时会通过get_token()/notebook_login()/login()获取space_storageNone无持久化持久化存储大小可选small/medium/large不设置会收到数据丢失警告space_hardwarecpu-basicSpace 硬件配置可选cpu-basic/cpu-upgradeprivateFalseSpace 是否设为私有实现细节源码值得注意该方法底层通过huggingface_hub的HfApi.duplicate_space从argilla/argilla-template-space模板复制 Space并把API_KEY与WORKSPACE作为 Secrets 写入随后轮询 Space 运行状态_is_building每 10 秒检查一次直到构建完成才返回已认证客户端。若传入的api_key不足 8 个字符会抛出ValueError。若 Space 已存在但处于停止状态SDK 会自动restart_space并复用你提供的 API Key——若认证失败提示到 Space 页面用 OAuth 登录获取正确 Key。如果你想在 Hugging Face 组织下部署、搭建更稳定的 Space 或了解各项设置请查看 Hugging Face Spaces 配置指南。方式三Docker 本地部署如果你希望在本地机器或服务器上运行 Argilla或需要精细调优服务端配置请选择 Docker 方式。完整说明见 使用 Docker 部署 Argilla其核心步骤如下。先确保已安装docker并能执行docker compose然后创建目录并下载编排文件mkdir argilla cd argillawget -O docker-compose.yaml https://raw.githubusercontent.com/argilla-io/argilla/main/examples/deployments/docker/docker-compose.yaml或使用 curlcurl https://raw.githubusercontent.com/argilla-io/argilla/main/examples/deployments/docker/docker-compose.yaml -o docker-compose.yaml启动服务部署后访问http://localhost:6900docker compose up -d浏览器打开http://localhost:6900应看到 Argilla 登录页。若无法访问查看日志定位问题docker compose logs -f大部分部署问题与 Elasticsearch 相关。仓库内对应的编排文件位于 examples/deployments/docker/docker-compose.yaml它一次性拉起 5 个服务argilla服务端映射端口6900:6900、后台worker、postgresPostgreSQL 14、elasticsearch8.17.0单节点、关闭安全认证与redis。你可以通过环境变量注入配置例如USERNAME/PASSWORD定义 owner 账号、API_KEY定义 API Key、WORKSPACE定义默认工作区ARGILLA_ELASTICSEARCH、ARGILLA_DATABASE_URL、ARGILLA_REDIS_URL分别指向依赖服务。数据通过argilladata、postgresdata、elasticdata三个 volume 持久化。登录 Argilla UI部署成功后你会看到如下 Argilla 登录页登录步骤点击Sign in with Hugging Face。授权应用后你将作为owner登录 Argilla。构建失败排查如果遇到构建错误可尝试在 Settings 页面重启 Space若仍无法解决参考 Hugging Face Spaces 配置指南。未授权错误有时授权后会出现 unauthorized 错误并被重定向回登录页通常再次点击 Sign in 按钮即可解决。至此你的 Argilla 服务器已就绪可以开始第一个项目了。创建你的第一个数据集探索工具并创建第一个数据集最快的方式是从 Hugging Face Hub 导入一个现成数据集。操作路径登录 Argilla UI在 Home 页面点击Import dataset from Hugging Face从示例数据集中挑选一个或在输入框中粘贴 repo id例如stanfordnlp/imdb。Argilla 会自动解读数据集列将其映射为 Fields 与 Questions。Fields字段你想要收集反馈的数据如文本、聊天记录或图片。如果想排除 Argilla 识别出的某些字段选择 No mapping 选项即可。Questions问题你想收集的反馈内容如标签、评分、排序或文本。Argilla 识别出的问题若不想要可以删除也可以自行添加问题。从上图可见配置页左侧可预览源数据集含 Subset/Split 切换中间配置 Fields如text字段映射右侧配置 Questions可设置问题类型如 Multi-label、Rating、Text 等并通过Map to column绑定源数据列。配置完成后为数据集命名、选择工作区workspace并按需选择数据拆分splitArgilla 将在后台开始导入。数据集创建后仍可在 Dataset Settings 页面修改部分配置如字段与问题的标题可修改项详见 更新数据集指南。导入大数据集Argilla 只会导入数据集的前10k 行。如果你的数据集更大可随时用 Python SDK 导入其余记录。做法是打开该数据集复制 Import data 下提供的代码片段在 Jupyter 或 Google Colab 中执行!pip install argilla然后粘贴并运行复制的代码片段即可将剩余记录导入数据集。从源码看UI 导入流程对应rg.Dataset.from_hub的settingsui模式argilla/src/argilla/datasets/_io/_hub.py 中的_run_settings_ui会生成形如api_url/new/repo_id?subset...split...的配置页面 URL由浏览器打开引导你完成字段与问题映射随后由_log_dataset_records负责把 Hub 数据集转换为 Argilla 记录包括识别*.responses、*.suggestion、metadata.*、vector.*等特殊列并写入数据集。安装并连接 Python SDK管理用户、工作区与数据集等资源时建议使用 Python SDK配合 Jupyter Notebook 或 Google Colab 使用。在 notebook 中安装!pip install argilla连接你的 Argilla 服务器需要两个信息api_key位于 Argilla Space 的My Settings页面请确保使用的是创建 Space 时的owner账号登录。api_url浏览器地址栏中以*.hf.space结尾的 URL。import argilla as rg client rg.Argilla( api_urlapi_url, api_keyapi_key )找不到 API URL 怎么办使用 Spaces 时Argilla UI 有时被嵌入 Hub UI浏览器地址与 API URL 不一致。此时有三种获取方式在 Argilla Home 页面点击 Import from the SDK代码片段中自带 API URL 与 Key点击 Space 顶部的三点菜单选择 Embed this Space 并打开直接 URL使用固定模式拼出https://[your-owner-name]-[your_space_name].hf.space。连接是否成功可通过client.me验证它应返回你的用户信息client.meme的实现在 argilla/src/argilla/client.py它是一个缓存属性内部通过self.api.users.get_me()从服务器拉取当前用户模型。从 client.py 的类定义可以看出rg.Argilla客户端还暴露了workspaces、datasets、users、webhooks四个资源集合属性用于统一管理服务器上的各类资产。另外client.py 的__init__签名 显示客户端还支持timeout默认 60 秒与retries默认 5 次参数并可通过ARGILLA_API_URL、ARGILLA_API_KEY环境变量自动填充api_url与api_key。从这里开始你可以管理 Argilla 中的所有资产包括更新前面创建的数据集、添加向量vectors、元数据metadata或建议suggestions等高级信息详见 How-to 指南。将数据集导出到 Hugging Face Hub在 Argilla 中完成一段时间的标注后可以把数据集回传 Hugging Face Hub用于分享或版本管理。先按上一节步骤用 SDK 连接服务器然后加载数据集并导出dataset client.datasets(namemy_dataset) dataset.to_hub(repo_idmy_org/my_dataset)to_hub的实现位于 argilla/src/argilla/datasets/_io/_hub.py其行为要点如下with_recordsTrue默认时会连同标注结果一起推送记录会通过records(with_vectorsTrue, with_responsesTrue, with_suggestionsTrue).to_datasets()转成 Hugging Facedatasets.Dataset后push_to_hub因此向量、响应、建议都会随记录导出generate_cardTrue默认时会自动为数据集生成 README 数据集卡片包含 Fields、Questions、指南、向量与元数据配置的说明若数据集此前已推送过再次推送会更新而非新建仓库。关于导出到 Hub 的更多细节例如仅导出配置with_recordsFalse可阅读 导入与导出数据集指南。下一步学习如何创建自己的数据集、工作区并管理用户参见 How-to 指南。通过动手示例学习 Argilla参见 Tutorials 教程。进一步配置你的 Argilla Space持久化存储、组织部署、OAuth、私有 Space 等参见 Hugging Face Spaces 配置指南。【免费下载链接】argillaArgilla is a collaboration tool for AI engineers and domain experts to build high-quality datasets项目地址: https://gitcode.com/GitHub_Trending/ar/argilla创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考