Поиск Google для Discourse AI: программируемый поисковый движок и API пользовательского поиска

:warning: Уведомление о прекращении поддержки (март 2026): Google прекратила поддержку опции «Поиск по всему интернету» для программируемых поисковых систем. Новые поисковые системы теперь требуют как минимум одной конкретной конфигурации сайта. Кроме того, Custom Search JSON API заменяется на Vertex AI Search. Команда Discourse AI активно изучает альтернативных провайдеров веб-поиска и планирует вскоре выпустить новые инструменты поиска — включая поддержку встроенного поиска от нативных провайдеров LLM (например, встроенный поиск Gemini). Данное руководство остается полезным для существующих настроек, но учитывайте эти ограничения при создании новых конфигураций.

Поиск Google для Discourse AI

Чтобы настроить бота поиска Google с плагином Discourse AI, вам потребуется настроить программируемую поисковую систему Google и получить ключ API Custom Search. Какой бы моделью ИИ вы ни пользовались, она должна использовать этот инструмент поиска для возврата результатов поиска Google. При настройке сервиса ИИ для вашего плагина Discourse (например, если вы используете OpenAI API GPT или Anthropic Claude) и хотите использовать вспомогательного бота для поиска в Google, вам необходимо настроить программируемую поисковую систему для работы с Google и получить API-ключ, чтобы бот-исследователь мог обращаться к поисковой системе и возвращать результаты.

Введение: Google Cloud, программируемая поисковая система и Custom Search API

Программируемая поисковая система (или Custom Search Engine) — это бесплатный сервис поиска, который любой пользователь может настроить на своем сайте. Она идентифицируется по ID поисковой системы (или номеру CX). Ключ API Custom Search используется для отправки запросов к поисковой системе, а управление ключами API осуществляется через консоль Google Cloud. Таким образом, вам потребуется создать учетную запись Google Cloud — для регистрации учетной записи требуется кредитная карта, но Custom Search API предоставляет 100 поисковых запросов в день бесплатно до начала оплаты (дополнительные запросы стоят 5 долларов за 1000 запросов, до 10 000 запросов в день, но за превышение лимита придется доплачивать). Подробнее о управлении биллингом.

Также рекомендуется создать ключ в рамках проекта Google Cloud, предпочтительно нового, специально предназначенного для ключа поиска (для удобства отслеживания). Обратите внимание, что в Google Cloud существуют лимиты как на количество проектов, так и на количество проектов, привязанных к учетной записи биллинга. Проекты можно добавлять в учетные записи биллинга после их создания и генерации ключей API.

Чек-лист

  • Создание учетной записи Google Cloud
  • Создание проекта для вашего ключа API Custom Search
  • Привязка проекта к учетной записи биллинга
  • Создание ключа API
  • Настройка ключа API для Custom Search
  • Настройка программируемой поисковой системы Google
  • Сохранение ключа API Custom Search и ID поисковой системы в настройках Discourse AI

Шаг 1: Создание проекта в Google Cloud

Перед настройкой вашей пользовательской поисковой системы и ключа API создайте проект в Google Cloud.
Перейдите в административную панель Google Cloud для API для себя (или вашей организации) и убедитесь, что вы находитесь в родительской организации (это отображается в поле вверху рядом с логотипом Google Cloud).

Если у вас еще нет подходящего проекта для поисковой системы, вам нужно будет его создать — ссылка для выбора или создания нового проекта находится в верхней части страницы.

Заполните страницу создания нового проекта (убедитесь, что ваша организация выбрана в соответствующих выпадающих списках).

Для управления биллингом вашего проекта вам потребуется создать учетную запись биллинга для проекта в Google Cloud Billing, при условии, что биллинг уже настроен для вашей организации. Вы (или менеджер вашей учетной записи биллинга) сможете сделать это позже, после создания ключа. Обратите внимание, что существуют лимиты на количество проектов и проектов биллинга в зависимости от вашей учетной записи Google Cloud организации.

