Обогащение
NOTE
Статус: Target service boundary. Документ описывает целевую сервисную границу. Код либо полностью отсутствует, либо существует только как scaffold — смотрите секцию «Статус документа» ниже для точного указания на код. Правила маркировки — в
50-processes/documentation-standard.md.
Этот README описывает целевую сервисную границу enrichment. Читайте его, когда нужно понять, как AI и правила дополняют каталожные данные и подтверждают слабые решения матчинга.
Назначение
AI-обогащение canonical products и support-потоки для вероятностного матчинга: извлечение характеристик, классификация, confidence scoring и human-in-the-loop.
Статус документа
- Тип знания:
target service boundary - Статус реализации: отдельный runtime и выделенный код сервиса пока отсутствуют
- Текущее место кода: в репозитории нет реализации enrichment; существует только минимальный backend-scaffold
backend/cmd/api-serverиbackend/internal/httpserver - Что читать дальше:
../../10-business/contexts/enrichment.md,../matching/README.md,../../20-architecture/principles.md
Область действия
Входит:
- LLM-клиент и управление prompt/versioning.
- Кэш результатов и learned cache.
- Confidence scoring и маршрутизация в human-in-the-loop.
- Поддержка enrichment job для search, matching и catalog flows.
Не входит:
- Прямая запись в canonical data-модели без доменных событий.
- Управление внешним клиентским API.
Публичный контракт
Вход
- Запросы от search, matching, meta-search и catalog-related процессов на enrichment/verification.
- Асинхронные enrichment jobs и события модерации.
Выход
- Обогащённые данные, confidence scores и решения для downstream сервисов.
- События или job-status updates в целевом runtime.
Внутренняя архитектура
В целевом состоянии это отдельный доменный модуль с AI adapters, prompt library, policy-слоем и кэшем. Реализация должна изолировать модель-провайдера от прикладной логики и оставлять явный audit trail источников.
Зависимости
- AI provider или on-prem model runtime.
- PostgreSQL/объектное хранилище для job-state и артефактов.
- Kafka для асинхронных событий и job-flow.
Хранилище
- Конкретные таблицы и хранилища пока не зафиксированы.
- По мере реализации они должны быть описаны в
20-architecture/schemas/.
Конфигурация
Точный набор env-переменных пока не зафиксирован. Минимально ожидаются:
| Env var | Default | Описание |
|---|---|---|
ENRICHMENT_PROVIDER | — | выбранный LLM/provider |
ENRICHMENT_TIMEOUT | 30s | таймаут одного запроса |
ENRICHMENT_LOG_LEVEL | info | уровень логирования |
Локальный запуск
Выделенного процесса enrichment в текущем репозитории нет. Локально доступен только общий scaffold проекта, без AI-пайплайна.
Тестирование
- Для целевой реализации обязательны unit-тесты нормализации prompt/result mapping.
- Нужны integration-тесты adapter-слоя и offline-eval harness на зафиксированном датасете.
- При интеграции с внешними провайдерами нужны contract tests на моковых ответах.
Наблюдаемость
В целевом состоянии нужны метрики latency, success/error rate, cache hit rate и распределения confidence score. Сейчас выделенной observability-поверхности для enrichment нет.
Открытые вопросы / TODO
- Выбрать LLM-провайдера: on-prem или cloud.
- Собрать eval-harness и датасет.
- Определить границу между enrichment и moderation.