代码执行

Gemini API 代码执行功能可让模型生成和运行 Python 代码,并从结果中迭代学习,直到获得最终输出。您可以使用此代码执行功能来构建可从基于代码的推理中受益并生成文本输出的应用。例如,您可以在用于解题或处理文本的应用中使用代码执行功能。

代码执行功能可在 AI Studio 和 Gemini API 中使用。在 AI Studio 中,您可以在右侧面板的工具下方启用代码执行。Gemini API 提供代码执行作为工具,类似于函数调用。将代码执行添加为工具后,模型会决定何时使用它。

代码执行环境包含以下库:altairchesscv2matplotlibmpmathnumpypandaspdfminerreportlabseabornsklearnstatsmodelsstriprtfsympytabulate。您无法安装自己的库。

准备工作

在调用 Gemini API 之前,请确保您已安装所选的 SDK,并已配置好 Gemini API 密钥,可以使用。

开始使用代码执行

输入/输出 (I/O)

Gemini 2.0 Flash 开始,代码执行支持文件输入和图表输出。借助这些新的输入和输出功能,您可以上传 CSV 和文本文件、询问与文件相关的问题,并在回答中生成 Matplotlib 图表。

I/O 价格

使用代码执行 I/O 时,您需要为输入令牌和输出令牌支付费用:

输入令牌

  • 用户提示

输出令牌

  • 模型生成的代码
  • 代码环境中的代码执行输出
  • 模型生成的摘要

I/O 详情

使用代码执行 I/O 时,请注意以下技术细节:

  • 代码环境的运行时长上限为 30 秒。
  • 如果代码环境生成错误,模型可能会决定重新生成代码输出。最多可以重试 5 次。
  • 文件输入大小上限受模型令牌窗口的限制。在 AI Studio 中,使用 Gemini Flash 2.0 时,输入文件大小上限为 100 万个令牌(对于支持的输入类型的文本文件,大约为 2MB)。如果您上传的文件过大,AI Studio 将不允许您发送。
单轮 双向(Multimodal Live API)
支持的模型 所有 Gemini 2.0 模型 仅限 Flash 实验性模型
支持的文件输入类型 .png、.jpeg、.csv、.xml、.cpp、.java、.py、.js、.ts .png、.jpeg、.csv、.xml、.cpp、.java、.py、.js、.ts
支持的绘图库 Matplotlib Matplotlib
多工具使用

结算

通过 Gemini API 启用代码执行不会产生额外的费用。系统会根据您使用的 Gemini 模型,按当前的输入和输出令牌费率向您收费。

以下是关于代码执行结算的一些其他注意事项:

  • 您只需为您传递给模型的输入 token 支付一次费用,并需为模型返回给您的最终输出 token 支付费用。
  • 代表生成的代码的令牌会计为输出令牌。生成的代码可以包含文本和多模态输出(例如图片)。
  • 代码执行结果也会计为输出令牌。

结算模型如下图所示:

代码执行结算模型

  • 系统会根据您使用的 Gemini 模型,按当前的输入和输出令牌费率向您收费。
  • 如果 Gemini 在生成响应时使用代码执行,则原始提示、生成的代码以及执行的代码的结果会被标记为中间令牌,并按输入令牌计费。
  • 然后,Gemini 会生成摘要,并返回生成的代码、执行的代码的结果和最终摘要。这些数据按输出令牌计费。
  • Gemini API 在 API 响应中包含中间 token 数,因此您可以了解为何会收到除初始提示之外的其他输入 token。

限制

  • 模型只能生成和执行代码。它无法返回其他制品,例如媒体文件。
  • 在某些情况下,启用代码执行可能会导致模型输出的其他方面(例如,撰写故事)出现回归问题。
  • 不同模型成功使用代码执行功能的能力有所不同。