Gemini 模型可以借助代码执行功能访问 Python 沙盒,进而运行代码并从结果中学习。启用代码执行功能后,Gemini 模型可以实时执行计算、分析复杂数据集和创建可视化,最终在用户查询时提供更好的答案。该功能现已通过 Gemini 2.0 模型在 Google AI Studio 和 Gemini API 中正式发布。
您可以使用 Google AI Studio 的“工具”面板中的切换开关来启用代码执行功能,也可以通过 Gemini API 将该功能作为工具变量启用(方法如下所示)。
from google import genai
from google.genai import types
client = genai.Client(api_key="GEMINI_API_KEY")
response = client.models.generate_content(
model='gemini-2.0-flash',
contents="""
What is the sum of the first 50 prime numbers?
Generate and run code for the calculation.
""",
config=types.GenerateContentConfig(
tools=[types.Tool(
code_execution=types.ToolCodeExecution
)]
)
)
将代码执行功能作为工具添加之后,模型便可以访问代码执行沙盒,并执行代码多达 5 次(一次可长达 30 秒),而无需用户重新提示。代码执行环境包括 Numpy、Pandas 和 Matplotlib(用于图形渲染)等库。可用库的完整列表可以在我们的 API 文档中找到,我们也很希望能尽快扩充受支援库集。
在 Gemini 2.0 中,我们更新了代码执行工具,允许将文件输入到代码执行沙盒中,以及使用 Matplotlib 输出图形和图表。这些更新将扩充代码执行用例集。通过这些更新,您现在可以:
以下是代码执行功能的两个实际使用实例:
此演示将多模态实时 API 和代码执行功能相结合,演示了如何使用语音输入和代码执行功能来与 Gemini 模型进行实时对话。我们要求 Gemini 模型提供 Tom Cruise 出演电影的列表,并按影片时长对电影进行排序,然后使用 Matplotlib 创建条形图,实现该数据的可视化。Gemini 模型可生成 Python 代码来执行这些任务,并根据我们的后续请求(更改条形图颜色)更新图表。
本演示使用 Gemini 2.0 Flash 实验性思维模型和代码执行功能来解决经典的优化挑战。我们要求 Gemini 找出销售人员前往西班牙的五个城市并返回起点的最短路线。Gemini 生成了 Python 代码,对其进行迭代调试(纠正初始库错误),并计算距离,最终使用 Matplotlib 生成图片,将最佳路线可视化。
想亲自体验一下吗?您可前往 GitHub 亲身体验代码执行功能。有关更多示例和演示,请访问 Gemini API 文档,您可以在其中探索目前正在使用中的代码执行场景等内容。
欢迎加入 Gemini API 开发者论坛,分享您的用例以及反馈,以便我们为您改进代码执行功能。在短期内,我们将尝试扩展库支持,为 PDF 等其他输入模态提供支持,并添加对多工具使用的支持。祝您构建愉快!