Функция выполнения кода 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 промежуточное количество токенов, чтобы вы знали, почему вы получаете дополнительные входные токены помимо первоначального запроса.
Ограничения
- Модель может только генерировать и выполнять код. Он не может возвращать другие артефакты, такие как медиафайлы.
- В некоторых случаях включение выполнения кода может привести к регрессии в других областях вывода модели (например, при написании истории).
- Существуют некоторые различия в способности разных моделей успешно использовать выполнение кода.