Поиск с генеративным ответом
Вы можете использовать текстовый поиск Yandex Search API в сочетании с генеративными возможностями моделей Яндекса, чтобы в ответ на поисковый запрос получить единый емкий и понятный генеративный ответ, при формировании которого нейросеть анализирует релевантные результаты текстового поиска Yandex Search API по указанным сайтам. Генерация ответа возможна на русском, казахском и узбекском языках. Язык генерации зависит от типа поиска и языка запроса.
Поиск с генерацией ответа доступен только в синхронном режиме. По умолчанию можно отправить не более одного синхронного запроса для получения генеративного ответа в секунду. Список ограничений Yandex Search API опубликован в разделе Квоты и лимиты Yandex Search API.
Для выполнения запросов необходима роль search-api.webSearch.user.
Стоимость получения генеративных ответов на запросы опубликована на странице Правила тарификации для Yandex Search API.
Запрос для получения генеративного ответа
Структура запроса и описание параметров опубликованы в справочниках API:
- REST API: метод search
- gRPC API: вызов GenSearchService/Search
Имена полей тела запроса различаются в REST API и gRPC API: в REST API используется CamelCase, в gRPC API — snake_case.
В полях site, host и url задается область поиска. При этом поля site, host и url — взаимоисключающие, задать можно только одно из них. Если ни одно из полей не указано, поиск будет выполнен по всему поисковому индексу Яндекса.
-
site— ограничение области поиска релевантных документов по массиву сайтов. Не более 5 сайтов в одном поиске.Например, для сайта
yandex.cloudпоиск будет выполняться по всем документам вида*.yandex.cloud/*. То есть, в область поиска попадут документы со следующими адресами:yandex.cloud/subdomain.yandex.cloud/yandex.cloud/path/subdomain.yandex.cloud/path/
В поле
siteможно указать конкретный путь к области поиска, напримерhttps://yandex.cloud/ru/docs. -
host— ограничение области поиска релевантных документов по массиву хостов. Не более 5 хостов в одном поиске.Например, для хоста
yandex.cloud/поиск будет выполняться по всем документам видаyandex.cloud/*. То есть, в область поиска попадут документы со следующими адресами:yandex.cloud/yandex.cloud/path/
В отличие от ограничения области поиска в поле
site, заданное в полеhostограничение не распространяется на поддомены. В полеhostтакже нельзя указать конкретный путь к области поиска. -
url— ограничение области поиска релевантных документов по массиву страниц. Напримерhttps://yandex.cloud/ru/docs/serverless-containers/concepts/containerиhttps://yandex.cloud/ru/docs/container-registry/concepts/docker-image. Не более 10 страниц в одном поиске.
Режимы получения результатов
Генеративный поиск поддерживает два режима получения результатов. Режим задается параметром getPartialResults (REST API) или get_partial_results (gRPC API).
По умолчанию Yandex Search API присылает полный ответ (getPartialResults: false). Сервис дожидается полной генерации ответа и возвращает его одним объектом GenSearchResponse. Используйте этот режим, если вам нужен готовый результат без промежуточных данных.
Если вы хотите показывать пользователю объемный результат по мере его формирования, используйте промежуточные результаты (getPartialResults: true). В этом случае сервис будет отправлять поток данных в формате JSON Lines. Каждый следующий объект содержит результаты предыдущей генерации с дополнениями, список использованных источников и метаданные. Промежуточные объекты имеют ту же структуру GenSearchResponse, что и финальный ответ, содержащий результат генерации целиком.
Особенности ответа
Примечание
Ответ не содержит обязательных полей. Поле может отсутствовать в ответе, если не содержит значащей информации.
В зависимости от запроса и полученных результатов поиска, при формировании генеративного ответа Yandex Search API может выдавать такие предупреждения:
-
Если сервис не нашел ни одного документа по запросу:
Ничего не нашлось.
Переформулируйте запрос или спросите что-нибудь ещё. -
Если сервис нашел документы-источники по запросу, но извлечь из них информацию не получилось:
Не удалось извлечь информацию по запросу из найденных документов. Попробуйте открыть их самостоятельно или перейти к результатам поиска.
-
Если сервис нашел документы-источники и извлек из них информацию, но нет уверенности в высоком качестве ответа, Yandex Search API предваряет ответ следующим сообщением:
На сайтах по данной теме доступна различная информация, её обзор ниже.