Выполнение кода

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

Выполнение кода доступно как в AI Studio, так и в Gemini API. В AI Studio вы можете включить выполнение кода в разделе «Дополнительные настройки» . Gemini API обеспечивает выполнение кода как инструмент, аналогичный вызову функций . После того как вы добавите выполнение кода в качестве инструмента, модель решает, когда его использовать.

Начало работы с выполнением кода

В этом разделе предполагается, что вы установили Gemini SDK и настроили ключ API, как показано в кратком руководстве .

Выполнение кода и вызов функции

Выполнение кода и вызов функций имеют схожие функции:

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

В общем, вам следует предпочесть использовать выполнение кода, если оно может справиться с вашим вариантом использования. Выполнение кода проще в использовании (вы просто включаете его) и выполняется в одном запросе GenerateContent (таким образом, взимается единая плата). Вызов функции требует дополнительного запроса GenerateContent для отправки обратно выходных данных каждого вызова функции (что приводит к множественным расходам).

В большинстве случаев вам следует использовать вызов функций, если у вас есть собственные функции, которые вы хотите запускать локально, и вам следует использовать выполнение кода, если вы хотите, чтобы API писал и запускал за вас код Python и возвращал результат.

Биллинг

За включение выполнения кода из API Gemini не взимается дополнительная плата. Вам будет выставлен счет по текущему курсу входных и выходных токенов .

Вот еще несколько вещей, которые нужно знать о выставлении счетов за выполнение кода:

  • Вам выставляется счет только один раз за входные токены, которые вы передаете модели, и вам выставляется счет за окончательные выходные токены, возвращенные вам моделью.
  • Токены, представляющие сгенерированный код, считаются выходными токенами.
  • Результаты выполнения кода также считаются выходными токенами.

Ограничения

  • Модель может только генерировать и выполнять код. Он не может возвращать другие артефакты, такие как медиафайлы.
  • Эта функция не поддерживает файловый ввод-вывод или варианты использования, включающие нетекстовый вывод (например, графики данных).
  • Выполнение кода может продолжаться максимум 30 секунд до истечения времени ожидания.
  • В некоторых случаях включение выполнения кода может привести к регрессии в других областях вывода модели (например, при написании истории).
  • Существуют некоторые различия в способности разных моделей успешно использовать выполнение кода. По данным нашего тестирования, Gemini 1.5 Pro — самая производительная модель.