核心组件
核心组件
相关源文件
本章引用的主要源码文件:
README.mdargilla-frontend/CHANGELOG.mdargilla-frontend/components/features/annotation/container/questions/form/span/EntityLabelSelection.component.vueargilla-frontend/components/features/annotation/settings/Validation.vueargilla-frontend/components/features/dataset-creation/configuration/DatasetConfigurationForm.vueargilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationFieldSelector.vueargilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationLabels.vueargilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationQuestion.vueargilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationRating.vueargilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationSpan.vueargilla-frontend/package.jsonargilla-frontend/translation/de.jsargilla-frontend/translation/en.jsargilla-frontend/translation/es.jsargilla-frontend/v1/domain/entities/hub/DatasetCreation.test.tsargilla-frontend/v1/domain/entities/hub/QuestionCreation.tsargilla-frontend/v1/domain/entities/hub/Subset.tsargilla-server/CHANGELOG.mdargilla-server/src/argilla_server/_version.pyargilla-v1/src/argilla_v1/_version.pyargilla/CHANGELOG.mdargilla/src/argilla/__init__.pyargilla/src/argilla/_version.py
本文档概述了构成 Argilla 平台的核心组件。它涵盖了主要的架构元素:Python SDK、服务器和前端组件,以及它们在系统中的角色和交互。
有关部署和配置选项的信息,请参阅部署与配置。
架构总览
Argilla 采用客户端-服务器架构,客户端组件、服务器端组件和前端 UI 之间有清晰的分离。
高层架构图
来源: README.md:35-50 argilla-server/CHANGELOG.md:124-127
Argilla SDK (Python)
Argilla SDK 是一个 Python 客户端库,提供了与 Argilla 服务器交互的编程接口。它使用户能够以编程方式创建和管理数据集、记录日志以及处理标注。
SDK 结构
SDK 提供了多个模块,用于处理 Argilla 的不同方面:
argilla/
├── client.py # 主客户端接口
├── datasets.py # 数据集管理
├── records.py # 记录操作
├── responses.py # 响应处理
├── settings.py # 配置设置
├── suggestions.py # 建议操作
├── users.py # 用户管理
├── vectors.py # 向量操作
├── webhooks.py # Webhook 管理
└── workspaces.py # 工作空间管理
来源: README.md:96-107 argilla/src/argilla/__init__.py:14-24 argilla/CHANGELOG.md:57-58
数据集创建工作流
来源: README.md:112-137 README.md:143-151
Argilla 服务器
Argilla 服务器是使用 FastAPI 构建的后端组件。它提供了用于数据集管理、记录操作和标注处理的 REST API 端点。服务器与多个支持服务交互:
服务器架构
来源: argilla-server/CHANGELOG.md:124-127 argilla-server/CHANGELOG.md:449-450 argilla-server/CHANGELOG.md:57-62
API 端点
服务器处理各种操作,包括:
- 用户认证和令牌管理
- 数据集的创建、更新和删除
- 记录的入库、更新和查询
- 响应的收集和管理
- 向量存储和相似性搜索
- 用于外部系统的 Webhook 集成
来源: argilla-server/CHANGELOG.md:204-216 argilla-server/CHANGELOG.md:428-432 argilla-server/CHANGELOG.md:57-62
Argilla 前端
Argilla 前端是一个基于 Vue.js 和 Nuxt 构建的 Web UI。它提供了用于数据集管理、标注和协作的用户界面。
前端架构
来源: argilla-frontend/package.json:23-47 argilla-frontend/CHANGELOG.md:71-107
标注组件
前端支持多种字段和问题类型用于标注:
来源: argilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationQuestion.vue:1-126 argilla-frontend/v1/domain/entities/hub/QuestionCreation.ts:19-26 argilla-frontend/CHANGELOG.md:102-107
前端包含用于创建和管理数据集的配置组件:
| 组件 | 用途 |
|---|---|
DatasetConfigurationForm | 数据集创建和配置的主表单 |
DatasetConfigurationQuestion | 问题配置表单(标签、评分等) |
DatasetConfigurationLabels | 基于标签的问题配置 |
DatasetConfigurationRating | 评分问题的配置 |
DatasetConfigurationSpan | 基于跨度标注的配置 |
来源: argilla-frontend/components/features/dataset-creation/configuration/DatasetConfigurationForm.vue:1-274 argilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationQuestion.vue:1-126 argilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationLabels.vue:1-115 argilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationRating.vue:1-100 argilla-frontend/components/features/dataset-creation/configuration/questions/DatasetConfigurationSpan.vue:1-141
数据模型
Argilla 中的核心数据模型围绕数据集、记录、响应和设置展开:
核心数据模型图
来源: argilla-frontend/v1/domain/entities/hub/Subset.ts:1-12 argilla-frontend/v1/domain/entities/hub/QuestionCreation.ts:8-17 argilla/CHANGELOG.md:75-76 argilla/CHANGELOG.md:157-159
组件交互
以下时序图说明了在典型标注工作流中组件如何交互:
标注工作流
来源: argilla-server/CHANGELOG.md:229-230 argilla-server/CHANGELOG.md:248-249 argilla-server/CHANGELOG.md:395-398 argilla/CHANGELOG.md:369-370
Webhook 集成
为了与外部系统集成,Argilla 提供了 Webhook 支持:
来源: argilla-server/CHANGELOG.md:57-60 argilla/CHANGELOG.md:367-369
本页提供了 Argilla 核心组件的概述。有关特定组件的更多详细信息,请参阅以下维基页面:
- 有关 SDK 的详细信息,请参阅 Argilla SDK
- 有关服务器的详细信息,请参阅 Argilla 服务器
- 有关前端的详细信息,请参阅 Argilla 前端
- 有关数据模型的详细信息,请参阅 数据模型