Skip to main content
通过 Gemini Developer API 或 Vertex 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 API 和 Vertex AI。后端根据您的配置自动选择。

后端选择

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

环境变量

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

实例化

现在我们可以实例化我们的模型对象并生成响应:
Gemini 3.0+ 模型的 Temperature如果未显式设置 temperature 且模型为 Gemini 3.0 或更高版本,它将自动设置为 1.0,而不是 Google GenAI API 最佳实践中的默认值 0.7。在 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 搜索)。 要在单个调用中获得结构化输出 和 搜索 grounding,请使用 .bind() 配合 response_mime_type 和 response_schema,而不是 with_structured_output:
这使用 Gemini 的原生 JSON schema 模式来结构化输出,同时允许像 Google 搜索这样的工具进行 grounding——全部在一个 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 地图进行 grounding。地图 grounding 将 Gemini 的生成能力与 Google 地图当前的、事实性的位置数据连接起来。这使得能够提供准确、地理位置特定响应的定位感知应用程序。详见 Gemini 文档。
响应将包含来自 Google 地图的位置信息的 grounding 元数据。 您可以使用 tool_config 配合 lat_lng 提供特定的位置上下文。当您希望相对于特定地理点 grounding 查询时,这很有用。

URL 上下文

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

代码执行

详见 Gemini 文档。

计算机使用

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

安全设置

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

上下文缓存

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

响应元数据

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

API 参考

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