代码执行

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

AI Studio 和 Gemini API 中都支持代码执行功能。在 AI Studio 中,您可以在高级设置下启用代码执行功能。Gemini API 提供代码执行功能,类似于函数调用。您将代码执行添加为工具后,模型就会决定何时使用该工具。

开始执行代码

在 ai.google.dev 上查看 在 Google Colab 中运行 在 GitHub 上查看源代码

本部分假定您已安装 Gemini SDK 并配置了 API 密钥,如quickstart中所示。

代码执行与函数调用

代码执行和函数调用是类似的功能:

  • 通过代码执行,模型可以在固定的隔离环境中运行 API 后端中的代码。
  • 借助函数调用,您可以在任何所需的环境中运行模型请求的函数。

一般来说,如果代码执行可以处理您的用例,您应该优先使用代码执行。代码执行更易于使用(您只需启用它即可),并在单个 GenerateContent 请求中解析(因此会产生一次费用)。函数调用会接受额外的 GenerateContent 请求,以发回每个函数调用的输出(因此会产生多次费用)。

在大多数情况下,如果您有自己的函数要在本地运行,则应使用函数调用;如果您希望 API 为您编写和运行 Python 代码并返回结果,则应使用代码执行。

结算

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

关于代码执行费用结算,您还需要注意以下几点:

  • 您只需针对传递给模型的输入令牌付费一次,并为模型返回的最终输出令牌付费。
  • 表示所生成代码的令牌计为输出令牌。
  • 代码执行结果也会计为输出词元。

限制

  • 模型只能生成和执行代码。它无法返回媒体文件等其他工件。
  • 该功能不支持文件 I/O 或涉及非文本输出的用例(例如数据图)。
  • 在超时前,代码执行最长可运行 30 秒。
  • 在某些情况下,启用代码执行可能会导致模型输出的其他方面(例如,撰写故事)出现回归。
  • 不同模型成功使用代码执行的能力存在一些差异。根据我们的测试,Gemini 1.5 Pro 模型性能最佳