ИнференсВозможности

Вызов инструментов

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

С вызовом инструментов модель может пользоваться функциями вашей программы, например узнавать погоду в городе. Модель не выполняет функцию сама: она просит вызвать её и передаёт аргументы, а вы выполняете вызов у себя и возвращаете результат. Это нужно, когда для ответа модели требуются данные или действия, которых у неё нет.

Поддержка в моделях

Поле tools API передаёт модели как есть, в формате OpenAI. Умеет ли модель вызывать инструменты, видно в каталоге и в ответе метода GET /v1/models: признак tools в поле capabilities.

Описание инструмента в запросе

JSON
{
  "model": "yenisei-100",
  "messages": [{"role": "user", "content": "Какая погода в Красноярске?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Погода в городе",
      "parameters": {
        "type": "object",
        "properties": { "city": { "type": "string" } },
        "required": ["city"]
      }
    }
  }]
}

Ответ модели и результат вызова

Вместо текста модель отвечает просьбой вызвать функцию: она приходит в поле choices[].message.tool_calls. Вы вызываете функцию у себя и отправляете следующий запрос, добавив в messages сообщение с ролью tool и результатом. После этого модель отвечает словами.