Чтобы включить биллинг для вашего проекта, перейдите на вкладку «Billing» в меню навигации Google Cloud и привяжите учетную запись биллинга или включите биллинг для проекта со страницы проектов биллинга.


Шаг 2: Создание ключа API

Чтобы создать ключ API из консоли Google Cloud, перейдите на вкладку «API & Services» в вашей консоли Google Cloud и в настройки учетных данных для вашего нового проекта. (Не обращайте внимания на сообщение «configure consent screen»). Нажмите ссылку «+ create credentials» в верхней части страницы и выберите «API key» из выпадающего списка.

Для вас будет создан новый ключ API. Скопируйте его и сохраните в надежном месте, например, в приложении для хранения паролей. Не передавайте ключи третьим лицам.

Это ключ API Custom Search Google, который вам нужно будет ввести в настройках Discourse AI для параметра ai_google_custom_search_api_key.

Теперь ваш новый ключ должен отображаться в списке ключей API. Нажмите на три точки в столбце «Actions» справа и выберите «Edit API key».

Откроется страница конфигурации учетных данных ключа API, где вы сможете изменить имя ключа на более подходящее. (Также можно просмотреть/скопировать ваш ключ API или при необходимости сгенерировать его заново). Затем перейдите в раздел «API restrictions» внизу, выберите «Restrict key», а затем «Custom Search API». Нажмите «OK» и сохраните ваш ключ API.

Если вы не видите никаких ограничений в списке, возможно, вам потребуется включить службу API в библиотеке API. Найдите «google custom search api» и выберите её. Здесь вы увидите подробности о Custom Search API, включая цены и ссылки на дополнительную документацию — нажмите ссылку для включения API.

Новый ключ API теперь будет отображаться с новым именем и зеленой галочкой, указывающей на то, что он ограничен запросами JSON Custom Search API.


Шаг 3: Создание программируемой поисковой системы

Чтобы создать поисковую систему для использования вашим ключом API, перейдите на страницу Google Programmable Search Engine и нажмите «Get started», если вы еще не вошли в систему (войдите или создайте учетную запись). После входа перейдите на страницу консоли поисковой системы. Здесь будет отображен список всех ваших существующих программируемых поисковых систем.

Нажмите кнопку «Add» (или ссылку «Create your first search engine!»), чтобы открыть страницу новой поисковой системы. Дайте ей подходящее имя и заполните поля в соответствии с вашими потребностями.

