> ## Documentation Index
> Fetch the complete documentation index at: https://avala.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Архитектура

> Как устроена платформа Avala

На этой странице представлен обзор организации платформы Avala и взаимодействия её компонентов.

<img src="https://mintcdn.com/avala/QI4wcFsXqwG8KGbR/images/reference/architecture-system-overview-light.svg?fit=max&auto=format&n=QI4wcFsXqwG8KGbR&q=85&s=2e7d5ce34b4db810adebeec241a97e6a" alt="Системная архитектура Avala" className="block dark:hidden w-full" width="480" height="100" data-path="images/reference/architecture-system-overview-light.svg" />

<img src="https://mintcdn.com/avala/QI4wcFsXqwG8KGbR/images/reference/architecture-system-overview.svg?fit=max&auto=format&n=QI4wcFsXqwG8KGbR&q=85&s=92d58f56f725d7b1a535b1d95323fe10" alt="Системная архитектура Avala" className="hidden dark:block w-full" width="480" height="100" data-path="images/reference/architecture-system-overview.svg" />

## Обзор системы

<Steps>
  <Step title="Mission Control" icon="browser">
    Веб-интерфейс на [avala.ai](https://avala.ai) — Визуализация, Аннотация, Управление проектами, Контроль качества, Управление наборами данных
  </Step>

  <Step title="Движок визуализации" icon="display">
    GPU-ускоренный рендеринг — Мультисенсорный просмотрщик, 3D-просмотрщик облаков точек, Просмотрщик Gaussian Splat, Пайплайн рендеринга WebGPU/WebGL
  </Step>

  <Step title="REST API" icon="server">
    `api.avala.ai/api/v1` — Наборы данных, Проекты, Задачи, Экспорты, Организации. Доступ через HTTP/cURL, Python SDK, TypeScript SDK или CLI.
  </Step>

  <Step title="Бэкенд-сервисы" icon="gears">
    Асинхронная обработка — Разбор MCAP, Конвертация видео, Генерация экспортов, Обработка задач, Пайплайн инференса
  </Step>

  <Step title="Хранилище" icon="database">
    Постоянные данные — Файлы наборов данных, Аннотации, Экспорты, Артефакты моделей
  </Step>
</Steps>

## Компоненты

### Mission Control

Mission Control — это веб-приложение Avala на [avala.ai](https://avala.ai). Оно предоставляет:

* **Визуализация данных** — GPU-ускоренные просмотрщики для исследования сенсорных данных до, во время и после аннотации. Мультисенсорное воспроизведение, рендеринг 3D-облаков точек и навигация по сценам Gaussian Splat — всё в браузере.
* **Редактор аннотаций** — Специализированные инструменты для разметки изображений, видео, облаков точек и мультисенсорных данных с поддержкой ограничивающих рамок, полигонов, кубоидов, сегментации, полилиний и ключевых точек.
* **Управление проектами** — Создание и настройка проектов аннотации, определение таксономий меток, назначение работы участникам команды и мониторинг прогресса.
* **Контроль качества** — Рецензирование отправленных аннотаций, отметка проблем, отслеживание коэффициентов принятия и запуск рабочих процессов консенсуса.
* **Управление наборами данных** — Загрузка данных, организация элементов в последовательности, просмотр и поиск наборов данных, управление правами доступа.

### Движок визуализации

Движок визуализации работает в браузере и обеспечивает GPU-ускоренный рендеринг сенсорных данных:

* **Мультисенсорный просмотрщик** — Синхронное воспроизведение записей MCAP и ROS с восемью типами панелей: Изображение, 3D / Облако точек, График, Сырые сообщения, Лог, Карта, Датчик и Переходы состояний. Автоматическое определение топиков и интеллектуальная компоновка макетов на основе ваших данных.
* **3D-просмотрщик облаков точек** — Рендеринг данных LiDAR с шестью режимами визуализации (Нейтральный, Интенсивность, Радуга, Метка, Паноптический, Проекция изображения). Виды сверху, в перспективе и сбоку. Вычислительные шейдеры WebGPU обеспечивают отсечение по пирамиде видимости и рендеринг с уровнем детализации для высокой частоты кадров на плотных сканах.
* **Просмотрщик Gaussian Splat** — WebGPU-ускоренный рендеринг 3D-реконструкций сцен Gaussian Splat. GPU-сортировка, пул буферов и прекомпиляция пайплайнов обеспечивают навигацию в реальном времени по фотореалистичным окружениям.
* **Пайплайн рендеринга** — WebGPU предпочтителен с автоматическим фоллбэком на WebGL для более широкой поддержки браузеров. Флаги функций контролируют вычислительные шейдеры, бандлы рендеринга и компиляцию шейдеров WGSL.
* **Многооконный макет** — Настраиваемое расположение панелей с drag-and-drop. Древовидная система макетов с автоматической балансировкой позволяет настраивать организацию панелей или доверить компоновщику макетов построение оптимального расположения на основе ваших данных.

<Tip>
  Движок визуализации не требует плагинов или загрузок. Он работает нативно в Chrome 113+, Edge 113+ и других браузерах с поддержкой WebGPU, с фоллбэком на WebGL для старых браузеров.
</Tip>

### REST API

REST API по адресу `api.avala.ai/api/v1` предоставляет программный доступ ко всем возможностям платформы. Все запросы аутентифицируются с помощью API-ключа, передаваемого в заголовке `X-Avala-Api-Key`.

Основные ресурсы:

| Ресурс            | Описание                                                                       |
| ----------------- | ------------------------------------------------------------------------------ |
| **Datasets**      | Создание, список и управление наборами данных и их элементами                  |
| **Projects**      | Настройка рабочих процессов аннотации, таксономий меток и параметров задач     |
| **Tasks**         | Назначение, отслеживание и управление отдельными единицами работы по аннотации |
| **Exports**       | Генерация и загрузка аннотированных данных в различных форматах                |
| **Organizations** | Управление командами, участниками, ролями и разрешениями                       |

API следует REST-соглашениям с телами запросов и ответов в формате JSON, курсорной пагинацией и стандартными HTTP-кодами состояния.

### SDK

Вы можете вызывать REST API напрямую из любого языка с помощью стандартных HTTP-клиентов (см. [REST API](/docs/sdks/rest-api)) или использовать официальные SDK:

* **Python SDK** (`pip install avala`) — Синхронный и асинхронный клиенты, модели Pydantic, автоматическая пагинация, типизированные исключения, CLI-инструмент.
* **TypeScript SDK** (`npm install @avala-ai/sdk`) — Полностью типизированный клиент с Promise-based API для Node.js и edge-рантаймов.
* **CLI** (`curl -fsSL https://avala.ai/install.sh | bash`) — Управление наборами данных, проектами, экспортами и хранилищем из терминала.

Подробности см. в [обзоре SDK](/docs/ru/sdks/overview).

### Бэкенд-сервисы

Бэкенд-сервисы обеспечивают асинхронную обработку, которая питает платформу:

* **Разбор MCAP** — Извлечение и синхронизация сенсорных потоков из записей MCAP, определение типов сообщений и построение индексов кадров для мультисенсорного просмотрщика.
* **Конвертация видео** — Разделение загруженных видеофайлов на последовательности кадров для визуализации и аннотации.
* **Генерация экспортов** — Создание загружаемых экспортов в форматах JSON, COCO, KITTI и других.
* **Обработка задач** — Генерация и распределение задач аннотации на основе конфигурации проекта.
* **Пайплайн инференса** — Запуск инференса моделей для AI-ассистированной аннотации и предварительной разметки.

### Хранилище

Хранилище управляет всеми постоянными данными:

* **Файлы наборов данных** — Необработанные изображения, видеокадры, облака точек и записи MCAP.
* **Аннотации** — Размеченные данные, созданные аннотаторами (ограничивающие рамки, полигоны, кубоиды, маски).
* **Экспорты** — Сгенерированные файлы экспортов, доступные для загрузки.
* **Артефакты моделей** — Веса и конфигурации моделей инференса, используемых в AI-ассистированной разметке.

### MCP-сервер

MCP-сервер (Model Context Protocol) предоставляет инструменты Avala AI-ассистентам, таким как Claude, Cursor и VS Code Copilot. Он позволяет взаимодействовать с наборами данных, проектами и экспортами на естественном языке, не покидая среду разработки.

<Info>
  Пакет `@avala-ai/mcp-server` доступен в npm. Установите с помощью `npm install -g @avala-ai/mcp-server` или используйте `npx`. Инструкции по установке см. в [руководстве по настройке MCP](/docs/integrations/mcp-setup).
</Info>

## Как компоненты взаимодействуют

1. **Пользователи** работают с Avala через Mission Control (веб-интерфейс) или программно через REST API и SDK.
2. **Mission Control** загружает данные через REST API и рендерит их с помощью движка визуализации прямо в браузере — серверный рендеринг не требуется.
3. **Все клиентские интерфейсы** общаются с одним и тем же REST API, поэтому действия в Mission Control немедленно видны через API и наоборот.
4. **REST API** валидирует запросы, управляет ресурсами и передаёт работу бэкенд-сервисам для асинхронной обработки.
5. **Бэкенд-сервисы** обрабатывают задачи (разбор MCAP, конвертация видео, генерация экспортов) и записывают результаты обратно в хранилище.

## Следующие шаги

<CardGroup cols={2}>
  <Card title="Справочник API" icon="square-terminal" href="/docs/api-reference/overview">
    Базовый URL, аутентификация, эндпоинты и формат ответа.
  </Card>

  <Card title="Avala с AI" icon="sparkles" href="/docs/ru/getting-started/mcp">
    Подключите Avala к Claude, Cursor и VS Code через MCP.
  </Card>

  <Card title="Типы данных" icon="database" href="/docs/ru/getting-started/data-types">
    Возможности визуализации и инструменты аннотации для каждого типа данных.
  </Card>

  <Card title="Основные концепции" icon="lightbulb" href="/docs/ru/getting-started/concepts">
    Просмотрщики, панели, макеты, таймлайны и другие концепции платформы.
  </Card>
</CardGroup>
