Определения инструментов#
Передавайте инструменты с type: function, а также именем функции, описанием и параметрами JSON Schema. Установите additionalProperties: false для ограниченных форм аргументов. Включайте только модели, чей обслуживающий парсер проверен.
Выполнение инструмента#
Вызов инструмента — это запрос от модели, а не инструкция, которой следует слепо доверять. Проверьте имя инструмента и аргументы по своему списку разрешённых. Выполните операцию с разрешениями текущего пользователя.
Возврат результата#
Добавьте сообщение ассистента tool_calls, затем сообщение с role: tool с соответствующим tool_call_id и строковым содержимым. Отправьте диалог снова, чтобы получить окончательный ответ.
Потоковая передача аргументов#
Накапливайте дельты по индексу вызова инструмента и разбирайте аргументы только после завершения. Roo Code требует нативные инструменты; совместимости с обычным чатом недостаточно.
Пример запроса
curl https://weightsapi.com/v1/chat/completions \
-H "Authorization: Bearer $WEIGHTSAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-32B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'