Опишите client function
Передайте `web_search` как стандартный function tool в массиве tools, как в примере. Модель лишь запрашивает вызов; ваше приложение выполняет поиск через разрешённый источник.
После выполнения верните нормализованный результат модели в сообщении role `tool` с соответствующим tool_call_id. Модельный текст не заменяет источник: сохраняйте URL, название, дату и контекст.
{
"model": "openai/gpt-5.6-sol",
"messages": [{"role": "user", "content": "Find current primary sources for this topic."}],
"tools": [{
"type": "function",
"function": {
"name": "web_search",
"description": "Search permitted sources for current information.",
"parameters": {
"type": "object",
"properties": {"query": {"type": "string"}},
"required": ["query"],
"additionalProperties": false
}
}
}]
}Надёжный ответ
- Проверяйте имя функции и аргумент query до выполнения поиска.
- Показывайте пользователю ссылки рядом с утверждениями, когда сценарий требует проверки.
- Ограничивайте домены или задачу на стороне продукта, если этого требует политика вашей организации.
Стоимость и журнал
Учитывайте расход поиска в своём исполнителе функции отдельно от токенов модели.
Не повторяйте поиск автоматически после частичного ответа: сначала определите, какие источники уже получены и что увидел пользователь.