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 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 将不允许发送。
单轮 | 双向(多模态实时 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 响应中包含中间词元计数,因此您可以了解为什么除了初始提示外,您还会获得额外的输入令牌。
限制
- 模型只能生成和执行代码。它无法返回其他制品,例如媒体文件。
- 在某些情况下,启用代码执行可能会导致模型输出的其他方面(例如,撰写故事)出现回归。
- 不同模型成功使用代码执行的能力存在一些差异。