Embeddings в production
Как обслуживать embeddings и rerankers как платформенный слой с качеством, задержкой и жизненным циклом.
Проблема
Embeddings и rerankers часто остаются в тени LLM. Но именно они задают качество retrieval, поведение классификации, задержку и стоимость многих ИИ-сценариев.
Симптомы
- RAG "плохо отвечает", но никто не измеряет качество retrieval.
- Embedding-модель меняется без плана переиндексации.
- Классификационная модель живёт отдельно от жизненного цикла моделей.
- Reranker добавлен, но бюджет задержки не пересчитан.
Ментальная модель
Embedding-модель - это не утилита. Это часть жизненного цикла моделей: версия, датасет, контроль качества, совместимость индекса, откат и профиль стоимости.
Архитектура
Слой включает embedding API, batching, совместимость индекса, процесс переиндексации, запуск reranker, алиасы моделей, проверочный датасет, бюджет задержки и поля трейса для шага retrieval.
Метрики
Отслеживай recall@k, precision@k, lift от reranker, свежесть индекса, задержку embedding, задержку reranker, размер batch, стоимость запроса, версию модели и длительность переиндексации.
Компромиссы
Более сильная embedding-модель может потребовать переиндексации. Reranker улучшает качество, но добавляет задержку и стоимость. Маленькая модель быстрее, но может ломать long-tail retrieval.
Semantic routing как следующий слой оптимизации
Semantic Router может снижать стоимость, если часть запросов уверенно уходит в более дешёвую модель или кешированный путь. Но это не бесплатная оптимизация: у router есть latency overhead, ошибки классификации и риск сломать agent flow. Его нужно оценивать как отдельную модель: route accuracy, added latency, fallback rate и стоимость принятого результата.
Анти-паттерны
- Менять embedding-модель без стратегии переиндексации.
- Оценивать только финальный ответ LLM, а не шаг retrieval.
- Не логировать retrieved document IDs.
- Считать запуск classifier "не платформой".
Чеклист
- ✓Embedding-модель имеет алиас и версию.
- ✓Есть план переиндексации и путь отката.
- ✓Качество retrieval измеряется отдельно от ответа LLM.
- ✓Задержка reranker входит в сценарный SLO.
- ✓Трейс показывает запрос, версию модели, retrieved IDs и оценку reranker.
Пример
Если RAG-сценарий деградировал после смены embedding-модели, проверь не только промпт. Нужны recall@k, версия индекса, полнота переиндексации, распределение оценки reranker и трейс по неудачным запросам.
Шаблон решения
Для embedding-маршрута зафиксируй: алиас модели, совместимость индекса, план переиндексации, eval-датасет, SLO по задержке, путь отката, поля трейса и владельца.