Grounding LLM через API каталога: как отсеять галлюцинации за 5 секунд

Представьте: пользователь помнит только, что фильм снял Нолан в 2000-м, или что это картина про лиминальные пространства. Он вводит запрос, нейросеть выдает три варианта — и два из них не существуют. Пользователь видит «фильм, которого нет», теряет доверие и уходит.

Источник: Habr

Разработчик киносервиса Никита столкнулся с этой проблемой и нашел практическое решение: LLM генерирует гипотезы, а внешний API каталога (TMDB) проверяет, существует ли фильм на самом деле. Модель на этом этапе уже не участвует.

Что это значит для владельца продукта: вы получаете точные, проверенные результаты в реальном времени, а не «полет фантазии» нейросети. Пользователь видит карточки с реальными постерами и ссылками, а не выдуманные названия.

Что проверить до внедрения: есть ли у вас доступ к API каталога (TMDB или аналог), готовы ли вы платить за запросы к LLM через OpenRouter, и какой уровень задержки приемлем для вашего сценария.

Как устроен пайплайн: от запроса до проверенного результата

Весь процесс занимает 5–7 секунд end-to-end для текстового поиска, до 10 секунд с голосовым вводом и 10–15 секунд для распознавания скриншотов. Никакого ночного пересчета индекса или ответа за минуты.

Этапы работы:

  1. Неструктурированный ввод — пользователь присылает текст, голосовое сообщение или скриншот из соцсетей.
  2. Предобработка — распознавание речи (Groq Whisper large-v3) или подготовка картинки.
  3. Генерация гипотез — LLM (Ling 2.6 Flash для поиска, Gemini 2.5 Flash Lite / GPT-4o-mini для vision-запросов) разбирает смысл и выдает структурированный черновик.
  4. Grounding через API — каждый кандидат проверяется в API киносервисов (TMDB). То, что не нашлось, отбрасывается. Оставшееся ранжируется.
  5. Вывод результата — пользователь видит карточки с реальными постерами и ссылками.

Ключевой принцип: LLM предлагает, каталог решает. Модель может ошибиться в формулировке, но каталог такую ошибку не пропустит.

Почему grounding через API меняет стоимость и качество

Без проверки через внешний API вы получаете три проблемы:

Проблема Последствие Решение через grounding
Галлюцинации LLM Несуществующие фильмы в выдаче API каталога отсеивает вымышленные названия
Неточные формулировки Пользователь не находит нужный фильм Поиск по реальному каталогу с ранжированием
Доверие к сервису Пользователь уходит к конкурентам Точные карточки с постерами и ссылками

Что это значит для вашего кошелька: вы платите за LLM только за генерацию гипотез, а не за финальный ответ. API каталога (TMDB) значительно дешевле, чем попытки заставить модель «вспомнить» точное название.

Что это значит для времени: 5–7 секунд — это быстрее, чем пользователь успевает заскучать. Для сравнения: традиционный поиск по индексу с ночным пересчетом занимает часы.

Какие модели и провайдеры используются

В сервисе применяется несколько моделей в зависимости от сценария:

  • Поиск (Шазам) — Ling 2.6 Flash (MoE-модель, 104B total / 7.4B active), заточена под короткие agent-задачи. Работает через OpenRouter.
  • Распознавание речи — Groq Whisper large-v3.
  • Vision-запросы (скриншоты) — через OpenRouter с разными уровнями качества:
  • Для PRO-пользователей: Gemini 2.5 Flash Lite → GPT-4o-mini.
  • Для базовых пользователей: Gemma / Nemotron.

Важный нюанс: стоимость и доступность моделей через OpenRouter могут меняться. Перед внедрением проверьте актуальные цены и лимиты.

Где скрытые риски и ограничения

Источник — личный блог на Хабр, поэтому метрики времени и модели стоит перепроверить в вашем окружении. Вот что может пойти не так:

  1. Зависимость от TMDB API — если сервис недоступен, пайплайн не сработает. Нужен план Б: кеширование или альтернативный каталог.
  2. Стоимость OpenRouter — модели могут подорожать или изменить условия. Закладывайте бюджет с запасом.
  3. Точные версии моделей — в статье не указаны конфигурации пайплайна. Вам придется подбирать параметры под свою задачу.
  4. Задержка для vision-запросов — 10–15 секунд может быть много для некоторых сценариев. Проверьте, приемлемо ли это для ваших пользователей.

Что проверить за неделю без перестройки компании

Вот практический чек-лист для владельца продукта или руководителя разработки:

  • [ ] Есть ли у вас доступ к API каталога? TMDB — бесплатный с ограничениями, но для коммерческого использования могут потребоваться платные тарифы.
  • [ ] Какой уровень задержки приемлем? Замерьте текущее время поиска. Если 5–7 секунд — нормально, можно внедрять. Если нужно быстрее — ищите альтернативы.
  • [ ] Готовы ли вы платить за LLM-запросы? OpenRouter берет за каждый вызов. Посчитайте, сколько запросов в день делает ваш сервис, и умножьте на стоимость.
  • [ ] Есть ли у вас команда для поддержки? Пайплайн требует настройки и мониторинга. Если разработчик один — начните с минимальной реализации.
  • [ ] Как вы будете обрабатывать ошибки API? Если TMDB недоступен, что показывать пользователю? Нужен fallback.
  • [ ] Тестировали ли вы на реальных запросах? Возьмите 10–20 типичных пользовательских запросов и проверьте, сколько из них дают точный результат.

Источники

Генерация изображения

  • Модель: flux-schnell
  • Провайдер: replicate

Что почитать дальше