跳到内容

服务器配置

本节介绍运行 Argilla 服务器和 Argilla Python 客户端的高级操作和设置。

默认情况下,Argilla 服务器将在 http://localhost:9200 查找您的 Elasticsearch (ES) 端点。您可以通过设置 ARGILLA_ELASTICSEARCH 环境变量来自定义此设置。查看可用的环境变量列表以进一步配置 Argilla 服务器。

从 Argilla 版本 1.19.0 开始,您必须手动设置搜索引擎才能使用数据集。您应该根据您使用的后端设置环境变量 ARGILLA_SEARCH_ENGINE=opensearchARGILLA_SEARCH_ENGINE=elasticsearch。此变量的默认值设置为 elasticsearch。Elasticsearch 的最低版本为 8.5.0,Opensearch 的最低版本为 2.4.0。请检查您的后端并在必要时升级。

警告

对于 OpenSearch 中的向量搜索,应用的过滤使用 post_filter 步骤,因为存在一个错误,该错误导致使用 Argilla 的过滤 + knn 查询失败。请参阅 https://github.com/opensearch-project/k-NN/issues/1286

当将过滤与此引擎的向量搜索结合使用时,这可能会导致意外结果。

启动

使用代理

如果您通过添加一些额外的服务前缀在代理后面运行 Argilla,则应设置 ARGILLA_BASE_URL 环境变量以将请求正确路由到服务器应用程序。

例如,如果您的代理在 URL https://my-proxy/custom-path-for-argilla 中公开 Argilla,则应使用 ARGILLA_BASE_URL=/custom-path-for-argilla 启动 Argilla 服务器。

NGINX 和 Traefik 已经过测试,已知可以与 Argilla 一起使用

环境变量

您可以设置以下环境变量以进一步配置您的服务器和客户端。

服务器

FastAPI

  • ARGILLA_HOME_PATH:Argilla 将存储运行所需的所有文件的目录。如果该路径不存在,则将自动创建(默认值:~/.argilla)。

  • ARGILLA_BASE_URL:如果您想在除 / 之外的特定基本路径中启动 Argilla 服务器,则应设置此环境变量。当在代理后面运行 Argilla 时,这可能很有用,代理会添加前缀路径以路由服务(默认值:“/”)。

  • ARGILLA_CORS_ORIGINS:CORS 来源访问的主机模式列表。

  • ARGILLA_DOCS_ENABLED:如果为 False,则禁用 /api/docs 处的 openapi 文档端点。

  • ARGILLA_ENABLE_SHARE_YOUR_PROGRESS:如果为 True,则启用分享您的进度功能。此功能允许用户与社区分享他们的进度。如果为 False,则该功能将被禁用。

  • HF_HUB_DISABLE_TELEMETRY:如果为 True,则禁用使用情况指标的遥测。或者,您可以通过设置 HF_HUB_OFFLINE=1 来禁用遥测。

身份验证

  • USERNAME:如果提供,则为所有者用户名(默认值:None)。
  • PASSWORD:如果提供,则为所有者密码(默认值:None)。
  • ARGILLA_AUTH_SECRET_KEY:用于签署 API 令牌数据的密钥。您可以使用 openssl rand -hex 32 生成一个 32 个字符的字符串,用于此环境变量。默认情况下会生成一个随机值,因此如果您使用多个服务器工作进程(或多个 Argilla 服务器),则需要为所有服务器设置相同的值。
  • ARGILLA_AUTH_OAUTH_CFG:OAuth2 配置文件路径(默认值:$PWD/.oauth.yml)。

如果提供了 USERNAMEPASSWORD,则将在服务器启动时使用这些凭据创建所有者用户。

