Ответ · TNWS AI

Почему search_query и search_document в Cohere нельзя путать

1 мин

Практическое руководство по запросу «почему Cohere embeddings плохо ищут»: реальные параметры Cohere API, рабочий код, ограничения и измеримая проверка результата.

Короткий ответ: input_type сообщает модели роль текста в retrieval-задаче. Ниже — рабочая схема внедрения, реальные параметры и проверки, которые отделяют демонстрацию от production-интеграции.

Что реально делает функция

  • input_type сообщает модели роль текста в retrieval-задаче.
  • search_document предназначен для индексируемого корпуса.
  • search_query предназначен для пользовательского запроса.
  • Переиндексация нужна при смене модели или режима представления.
  • Косинусный score не является вероятностью правильного ответа.

Пошаговое внедрение

  1. Зафиксируйте входной и выходной контракт.
  2. Выберите актуальную модель в официальном каталоге.
  3. Храните ключ только на backend и задайте таймаут.
  4. Валидируйте ответ и сопоставляйте индексы/ID с исходными объектами.
  5. Добавьте метрики latency, ошибок и billed units.
  6. Проведите canary перед полной нагрузкой.

Рабочий пример

# Индексация
co.embed(model=MODEL,texts=chunks,input_type="search_document",embedding_types=["float"])
# Поиск
co.embed(model=MODEL,texts=[query],input_type="search_query",embedding_types=["float"])

Как проверить результат

  • A/B-сравнить правильные роли и намеренно перепутанные на одном датасете.
  • Смотреть recall@k, а не один красивый пример.

Чего не делать

  • Не публикуйте API-ключ и полный чувствительный prompt в логах.
  • Не выбирайте модель по одному удачному примеру.
  • Не повторяйте 4xx бесконечно.
  • Не считайте валидный JSON или высокий score доказательством факта.

Ограничения

Модели, тарифы, квоты и поля API меняются. Сведения проверены по официальной документации 12 сентября 2026 года; перед production-релизом повторите проверку.

FAQ

Нужен ли отдельный API-ключ?

Да, храните его на сервере в переменной окружения и ограничьте доступ.

Можно ли верить relevance_score как вероятности?

Нет, калибруйте порог на собственном размеченном наборе.

Как проверить качество?

Используйте фиксированный eval: recall@k, MRR или nDCG, плюс негативные запросы.

Где проверять цену?

На официальной pricing-странице и в панели аккаунта в день расчёта.

Официальный источник

https://docs.cohere.com/docs/semantic-search

Читайте также

Комментарии

Пока тихо. Скажите первое слово