代码执行

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

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

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

代码执行入门

本部分假定您已完成快速入门中显示的设置和配置步骤。

输入/输出 (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 模型,按当前的输入和输出令牌费率向您收费。

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

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

代码执行结算模型

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

限制

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