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

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

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

Среда выполнения кода включает в себя следующие библиотеки: altair , chess , cv2 , matplotlib , mpmath , numpy , pandas , pdfminer , reportlab , seaborn , sklearn , statsmodels , striprtf , sympy и tabulate . Вы не можете устанавливать свои собственные библиотеки.

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

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

Ввод/вывод (В/В)

Начиная с Gemini 2.0 Flash , выполнение кода поддерживает ввод файлов и вывод графиков. Используя эти новые возможности ввода и вывода, вы можете загружать CSV и текстовые файлы, задавать вопросы о файлах и создавать графики Matplotlib как часть ответа.

Цены ввода-вывода

При использовании ввода-вывода для выполнения кода с вас взимается плата за входные и выходные токены:

Входные токены:

  • Подсказка пользователя

Выходные токены:

  • Код, сгенерированный моделью
  • Вывод выполнения кода в среде кода
  • Сводка, созданная моделью

Детали ввода-вывода

Когда вы работаете с вводом-выводом выполнения кода, помните о следующих технических деталях:

  • Максимальное время выполнения среды кода — 30 секунд.
  • Если среда кода генерирует ошибку, модель может решить повторно сгенерировать выходные данные кода. Это может произойти до 5 раз.
  • Максимальный размер входного файла ограничен окном токена модели. В AI Studio с использованием Gemini Flash 2.0 максимальный размер входного файла составляет 1 миллион токенов (примерно 2 МБ для текстовых файлов поддерживаемых типов ввода). Если вы загрузите слишком большой файл, AI Studio не позволит вам его отправить.
Одиночный поворот Двунаправленный (мультимодальный Live API)
Поддерживаемые модели Все модели Близнецов 2.0 Только экспериментальные модели Flash
Поддерживаемые типы ввода файлов .png, .jpeg, .csv, .xml, .cpp, .java, .py, .js, .ts .png, .jpeg, .csv, .xml, .cpp, .java, .py, .js, .ts
Поддерживаются библиотеки печати Матплотлиб Матплотлиб
Использование нескольких инструментов Нет Да

Биллинг

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

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

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

модель выставления счетов за выполнение кода

  • Вам выставляется счет по текущей ставке входных и выходных токенов в зависимости от используемой вами модели Gemini.
  • Если Gemini использует выполнение кода при формировании ответа, исходное приглашение, сгенерированный код и результат выполненного кода помечаются как промежуточные токены и оплачиваются как входные токены .
  • Затем Gemini генерирует сводку и возвращает сгенерированный код, результат выполненного кода и окончательную сводку. Они оплачиваются как выходные токены .
  • API Gemini включает в ответ API промежуточное количество токенов, чтобы вы знали, почему вы получаете дополнительные входные токены помимо первоначального запроса.

Ограничения

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