> ## 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.

# Прослеживаемость

> Отследите любое предсказание модели до обучающих данных, аннотации и QA-рецензии, которые его создали

Avala связывает каждый кадр, метку, решение рецензента и версию экспорта на одной платформе. Когда модель ошибается на граничном случае, вы можете отследить предсказание до точной обучающей метки, которая на него повлияла — и исправить первопричину вместо гадания.

## Что означает прослеживаемость в Avala

Каждая аннотация в Avala несёт полные метаданные происхождения:

| Сущность                  | Что отслеживается                                                                                      |
| ------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Элемент набора данных** | URL исходного файла, временная метка загрузки, принадлежность к последовательности, метаданные сенсора |
| **Задача**                | Назначенный аннотатор, время создания, время завершения, переходы состояний                            |
| **Результат**             | Данные аннотации, использованный инструмент, ID аннотатора, временная метка отправки                   |
| **QA-рецензия**           | ID рецензента, решение рецензии (принять/отклонить/исправить), комментарии                             |
| **Экспорт**               | Формат экспорта, включённые наборы данных/проекты/срезы, временная метка создания, версия              |

Это означает, что вы можете начать с любой экспортированной метки и пройти назад по всей цепочке: какой аннотатор её создал, прошла ли она QA, из какого элемента набора данных она происходит и когда произошёл каждый шаг.

## Пошаговый пример: отладка ошибки модели

Вот конкретный пример того, как прослеживаемость помогает отлаживать проблему продакшн-модели.

### 1. Модель ошибается на граничном случае

Ваша модель восприятия неправильно классифицирует частично перекрытого пешехода в скане LiDAR. Вы определяете предсказание и хотите понять, почему модель научилась такому поведению.

### 2. Найдите обучающие данные

Используйте SDK для поиска в экспортах элементов набора данных, которые внесли вклад в обучающую выборку модели.

```python theme={null}
from avala import Client

client = Client()

# Get the export used for training
export = client.exports.get("export_abc123")
print(f"Export: {export.name}")
print(f"Format: {export.format}")
print(f"Created: {export.created_at}")
```

### 3. Проверьте отдельные результаты

Каждый результат в экспорте включает исходный элемент набора данных, информацию об аннотаторе и статус QA.

```python theme={null}
# List tasks from the project used in the export
tasks = client.tasks.list(project="project_uid")

for task in tasks:
    print(f"Task {task.uid}")
    print(f"  Status: {task.status}")
    print(f"  Dataset: {task.dataset_name}")
    print(f"  Item: {task.dataset_item_name}")
```

### 4. Проследите до источника

Определив проблемную метку, вы можете найти оригинальный элемент набора данных, чтобы увидеть его исходный файл, метаданные сенсора и полную историю аннотаций.

```python theme={null}
# Get the specific dataset item
item = client.datasets.get_item(
    dataset="dataset_uid",
    item="item_uid"
)

print(f"Source: {item.source_url}")
print(f"Uploaded: {item.created_at}")
print(f"Sequence: {item.sequence_name}")
```

### 5. Исправьте и переобучите

Определив первопричину — например, ошибку аннотации перекрытого пешехода — вы исправляете метку в Avala, создаёте новый экспорт и переобучаете модель на исправленных данных.

```python theme={null}
# Create a new export with the corrected labels
new_export = client.exports.create(
    name="Training v2 - fixed occlusion labels",
    format="avala-json-external",
    projects=["project_uid"]
)

print(f"New export: {new_export.uid}")
```

## Преимущества

### Воспроизводимость

Каждый экспорт версионирован. Вы можете воссоздать точный обучающий набор, использованный для любой версии модели, по UID экспорта. Никаких догадок о том, какие метки были включены или исключены.

### Быстрая отладка

Вместо ручного перебора тысяч аннотаций в поисках ошибки вы прослеживаете путь напрямую от ошибки модели до конкретной метки, которая её вызвала. То, что раньше занимало дни, теперь занимает минуты.

### Соответствие и аудиторские следы

Для регулируемых отраслей (автомобилестроение, медицина, оборона) прослеживаемость обеспечивает документальный след, который требуют аудиторы. Каждое решение по аннотации атрибутировано, датировано и связано с QA-рецензией.

### Непрерывное улучшение

Отслеживайте качество аннотаций во времени, соотнося производительность модели с конкретными аннотаторами, этапами рецензирования и версиями наборов данных. Выявляйте систематические проблемы разметки до того, как они распространятся по вашему пайплайну обучения.

## Прослеживаемость через API

Все данные прослеживаемости доступны через REST API и SDK. Ключевые эндпоинты:

| Эндпоинт                                | Что возвращает                                                                  |
| --------------------------------------- | ------------------------------------------------------------------------------- |
| `GET /api/v1/exports/{uid}/`            | Метаданные экспорта, включая наборы данных, проекты и временную метку создания  |
| `GET /api/v1/tasks/`                    | Список задач со статусом, аннотатором и ссылками на элементы набора данных      |
| `GET /api/v1/datasets/{uid}/items/`     | Элементы набора данных с URL источников и принадлежностью к последовательностям |
| `GET /api/v1/datasets/{uid}/sequences/` | Последовательности с количеством кадров и ссылками на элементы                  |

Полную документацию по эндпоинтам см. в [Справочнике API](/docs/api-reference/overview), или используйте [Python SDK](/docs/ru/sdks/python) и [TypeScript SDK](/docs/ru/sdks/typescript) для типизированного доступа.

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

<CardGroup cols={2}>
  <Card title="" icon="shield-check" href="/docs/annotation/guides/quality-control">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>Контроль качества</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>Узнайте, как многоэтапные QA-процессы Avala отлавливают ошибки аннотации до того, как они попадут в вашу модель.</p>
  </Card>

  <Card title="" icon="file-export" href="/docs/api-reference/exports">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>Экспорты</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>Создавайте версионированные экспорты аннотированных данных с полными метаданными происхождения.</p>
  </Card>

  <Card title="" icon="chart-bar" href="/docs/ru/quality-sla">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>Качество и SLA</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>Узнайте о гарантиях качества, целях точности и сроках выполнения Avala.</p>
  </Card>

  <Card title="" icon="python" href="/docs/ru/sdks/python">
    <p style={{fontWeight: 600, fontSize: '18px', marginBottom: '4px', marginTop: '8px', color: 'inherit'}}>Python SDK</p>
    <p style={{fontSize: '14px', marginTop: '0px', opacity: 0.6}}>Установите SDK и начните программно запрашивать данные.</p>
  </Card>
</CardGroup>
