Skip to main content
通过 Gemini Developer APIVertex AI 访问 Google 的生成式 AI 模型,包括 Gemini 系列。Gemini Developer API 提供通过 API 密钥快速设置,适合个人开发者。Vertex AI 提供企业功能,并与 Google Cloud Platform 集成。 有关最新模型、模型 ID、其功能、上下文窗口等信息,请访问 Google AI 文档
Vertex AI 整合与兼容性langchain-google-genai 4.0.0 起,此包使用整合后的 google-genai SDK,而非旧版 google-ai-generativelanguage SDK。此迁移带来了对通过 Gemini Developer API 和 Vertex AI 中的 Gemini API 使用 Gemini 模型的支持,取代了 langchain-google-vertexai 中的某些类,例如 ChatVertexAI阅读完整公告和迁移指南
API 参考有关所有功能和配置选项的详细文档,请访问 ChatGoogleGenerativeAI API 参考。

概述

集成详情

模型功能

设置

要访问 Google AI 模型,您需要创建一个 Google 帐户,获取 Google AI API 密钥,并安装 langchain-google-genai 集成包。

安装

凭证

此集成支持两种后端:Gemini Developer APIVertex AI。后端根据您的配置自动选择。

后端选择

后端确定如下:
  1. 如果设置了 GOOGLE_GENAI_USE_VERTEXAI 环境变量,则使用该值
  2. 如果提供了 credentials 参数,则使用 Vertex AI
  3. 如果提供了 project 参数,则使用 Vertex AI
  4. 否则,使用 Gemini Developer API
您也可以显式设置 vertexai=Truevertexai=False 以覆盖自动检测。
使用 API 密钥快速设置推荐用于个人开发者/新用户。前往 Google AI Studio 生成 API 密钥:
集成首先检查 GOOGLE_API_KEY,然后回退到 GEMINI_API_KEY

环境变量

要启用模型调用的自动跟踪,请设置您的 LangSmith API 密钥:

实例化

现在我们可以实例化模型对象并生成响应:
Gemini 3.0+ 模型的温度如果未显式设置 temperature 且模型是 Gemini 3.0 或更高版本,它将自动设置为 1.0,而不是默认的 0.7,这是根据 Google GenAI API 最佳实践。在 Gemini 3.0+ 上使用 0.7 可能导致无限循环、推理性能下降以及在复杂任务上失败。
有关可用模型参数的完整集合,请参阅 ChatGoogleGenerativeAI API 参考。

代理配置

如果需要使用代理,请在初始化前设置这些环境变量:
对于 SOCKS5 代理或高级代理配置,请使用 client_args 参数:

调用

消息内容形状Gemini 3 系列模型返回内容块列表以捕获思考签名。使用 .text 获取字符串内容:
Gemini 2.5 及更早版本的 .content 返回纯字符串。

多模态用法

Gemini 模型接受多模态输入(文本、图像、音频、视频、PDF),某些模型可以生成多模态输出。

支持的输入方法

*YouTube URL 在预览版中支持用于视频输入。

文件上传

您可以将文件上传到 Google 的服务器,并通过 URI 引用它们。这适用于 PDF、图像、视频和音频文件。
上传后,您可以在下面任何特定于媒体的部分中使用 file_id 模式引用该文件。

图像输入

