Поиск

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

Одиннадцать провайдеров

  • Serper — поиск через Google, API-ключ;
  • Keenable — API-ключ;
  • Brave — API-ключ;
  • Tavily — API-ключ, возвращает и готовый ответ модели;
  • TinyFish — бесплатный поиск по живой выдаче Google, API-ключ; бесплатно до 12 000 запросов в сутки и 30 запросов в минуту на ключ;
  • Exa — поиск по смыслу: страницы подбираются по смыслу запроса, а не по совпадению слов, и сразу отдаются готовые фрагменты текста, API-ключ;
  • Anysite — живой сбор выдачи Bing, Brave, Baidu, Startpage или Яндекса, API-ключ; поисковик выбирается в настройках сервиса. Работает заметно медленнее остальных: результаты собираются на лету, а не берутся из готового индекса;
  • DuckDuckGo — работает без ключа;
  • SearXNG — метапоисковик на вашем собственном сервере, подключается своим адресом;
  • JSON SEO — выдача Яндекса, Google или Bing, API-ключ; поисковая система и регион задаются в настройках сервиса. Выбор поисковика важен: Яндекс лучше покрывает русскоязычную выдачу, Google и Bing — глобальную, а регион уточняет географию результатов.

Одиннадцатым провайдером может стать ваш собственный скрипт на Python: если нужного сервиса среди готовых нет, он подключается как обычный сервис с приоритетом и запасными вариантами (подробнее — Python-скрипты).

Настройка

Провайдеры настраиваются в разделе Services веб-интерфейса — по одному сервису-экземпляру на каждого. API-ключи Serper, Keenable, Brave, Tavily, JSON SEO, TinyFish, Exa и Anysite задаются там же; у JSON SEO и Anysite дополнительно выбирается поисковая система (у JSON SEO — Яндекс, Google или Bing, у Anysite — Bing, Brave, Baidu, Startpage или Яндекс), а у JSON SEO — ещё и, по желанию, регион. SearXNG — основной адрес собственного экземпляра. Переменных окружения для ключей нет. Каждый сервис можно протестировать прямо из интерфейса и задать приоритет для запасных вариантов. Подробнее — в разделе Сервисы и модели.

Поисковые сессии

Поиск выполняется сессиями: запросы уходят пакетом, статусы обновляются в реальном времени. Раздел Search показывает список сессий с фильтрацией и постраничной выдачей, статусы (Pending, Running, Completed, Failed) и результаты каждой сессии. Результаты можно фильтровать по релевантности перед скачиванием — позиция в выдаче ещё не значит полезность, ссылки выбираются по заголовку и сниппету.

Запасной вариант

Запросы распределяются между провайдерами: при ошибке или недоступности система автоматически переходит к следующему сервису по приоритету. Одна тема спокойно ищется на нескольких провайдерах сразу — для покрытия выдачи.

Доступ внешних агентов

Поиск доступен и снаружи — например, из Pastukhov Agent другого проекта: POST /api/agent/search с заголовком X-API-Key (переменная RESEARCH_APP_HASH). Без ключа API возвращает 503. Подробнее — в разделе Интеграция с Pastukhov Agent.

← Оглавление документации