Функция выполнения кода Gemini API позволяет модели генерировать и запускать код Python и итеративно обучаться на основе результатов, пока не будет получен окончательный результат. Вы можете использовать эту возможность выполнения кода для создания приложений, которые извлекают выгоду из рассуждений на основе кода и производят текстовый вывод. Например, вы можете использовать выполнение кода в приложении, которое решает уравнения или обрабатывает текст.
Выполнение кода доступно как в AI Studio, так и в Gemini API. В AI Studio вы можете включить выполнение кода в разделе «Дополнительные настройки» . Gemini API обеспечивает выполнение кода как инструмент, аналогичный вызову функций . После того как вы добавите выполнение кода в качестве инструмента, модель сама решит, когда его использовать.
Начало работы с выполнением кода
В этом разделе предполагается, что вы выполнили шаги по установке и настройке, показанные в кратком руководстве .
Выполнение кода и вызов функции
Выполнение кода и вызов функций имеют схожие функции:
- Выполнение кода позволяет модели запускать код в серверной части API в фиксированной изолированной среде.
- Вызов функций позволяет запускать функции, запрашиваемые моделью, в любой желаемой среде.
В общем, вам следует предпочесть использовать выполнение кода, если оно может справиться с вашим вариантом использования. Выполнение кода проще в использовании (вы просто включаете его) и выполняется в одном запросе GenerateContent
(таким образом, взимается единая плата). Вызов функции требует дополнительного запроса GenerateContent
для отправки обратно выходных данных каждого вызова функции (что приводит к множественным расходам).
В большинстве случаев вам следует использовать вызов функций, если у вас есть собственные функции, которые вы хотите запускать локально, и вам следует использовать выполнение кода, если вы хотите, чтобы API писал и запускал за вас код Python и возвращал результат.
Биллинг
За включение выполнения кода из API Gemini не взимается дополнительная плата. Вам будет выставлен счет по текущему курсу входных и выходных токенов .
Вот еще несколько вещей, которые нужно знать о выставлении счетов за выполнение кода:
- Вам выставляется счет только один раз за входные токены, которые вы передаете модели, и вам выставляется счет за окончательные выходные токены, возвращенные вам моделью.
- Токены, представляющие сгенерированный код, считаются выходными токенами.
- Результаты выполнения кода также считаются выходными токенами.
Ограничения
- Модель может только генерировать и выполнять код. Он не может возвращать другие артефакты, такие как медиафайлы.
- Эта функция не поддерживает файловый ввод-вывод или варианты использования, требующие нетекстового вывода (например, графики данных или загрузка файла CSV).
- Выполнение кода может продолжаться не более 30 секунд до истечения времени ожидания.
- В некоторых случаях включение выполнения кода может привести к регрессии в других областях вывода модели (например, при написании истории).
- Существуют некоторые различия в способности разных моделей успешно использовать выполнение кода. Согласно нашему тестированию, Gemini 1.5 Pro — самая производительная модель.