AGTCloud API Docs
РуководстваСправочник APIИнтеграции и ресурсыОбновления и помощь
Web Search

OpenAI Web Search

Ищите в интернете через Responses или Chat и обрабатывайте ссылки на источники.

OpenAI Web Search позволяет моделям с этой возможностью искать в интернете перед ответом и возвращать текст, вызовы поиска и ссылки на источники. Это подходит для новостей, погоды, обновлений продуктов и других запросов, где важна актуальность.

Если данные находятся в вашей базе или бизнес-сервисе, определите контролируемый инструмент через Tool Calling, а не передавайте внутренние данные публичному веб-поиску.

Сначала проверьте модель и интерфейс

Наличие полей Web Search в протоколе не означает, что поиск поддерживает каждая модель вашей учётной записи. Сначала проверьте модель и протокол в каталоге моделей, затем изучите соответствующий API Reference.

Выбор Responses или Chat

ИнтерфейсВключениеРасположение результата
ResponsesДобавьте Web Search Tool в toolsweb_search_call и Message Output Item
Chat CompletionsИспользуйте web_search_optionsAssistant Message и annotations

Responses удобнее приложениям, которым нужно различать вызов поиска, ответ и источники. Chat подходит проектам, уже использующим структуру сообщений.

Поиск через Responses

curl 'https://api.agtcloud.cn/v1/responses' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your-api-key' \
  --data '{
    "model": "MODEL_ID",
    "tools": [
      {
        "type": "web_search_preview",
        "search_context_size": "medium"
      }
    ],
    "input": "Какие технологические новости сегодня заслуживают внимания?"
  }'

Модель может решать, нужен ли поиск, исходя из вопроса. Если поиск выполнен, output обычно содержит и элемент вызова поиска, и текстовое сообщение. Полные типы Tool см. в Responses Reference.

Использование Chat Completions

curl 'https://api.agtcloud.cn/v1/chat/completions' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your-api-key' \
  --data '{
    "model": "MODEL_ID",
    "messages": [
      {
        "role": "user",
        "content": "Какие технологические новости сегодня заслуживают внимания?"
      }
    ],
    "web_search_options": {
      "search_context_size": "medium"
    }
  }'

Текст ответа Chat находится в choices[].message.content, а структурированные ссылки, если они предоставлены, — в choices[].message.annotations. Полные поля см. в Chat Completions Reference.

Чтение ответа и ссылок

{
  "output": [
    {
      "type": "web_search_call",
      "id": "ws_example",
      "status": "completed"
    },
    {
      "type": "message",
      "content": [
        {
          "type": "output_text",
          "text": "Согласно результатам поиска…",
          "annotations": [
            {
              "type": "url_citation",
              "url": "https://example.com/article",
              "title": "Название источника"
            }
          ]
        }
      ]
    }
  ]
}

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

Ограничение области поиска

Если модель и интерфейс поддерживают это, можно настроить:

  • Домены: поиск только на разрешённых сайтах, например медицинских, правовых или корпоративных источниках.
  • Местоположение пользователя: страна, город, регион или часовой пояс помогают получать локальные результаты.
  • Объём поискового контекста: выбирайте баланс качества ответа, задержки и расхода.
  • Список источников: Responses при поддержке может вернуть источники, изученные во время поиска, а не только процитированные в ответе.

В Responses и Chat эти поля расположены по-разному. Точные имена и ограничения см. в соответствующем Reference.

Ошибки и резервное поведение

СитуацияДействие
Поиск не выполненОпределите, нужна ли актуальная информация, и проверьте поддержку поиска моделью
Ответ есть, ссылок нетНе выдумывайте источники; сообщите, что ответ не содержит ссылок для показа
Ошибка поискаПо ошибке ответа выберите повтор, ответ без поиска или предложение попробовать позже
Источники противоречат друг другуПокажите разные источники и время обновления, не позволяйте модели скрывать важные расхождения
Источник недоступенСохраните заголовок и исходный URL, сообщите, что страница сейчас не открывается

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

Проверка перед запуском

  • Модель и протокол явно поддерживают Web Search.
  • Ответ, вызовы поиска, ссылки и список источников разбираются отдельно.
  • При отсутствии ссылок не создаются вымышленные URL.
  • Домены и местоположение отправляются только при бизнес-необходимости.
  • Внешний контент не обходит проверку прав и подтверждение Tool Calling.
  • Ошибка поиска, тайм-аут и отсутствие результатов имеют понятное резервное поведение.

При ошибках см. Ошибки и диагностика. Перед сменой протокола прочитайте Выбор протокола.

На этой странице