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

概述

集成详情

模型功能

设置

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

安装

凭证

此集成支持两个后端:Gemini 开发者 API 和 Gemini 企业智能体平台。后端根据您的配置自动选择。

后端选择

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

环境变量

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

实例化

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

代理配置

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

自定义端点和头部

使用 base_url 和 additional_headers 作为模型级别的 HTTP 选项,例如通过内部网关路由请求:
要为单个请求传递标头或其他 HTTP 选项,调用模型时提供 http_options:
相同的调用时选项也适用于异步调用:
每个请求的 http_options 可以是字典或 google.genai.types.HttpOptions 对象。请求头字典与模型级别的 additional_headers 合并,且每个请求的请求头值优先。除非在 http_options 中明确覆盖 timeout 或 retry_options,否则模型级别的 timeout 和 max_retries 设置将保持不变。

调用

消息内容形状Gemini 3 系列模型返回内容块列表以捕获 思维签名。使用 .text 获取字符串内容:
Gemini 2.5及之前版本会为.content返回一个普通字符串。

多模态使用

Gemini模型接受多模态输入(文本、图像、音频、视频、PDFs)并支持生成多模态输出。

支持的输入方法

*YouTube URLs 支持在预览中使用视频输入。

文件上传

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

图像输入

使用带有列表内容格式的@[HumanMessage]提供图像输入与文本。
其他支持的图片格式:
  • Google Cloud Storage URI (gs://...)。确保服务账户有访问权限。

PDF 输入

提供 PDF 文件输入以及文本。

音频输入

提供音频文件输入以及文本。

视频输入

提供视频文件输入以及文本。
YouTube视频输入(预览)
  • 仅支持公开视频(不支持私密或未公开列表)
  • 免费套餐:每天最多8小时的YouTube视频

智能体视频理解

智能体视频理解允许模型动态探索视频以查找与提示词相关的内容。
智能体视频理解需要 langchain-google-genai>=4.4.0。
通过Files API上传的嵌入式视频数据也支持智能体处理。

图像生成

某些模型可以内联生成文本和图像。详情请参阅Gemini API文档。
使用image_config控制图像尺寸和质量(参见genai.types.ImageConfig)。可以在实例化时设置(适用于所有调用)或在调用时设置(单次调用覆盖):
默认情况下,图像生成模型可能会同时返回文本和图像(例如*“好的!这是一张…”*)。 您可以通过设置response_modalities参数请求模型仅返回图像:

音频生成

某些模型可以生成音频文件。详情请参阅Gemini API文档。
Gemini企业智能体平台限制音频生成模型目前在Gemini企业智能体平台上处于有限预览阶段,可能需要白名单访问权限。如果您在使用TTS模型与vertexai=True时遇到INVALID_ARGUMENT错误,您的GCP项目可能需要被白名单认证。更多详情,请参阅此Google AI论坛讨论。

工具调用

您可以为模型配备工具进行调用。

结构化输出

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

结构化输出方法

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

结合结构化输出与Google搜索

在使用with_structured_output(method="function_calling")时,不要在同一调用中传递其他工具(如Google搜索)。 要在一个调用中同时获取结构化输出和搜索基础,请使用.bind()与response_mime_type和response_schema,而不是with_structured_output:
这使用Gemini的原生JSON模式进行结构化输出,同时允许使用Google搜索等工具进行基础,所有这些都包含在一个LLM调用中。

Token使用跟踪

从响应元数据中访问Token使用信息。

选择服务层级

服务层级设置了请求计费的价格和性能等级。使用flex为延迟敏感型工作支付较低费用,或使用priority为低延迟支付溢价。当省略该参数时,请求将使用标准层级。
service_tier需要langchain-google-genai>=4.4.0。
在模型上设置层级,或按请求传递:
接受的值是"standard"、"flex"和"priority"。这两个后端的值相同,集成会以每个后端期望的方式发送它:在Gemini开发者API中作为请求体字段,在Gemini企业智能体平台上作为请求头。 必须为项目和模型同时启用层级。不可用的层级会返回400而不是回退到标准层级,因此请求会失败而不是按您未请求的价格计费:
更多信息,请参阅Gemini开发者API指南的Flex和Priority,以及Gemini企业智能体平台的Flex和Priority。

思考支持

某些Gemini模型支持可配置的思考深度。参数取决于模型版本:
thinking_level 是 Gemini 对标准 reasoning_effort 参数的本地名称,两者在构建和调用时都是可互换的别名。如果两者都设置,thinking_level 会优先。查看模型的 profile 以了解其支持的级别和默认值:
reasoning_effort 作为标准参数需要 langchain-google-genai>=4.3.1。

Gemini 2.5 模型: thinking_budget

对于 Gemini 2.5 模型,使用 thinking_budget(一个整数 Token 数量)代替:
  • 设置为 0 以禁用思考(如果支持)
  • 设置为 -1 以启用动态思考(模型决定)
  • 设置为正整数以限制 Token 使用
并非所有模型都允许禁用思考。详情请参阅 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_config 与 lat_lng 提供特定的位置上下文。当你希望相对于特定地理点定位查询时,这很有用。

URL 上下文

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

代码执行

详细内容请参见 Gemini 文档。

计算机使用

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

安全设置

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

上下文缓存

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

响应元数据

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

API 参考

有关所有功能和配置选项的详细文档,请访问 @[ChatGoogleGenerativeAI] API 参考。
官方原文:src/oss/python/integrations/chat/google_generative_ai.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026