服务器配置#
本节介绍运行 Argilla 服务器和 Argilla Python 客户端的高级操作和设置。
默认情况下,Argilla 服务器将在 https://#:9200
查找您的 Elasticsearch (ES) 端点。您可以通过设置 ARGILLA_ELASTICSEARCH
环境变量来自定义此设置。请查看可用的 环境变量 列表,以进一步配置 Argilla 服务器。
从 Argilla 版本 1.19.0
开始,您必须手动设置搜索引擎才能使用反馈数据集。您应该根据您使用的后端设置环境变量 ARGILLA_SEARCH_ENGINE=opensearch
或 ARGILLA_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 一起使用
使用 uvicorn
#
由于 Argilla 服务器构建在 FastAPI 之上,因此您可以使用 uvicorn
启动它
uvicorn argilla_server:app --port 6900
环境变量#
您可以设置以下环境变量来进一步配置您的服务器和客户端。
服务器#
FastAPI#
ARGILLA_HOME_PATH
: Argilla 将在其中存储运行所需的所有文件的目录。如果该路径不存在,则将自动创建 (默认值:~/.argilla
)。ARGILLA_BASE_URL
: 如果您想在除 / 之外的特定基本路径中启动 Argilla 服务器,则应设置此环境变量。当在代理后面运行 Argilla 时,这可能很有用,该代理会添加前缀路径以路由服务 (默认值: “/”)。ARGILLA_CORS_ORIGINS
: CORS 来源访问的主机模式列表。ARGILLA_DOCS_ENABLED
: 如果为 False,则禁用 /api/docs 的 openapi 文档端点。ARGILLA_ENABLE_TELEMETRY
: 如果为 False,则禁用使用指标的遥测。
SQLite 和 PostgreSQL#
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
)。
Elasticsearch 和 Opensearch#
ARGILLA_ELASTICSEARCH
: Elasticsearch 实例的连接端点的 URL (默认值:https://#: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_NAMESPACE
: 用于管理 Elasticsearch 索引的前缀。您可以使用此命名空间为多个独立的 Argilla 实例使用相同的 Elasticsearch 实例。ARGILLA_DEFAULT_ES_SEARCH_ANALYZER
: 文本字段的默认分析器,元数据除外 (默认值: “standard”)。ARGILLA_EXACT_ES_SEARCH_ANALYZER
: 文本信息中*.exact
字段的默认分析器 (默认值: “whitespace”)。ARGILLA_METADATA_FIELDS_LIMIT
: 元数据中字段的最大数量 (默认值: 50,最大值: 100)。ARGILLA_METADATA_FIELD_LENGTH
: 字符串元数据字段支持的最大长度。更高的值将被截断。滥用此功能可能会导致 Elastic 性能问题 (默认值: 128)。
反馈数据集#
ARGILLA_LABEL_SELECTION_OPTIONS_MAX_ITEMS
: 设置标签和多标签问题允许的最大项目数 (默认值:500
)。ARGILLA_SPAN_OPTIONS_MAX_ITEMS
: 设置跨度问题允许的最大项目数 (默认值:500
)。
Hugging Face#
ARGILLA_SHOW_HUGGINGFACE_SPACE_PERSISTENT_STORAGE_WARNING
: 当 Argilla 在 Hugging Face Spaces 上运行时,您可以使用此环境变量禁用在空间的持久存储被禁用时显示的警告消息 (默认值:true
)。
客户端#
ARGILLA_API_URL
: 调用argilla.init()
时的默认 API URL。ARGILLA_API_KEY
: 调用argilla.init()
时的默认 API 密钥。ARGILLA_WORKSPACE
: 调用argilla.init()
时的默认工作区。
REST API 文档#
FastAPI 还提供了漂亮的 REST API 文档,您可以在 https://#:6900/api/docs 查看。