使用 HumanMessage 提供图像输入和文本,采用列表内容格式。
其他支持的图像格式:
  • Google Cloud Storage URI (gs://...)。确保服务帐户有权访问。

PDF 输入

提供 PDF 文件输入和文本。

音频输入

提供音频文件输入和文本。

视频输入

提供视频文件输入和文本。
YouTube 视频输入(预览版)
  • 仅支持公开视频(不支持私有或未列出视频)
  • 免费层:每天最多 8 小时的 YouTube 视频

图像生成

某些模型可以内联生成文本和图像。详情请参阅 Gemini API 文档
使用 image_config 控制图像尺寸和质量(参见 genai.types.ImageConfig)。它可以在实例化时设置(适用于所有调用)或在调用时设置(每次调用覆盖):
默认情况下,图像生成模型可能同时返回文本和图像(例如 “Ok! Here’s an image of a…”)。 您可以通过设置 response_modalities 参数来请求模型仅返回图像:

音频生成

某些模型可以生成音频文件。详情请参阅 Gemini API 文档
Vertex AI 限制音频生成模型目前在 Vertex AI 上处于有限预览状态,可能需要允许列表访问权限。如果您在使用 vertexai=True 的 TTS 模型时遇到 INVALID_ARGUMENT 错误,您的 GCP 项目可能需要被加入允许列表。更多详情,请参阅此 Google AI 论坛讨论

工具调用

您可以为模型配备要调用的工具。

结构化输出

强制模型以特定结构响应。更多信息请参阅 Gemini API 文档
对于流式结构化输出,合并字典而不是使用 +=

结构化输出方法

支持两种结构化输出方法:
  • method="json_schema"(默认):使用 Gemini 的原生结构化输出。推荐用于更好的可靠性,因为它直接约束模型的生成过程,而不是依赖后处理工具调用。
  • method="function_calling":使用工具调用来提取结构化数据。

将结构化输出与 Google 搜索结合

使用 with_structured_output(method="function_calling") 时,不要在同一调用中传递其他工具(如 Google Search)。 要在单次调用中获取结构化输出搜索基础,请使用 .bind() 配合 response_mime_typeresponse_schema,而不是 with_structured_output
这使用 Gemini 的原生 JSON 模式来结构化输出,同时允许使用 Google Search 等工具进行基础——所有这些都在一次 LLM 调用中完成。

令牌使用情况跟踪

从响应元数据中访问令牌使用情况信息。

思考支持

某些 Gemini 模型支持可配置的思考深度。该参数取决于模型版本:

Gemini 2.5 模型:thinking_budget

对于 Gemini 2.5 模型,请改用 thinking_budget(整数令牌计数):
  • 设置为 0 以禁用思考(在支持的情况下)
  • 设置为 -1 以进行动态思考(模型决定)
  • 设置为正整数以限制令牌使用量
并非所有模型都允许禁用思考。详情请参阅 Gemini 模型文档

查看模型思考

要查看思考模型的推理过程,请设置 include_thoughts=True
有关思考的更多信息,请参阅 Gemini API 文档

思考签名

思考签名是模型推理的加密表示。它们使 Gemini 能够在多轮对话中维持思考上下文,因为 API 是无状态的。
如果思考签名未随工具调用响应一起传回,Gemini 3 可能会引发 4xx 错误。升级到 langchain-google-genai >= 3.1.0 以确保正确处理。
签名出现在 AIMessage 响应中:
  • 文本块:内容块中的 extras.signature
  • 工具调用additional_kwargs["__gemini_function_call_thought_signatures__"]
对于多轮对话,请将完整的 AIMessage 传回模型,以便保留签名。当您将 AIMessage 追加到消息列表时(如上面的工具调用示例所示),这会自动发生。
不要手动重建消息。 如果您创建一个新的 AIMessage 而不是传递原始对象,签名将丢失,API 可能会拒绝请求。

内置工具

Google Gemini 支持多种内置工具,可以以通常的方式绑定到模型。

Google 搜索

详情请参阅 Gemini 文档

Google 地图

某些模型支持使用 Google 地图进行基础。地图基础将 Gemini 的生成能力与 Google 地图的当前、事实位置数据连接起来。这使得能够提供准确、特定地理位置响应的位置感知应用程序。详情请参阅 Gemini 文档
响应将包含来自 Google 地图的位置信息基础元数据。 您可以选择使用 tool_configlat_lng 提供特定的位置上下文。当您希望相对于特定地理点进行基础查询时,这很有用。

URL 上下文

URL 上下文工具使模型能够访问和分析您在提示中提供的 URL 内容。这对于总结网页、从多个来源提取数据或回答有关在线内容的问题等任务很有用。详情和限制请参阅 Gemini 文档

代码执行

详情请参阅 Gemini 文档

计算机使用

Gemini 2.5 Computer Use 模型 (gemini-2.5-computer-use-preview-10-2025) 可以与浏览器环境交互,以自动化 Web 任务,如单击、键入和滚动。
预览模型限制Computer Use 模型处于预览状态,可能会产生意外行为。始终监督自动化任务,避免用于敏感数据或关键操作。安全最佳实践请参阅 Gemini API 文档
您可以配置环境并排除特定的 UI 操作:
高级配置
模型返回用于 UI 操作(如 click_attype_text_atscroll)的函数调用,并带有标准化坐标。您需要在浏览器自动化框架中实现这些操作的实际执行。

安全设置

Gemini 模型具有默认安全设置,可以覆盖。如果您从模型收到大量 'Safety Warnings',可以尝试调整模型的 safety_settings 属性。例如,要关闭危险内容的安全阻止,您可以按如下方式构建您的 LLM:
有关可用类别和阈值的枚举,请参阅 Google 的安全设置类型

上下文缓存

上下文缓存允许您存储和重用内容(例如 PDF、图像)以加快处理速度。cached_content 参数接受通过 Google Generative AI API 创建的缓存名称。
这会缓存单个文件并查询它。
这会使用 Part 缓存两个文件并一起查询它们。
有关上下文缓存的更多信息,请参阅 Gemini API 文档。

响应元数据

从模型响应中访问响应元数据。

API 参考

有关所有功能和配置选项的详细文档,请访问 ChatGoogleGenerativeAI API 参考。