Опишите контракт функции
Инструмент содержит имя, понятное описание и JSON Schema параметров. Описание отвечает на вопрос, когда инструмент следует выбрать, а схема ограничивает форму аргументов.
Модель предлагает вызов; она не получает доступ к вашей сети, базе данных или файлам сама по себе.
{
"model": "openai/gpt-5.6-sol",
"messages": [{"role": "user", "content": "What is the weather in Tashkent?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Read current weather for a city.",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
"additionalProperties": false
}
}
}],
"tool_choice": "auto"
}Выполнение на вашей стороне
- Проверяйте имя инструмента по allowlist.
- Валидируйте аргументы против схемы до вызова внутреннего сервиса.
- Применяйте собственную авторизацию, тайм-ауты и идемпотентность к действию инструмента.
Верните результат
Добавьте сообщение tool с tool_call_id и компактным сериализованным результатом, затем продолжите диалог тем же контекстом.
Отделяйте ошибку выполнения инструмента от ошибки модели: передавайте структурированную причину, которую модель сможет объяснить пользователю.