:warning: Примечание: Google теперь требует как минимум одной конфигурации сайта при создании программируемой поисковой системы, а переключатель «Search the entire web» был удален. Вам необходимо добавить хотя бы один сайт (например, *.example.com/*), чтобы продолжить. Это ограничивает результаты поиска только указанными сайтами вместо поиска по всему интернету.

Нажмите кнопку «Create», и ваша новая поисковая система будет создана. Страница предложит вам скопировать скрипт поиска, если вы хотите использовать поле поиска в веб-интерфейсе где-либо, но это не обязательно, так как нас интересует только использование её для доступа через учетные данные ключа API.

Нажмите кнопку «customize», чтобы перейти на страницу обзора поисковой системы. Здесь мы теперь можем увидеть ID поисковой системы (номер CX), необходимый для настроек поиска Google в Discourse AI, а также некоторые другие параметры, которые можно настроить. (Обратите внимание, что если прокрутить страницу вниз, там есть ссылка для создания ключей API — делать это не нужно, так как вы уже сделали это на шаге 2 выше.)


Шаг 4: Настройка Google Custom Search в плагине Discourse AI

Скопируйте номер ID поисковой системы и сохраните его вместе с ключом API, созданным на шаге 2. Перейдите в Администрирование — Настройки сайта, в фильтре «All Site Settings» введите «google custom search», чтобы отобразить две необходимые настройки. Вставьте ключ API в поле ai_google_custom_search_api_key и ID поисковой системы (номер CX) в поле ai_google_custom_search_cx вашего экземпляра Discourse и сохраните новые настройки. Настройте остальные параметры ИИ по необходимости.

Шаг 5: Отслеживание ключей поиска API

Вы можете увидеть активность ключа API Custom Search в консоли Google Cloud в разделе API and Services Details, а также настроить лимиты во вкладке «Quota and Systems Limit». Отчеты о затратах можно просмотреть во вкладке «Cost».


Примеры поиска в Discourse AI

Ниже приведен пример использования OpenAI GPT-4 Turbo с Google Custom Search для объяснения его функций и инструкции по настройке.

Ниже приведен пример использования Anthropic Claude Opus с Google Custom Search для объяснения значения термина «reverse centaur».


Полезные ссылки


7 лайков

Можете ли вы точно объяснить, что это такое и зачем кому-то может понадобиться его использовать? Как пользоваться этим пользовательским поиском, чем он отличается от поиска в Discourse и как он вписывается в экосистему Discourse AI?

3 лайка

Это инструмент, который бот AI Researcher использует для предоставления вам результатов поисковых запросов Google.

2 лайка

Например, с Лолой (GPT-4 turbo):

Кстати, не понимаю, почему Лоло назвала меня Лолой :thinking:

2 лайка

Ещё одно увлекательное взаимодействие с исследовательским ботом Claude Opus

1 лайк

Спасибо, теперь это имеет больше смысла

1 лайк

Круто, может, стоит немного отредактировать документ, чтобы лучше объяснить причину?

1 лайк

Это очень круто, но при использовании я получаю ошибки от Personas, которые не могут его использовать. В логах указано, что реферер не принят.

Я ограничил доступ своим доменом в Google Console. Однако запрос от Persona отправляет “httpReferrer”: “” вместо моего домена.

Поиск работает, если я уберу ограничения веб-сайта в консоли Google Cloud.

Думаю, нам понадобится ещё одна опция инструмента для поддержки этого. Они ожидают реферер в параметре запроса?

Я не смог найти никаких ссылок на это в справочном руководстве по Custom Search API. Будет ли этот вызов выполняться ботом в Discourse или напрямую LLM?

Попробуйте вкладку «Инструменты»: вам нужно создать новый пользовательский инструмент и написать его на JavaScript, после чего персонаж сможет использовать его для выполнения поисков.

Я настраиваю это, и текущий интерфейс Программируемого поискового движка, похоже, требует как минимум одного настроенного сайта.

Если я пытаюсь удалить домен-пример (*.example.com/*), Google предотвращает это сообщением: «У вас должен быть как минимум один сайт для поиска».

Из-за этого переключатель «Искать по всему интернету» отключён.

Это ожидаемое поведение сейчас, или документацию следует обновить?

Да, похоже, что Custom Search JSON API заменяется на Vertex AI Search, так что, думаю, это потребует обновления. Честно говоря, даже не уверен, что Custom Search всё ещё нужен… :thinking:

Google прекратила поддержку этой функции :frowning:

Vertex ограничен несколькими доменами и не является подходящей альтернативой.

Мы изучаем все возможные альтернативы и вскоре выпустим новые инструменты поиска с использованием других провайдеров.

Поскольку каждый из крупных провайдеров LLM также предоставляет собственный инструмент для поиска в сети, мы также планируем, как обеспечить поддержку этих решений. Таким образом, например, пользователи Gemini смогут включить встроенный в их сервис поиск.

3 лайка

К сожалению, я не удивлён, учитывая абсурдные ограничения в Twitter, Reddit и так далее.

Я использую свой собственный экземпляр Searxng уже более трёх лет, с тех пор как Google превратился в маркетинговый инструмент и перестал быть поисковой системой.

Searxng использует 242 поисковые системы, может работать через Tor и на данный момент интегрирован в такие системы, как Openwebui.

Думаю, это единственный способ по-настоящему искать то, что осталось от интернета. Просто моё мнение по вопросу, который для меня крайне важен в наше время.

2 лайка