代码执行

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

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

代码执行入门

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

代码执行与函数调用

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

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

通常,如果代码执行可以处理您的用例,您应优先使用代码执行。代码执行的使用更简单(只需启用即可),并会解析为单个 GenerateContent 请求(因此只会产生一次扣款)。函数调用需要额外的 GenerateContent 请求来发回每个函数调用的输出(因此会产生多次扣款)。

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

结算

通过 Gemini API 启用代码执行无需额外付费。我们将按照当前的输入和输出令牌费率向您收费。

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

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

限制

  • 该模型只能生成和执行代码。它无法返回媒体文件等其他工件。
  • 此功能不支持文件 I/O 或涉及非文本输出(例如数据图表或 CSV 文件上传)的用例。
  • 代码执行最多可运行 30 秒,超出即会超时。
  • 在某些情况下,启用代码执行可能会导致模型输出的其他方面(例如撰写故事)出现回归问题。
  • 不同模型成功使用代码执行的能力有所不同。根据我们的测试,Gemini 1.5 Pro 的效果最好。