agentic_huge_data_base / wiki
页面 Argilla · 6.1 Docker 部署·DeepWiki 中文全文译文

6.1 · Docker 部署(Docker Deployment)

人工复核与反馈数据 · 聚焦本章的模块关系、源码依据与实现要点。

项目Argilla 章节6.1 状态全文译文 模块安装与启动、界面与交互、检索、召回与索引、接口与服务契约
源码线索
  • .dockerignore
  • argilla-server/src/argilla_server/api/schemas/v1/suggestions.py
  • argilla/README.md
  • argilla/docs/assets/images/getting_started/dataset_configurator.png
  • argilla/docs/assets/images/how_to_guides/custom_field/3d_object_viewer.png
  • argilla/docs/assets/images/how_to_guides/custom_field/images_in_two_columns.png
  • argilla/docs/assets/images/how_to_guides/custom_field/metadata_table.png
  • argilla/docs/getting_started/faq.md
  • argilla/docs/getting_started/how-to-configure-argilla-on-huggingface.md
  • argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md
模块标签
  • 安装与启动
  • 界面与交互
  • 检索、召回与索引
  • 接口与服务契约
  • 文档对象与元数据

章节正文

Docker 部署

Docker 部署

相关源文件

本章引用的主要源码文件:

  • .dockerignore
  • argilla-server/src/argilla_server/api/schemas/v1/suggestions.py
  • argilla/README.md
  • argilla/docs/assets/images/getting_started/dataset_configurator.png
  • argilla/docs/assets/images/how_to_guides/custom_field/3d_object_viewer.png
  • argilla/docs/assets/images/how_to_guides/custom_field/images_in_two_columns.png
  • argilla/docs/assets/images/how_to_guides/custom_field/metadata_table.png
  • argilla/docs/getting_started/faq.md
  • argilla/docs/getting_started/how-to-configure-argilla-on-huggingface.md
  • argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md
  • argilla/docs/getting_started/quickstart.md
  • argilla/docs/how_to_guides/annotate.md
  • argilla/docs/how_to_guides/custom_fields.md
  • argilla/docs/how_to_guides/distribution.md
  • argilla/docs/how_to_guides/query.md
  • argilla/docs/index.md
  • argilla/docs/reference/argilla/client.md
  • argilla/docs/reference/argilla/search.md
  • argilla/src/argilla/_models/_dataset_progress.py
  • argilla/src/argilla/settings/_question.py

本文档介绍如何使用 Docker 部署 Argilla。这种方式非常适合在本地或服务器上运行 Argilla,并能对配置进行完全控制。通过 Docker 部署,您可以完全掌控服务器、数据库和搜索引擎的设置。如果您只是想快速测试 Argilla,或将其部署在 Hugging Face Spaces 上,请参阅使用 Hugging Face 快速入门

前提条件

在使用 Docker 部署 Argilla 之前,您需要具备以下条件:

  • 系统已安装 Docker
  • 能够运行 docker compose 命令
  • 至少 4GB 可用内存(推荐)

部署架构

下图展示了 Argilla Docker 部署所包含的组件。

Argilla · 部署架构 · 图 1
Argilla · 部署架构 · 图 1

来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:1-40, argilla/docs/getting_started/quickstart.md:60-62

快速部署步骤

请按照以下步骤使用 Docker 部署 Argilla:

  1. 创建一个用于 Argilla 部署的文件夹:
   mkdir argilla && cd argilla
  1. 下载 docker-compose.yaml 文件:
   wget -O docker-compose.yaml https://raw.githubusercontent.com/argilla-io/argilla/main/examples/deployments/docker/docker-compose.yaml

或者使用 curl:

   curl https://raw.githubusercontent.com/argilla-io/argilla/main/examples/deployments/docker/docker-compose.yaml -o docker-compose.yaml
  1. 启动部署:
   docker compose up -d
  1. 在浏览器中访问 http://localhost:6900 即可使用 Argilla。

来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:9-36

Docker 服务

docker-compose.yaml 文件定义了以下服务:

服务描述角色
argilla-server基于 FastAPI 构建的主后端服务器处理 API 请求、管理数据,并与其他服务通信
argilla-frontend基于 Vue.js/Nuxt 构建的用户界面为用户提供与 Argilla 交互的 Web 界面
databasePostgreSQL 数据库存储用户信息、数据集、设置和元数据
search-engineElasticsearch/OpenSearch提供全文搜索、向量搜索和过滤功能
redis-queueRedis 消息队列管理后台任务和作业排队

来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:1-40, argilla/docs/index.md:1-87

Docker 部署的工作流程

以下时序图展示了用户与 Docker 部署的 Argilla 实例进行交互的典型流程:

Argilla · Docker 部署的工作流程 · 图 2
Argilla · Docker 部署的工作流程 · 图 2

来源:argilla/docs/getting_started/quickstart.md:84-145, argilla/docs/reference/argilla/client.md:1-63

连接到 Docker 部署的 Argilla

一旦 Argilla 在 Docker 中运行,您可以使用 Python SDK 连接到它:

import argilla as rg

client = rg.Argilla(
    api_url="http://localhost:6900",
    api_key="your_api_key"  # 具体值取决于您的设置
)

# 验证连接
print(client.me)

关于如何获取 API 密钥以及与 Argilla 部署进行进一步交互的信息,请参阅快速入门指南

来源:argilla/docs/getting_started/quickstart.md:112-148, argilla/docs/reference/argilla/client.md:20-44

Docker 文件和脚本

Argilla 的 Docker 部署使用了以下几个文件和脚本:

Argilla · Docker 文件和脚本 · 图 3
Argilla · Docker 文件和脚本 · 图 3

.dockerignore 文件控制哪些文件会被包含在 Docker 镜像构建中:

# 忽略所有内容
**

# 分发包
!dist/*.whl

# 脚本
!docker/scripts/start_argilla_server.sh
!docker/scripts/wait-for-it.sh
!docker/scripts/start_quickstart_argilla.sh
!docker/scripts/load_data.py

# 包依赖
!docker/quickstart.requirements.txt

来源:.dockerignore:1-15

故障排除

如果在 Argilla Docker 部署中遇到问题,请尝试以下步骤:

  1. 检查 Docker 日志 以识别错误:
   docker compose logs -f
  1. Elasticsearch 问题:大多数部署问题都与 Elasticsearch 相关。常见问题包括:
    • 内存不足(Elasticsearch 需要大量 RAM)
    • 卷挂载的权限问题
    • 网络配置问题
  1. 数据库连接问题:确保 PostgreSQL 容器正常运行:
   docker compose ps
  1. 获取支持:如果需要帮助,请加入 Hugging Face Discord 服务器,并在 Argilla 频道中寻求支持。

来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:34-40

相关页面