数据库

  • ARGILLA_DATABASE_URL:一个 URL 字符串,其中包含连接到数据库的必要信息。Argilla 默认使用 SQLite,也正式支持 PostgreSQL(默认值:sqlite:///$ARGILLA_HOME_PATH/argilla.db?check_same_thread=False)。
SQLite

以下环境变量仅在使用 SQLite 时有用

  • ARGILLA_DATABASE_SQLITE_TIMEOUT:当表被锁定时,连接应等待多少秒才引发 OperationalError。如果另一个连接打开事务以修改表,则该表将被锁定,直到事务提交。(默认值:15 秒)。
PostgreSQL

以下环境变量仅在使用 PostgreSQL 时有用

  • ARGILLA_DATABASE_POSTGRESQL_POOL_SIZE:在数据库连接池中保持打开的连接数(默认值:15)。

  • ARGILLA_DATABASE_POSTGRESQL_MAX_OVERFLOW:可以超出 ARGILLA_DATABASE_POSTGRESQL_POOL_SIZE 设置打开的连接数(默认值:10)。

搜索引擎

  • ARGILLA_ELASTICSEARCH:Elasticsearch 实例的连接端点的 URL(默认值:http://localhost:9200)。

  • ARGILLA_SEARCH_ENGINE:要使用的搜索引擎。有效值为 "elasticsearch" 和 "opensearch"(默认值:"elasticsearch")。

  • ARGILLA_ELASTICSEARCH_SSL_VERIFY:如果为 "False",则在连接到 Elasticsearch 后端时禁用 SSL 证书验证。

  • ARGILLA_ELASTICSEARCH_CA_PATH:ES 主机的 CA 证书路径。例如:/full/path/to/root-ca.pem(可选)

  • ARGILLA_ES_RECORDS_INDEX_SHARDS:每个搜索索引的 elasticsearch/opensearch 分片的默认数量。(默认值:1)。

  • ARGILLA_ES_RECORDS_INDEX_REPLICAS:每个搜索索引的 elasticsearch/opensearch 副本的默认数量。(默认值:0)。

Redis

Argilla 使用 Redis 存储有关要在后台处理的作业的信息。以下环境变量可用于配置 Argilla 如何连接到 Redis

  • ARGILLA_REDIS_URL:一个 URL 字符串,其中包含连接到 Redis 实例的必要信息(默认值:redis://localhost:6379/0)。
  • ARGILLA_REDIS_USE_CLUSTER:如果为 "True",则尝试使用 URL 连接到 Redis 集群而不是 Redis 独立实例。

数据集

  • ARGILLA_LABEL_SELECTION_OPTIONS_MAX_ITEMS:设置标签和多标签问题允许的最大项目数(默认值:500)。

  • ARGILLA_SPAN_OPTIONS_MAX_ITEMS:设置 span 问题允许的最大项目数(默认值:500)。

  • ARGILLA_MIN_MESSAGE_LENGTH:设置聊天问题中允许的消息的最小长度(默认值:1)。

  • ARGILLA_MAX_MESSAGE_LENGTH:设置聊天问题中允许的消息的最大长度(默认值:20000)。

  • ARGILLA_MIN_ROLE_LENGTH:设置聊天问题中允许的角色名称的最小长度(默认值:1)。

  • ARGILLA_MAX_ROLE_LENGTH:设置聊天问题中允许的角色名称的最大长度(默认值:20)。

Hugging Face

  • ARGILLA_SHOW_HUGGINGFACE_SPACE_PERSISTENT_STORAGE_WARNING:当 Argilla 在 Hugging Face Spaces 上运行时,您可以使用此环境变量禁用在空间的持久存储被禁用时显示的警告消息(默认值:true)。

仅限 Docker 镜像

  • REINDEX_DATASETS:如果为 true1,则将在搜索引擎中重新索引数据集。当某些搜索配置更改或数据必须刷新时,这是必需的(默认值:0)。

  • USERNAME:如果提供,则为所有者用户名。这可以与 HF OAuth 结合使用以定义 argilla 服务器所有者(默认值:"")。

  • PASSWORD:如果提供,则为所有者密码。如果提供了 USERNAMEPASSWORD,则将在服务器启动时使用这些凭据创建所有者用户(默认值:"")。

  • WORKSPACE:如果提供,则为工作区名称。如果提供了 USERNAMEPASSWORDWORSPACE,则将使用此名称创建一个默认工作区(默认值:"")。

  • API_KEY:要使用的默认用户 API 密钥。如果未提供 API_KEY,则将生成一个新的随机 API 密钥(默认值:"")。

  • UVICORN_APP:[高级] 要运行的 FastAPI 应用程序的名称。当您想要使用其他路由或中间件扩展 FastAPI 应用程序时,这很有用。默认值为 argilla_server:app

REST API 文档

FastAPI 还提供了漂亮的 REST API 文档,您可以在 http://localhost:6900/api/v1/docs 中查看。