Gemini 企业智能体平台整合与兼容性自
langchain-google-genai 4.0.0 版本起,此包使用整合的 google-genai SDK,而不是传统的 google-ai-generativelanguage SDK。此迁移支持通过 Gemini 开发者 API 和 Gemini API 在 Gemini 企业智能体平台上访问 Gemini 模型,取代了 langchain-google-vertexai 中的一些类,例如 ChatVertexAI。阅读完整的 公告和迁移指南。概述
集成详情
模型功能
设置
要访问 Google AI 模型,您需要创建一个 Google 账户,获取 Google AI API 密钥,并安装langchain-google-genai 集成包。
安装
凭证
此集成支持两个后端:Gemini 开发者 API 和 Gemini 企业智能体平台。后端根据您的配置自动选择。后端选择
后端按以下方式确定:- 如果
GOOGLE_GENAI_USE_VERTEXAI环境变量被设置,则使用该值 - 如果
credentials参数被提供,则使用 Gemini 企业智能体平台 - 如果
project参数被提供,则使用 Gemini 企业智能体平台 - 否则,使用 Gemini 开发者 API
vertexai=True 或 vertexai=False 以覆盖自动检测。
- Gemini Developer API
- Gemini Enterprise Agent Platform with API key
- Gemini Enterprise Agent Platform with credentials
使用 API 密钥的快速设置推荐给个人开发者/新用户。转到 Google AI Studio 生成 API 密钥:集成首先检查
GOOGLE_API_KEY,然后 GEMINI_API_KEY 作为后备。环境变量
要启用模型调用的自动跟踪,请设置您的 LangSmith API 密钥:
实例化
现在我们可以实例化我们的模型对象并生成响应:- Gemini Developer API
- Gemini Enterprise Agent Platform
Gemini 3.0+ 模型的温度如果
temperature 没有明确设置,并且模型是 Gemini 3.0 或更高版本,它将根据 Google GenAI API 的最佳实践自动设置为 1.0,而不是默认的 0.7。使用 0.7 与 Gemini 3.0+ 一起可能导致无限循环、推理性能下降以及复杂任务的失败。ChatGoogleGenerativeAI] API 参考,以获取所有可用模型参数的完整列表。
代理配置
如果你需要使用代理,请在初始化之前设置这些环境变量:client_args 参数:
自定义端点和头部
使用base_url 和 additional_headers 作为模型级别的 HTTP 选项,例如通过内部网关路由请求:
http_options:
http_options 可以是字典或 google.genai.types.HttpOptions 对象。请求头字典与模型级别的 additional_headers 合并,且每个请求的请求头值优先。除非在 http_options 中明确覆盖 timeout 或 retry_options,否则模型级别的 timeout 和 max_retries 设置将保持不变。
调用
多模态使用
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。图像生成
某些模型可以内联生成文本和图像。详情请参阅Gemini API文档。image_config控制图像尺寸和质量(参见genai.types.ImageConfig)。可以在实例化时设置(适用于所有调用)或在调用时设置(单次调用覆盖):
response_modalities参数请求模型仅返回图像:
音频生成
某些模型可以生成音频文件。详情请参阅Gemini API文档。工具调用
您可以为模型配备工具进行调用。结构化输出
强制模型以特定结构响应。更多信息请参阅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:
Token使用跟踪
从响应元数据中访问Token使用信息。选择服务层级
服务层级设置了请求计费的价格和性能等级。使用flex为延迟敏感型工作支付较低费用,或使用priority为低延迟支付溢价。当省略该参数时,请求将使用标准层级。
service_tier需要langchain-google-genai>=4.4.0。"standard"、"flex"和"priority"。这两个后端的值相同,集成会以每个后端期望的方式发送它:在Gemini开发者API中作为请求体字段,在Gemini企业智能体平台上作为请求头。
必须为项目和模型同时启用层级。不可用的层级会返回400而不是回退到标准层级,因此请求会失败而不是按您未请求的价格计费:
思考支持
某些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 使用
查看模型思考过程
要查看思考模型的推理过程,设置include_thoughts=True:
思考签名
思考签名 是模型推理的加密表示。它们使 Gemini 能够在多轮对话中保持思考上下文,因为 API 是无状态的。如果工具调用响应中没有返回思考签名,Gemini 3 可能会引发 4xx 错误。升级到
langchain-google-genai >= 3.1.0 以确保正确处理此问题。AIMessage 响应中:
- 文本块:
extras.signature在内容块内 - 工具调用:
additional_kwargs["__gemini_function_call_thought_signatures__"]
AIMessage 返回给模型以保留签名。当你将 AIMessage 添加到消息列表时(如上 工具调用 示例所示),这会自动发生。
内置工具
Google Gemini 支持多种内置工具,通常可以按常规方式绑定到模型。Google 搜索
详情请参阅 Gemini 文档。Google 地图
某些模型支持使用 Google 地图进行定位。地图定位将 Gemini 的生成能力与 Google 地图当前的、事实性的位置数据连接起来。这使位置感知应用程序能够提供准确、具有地理特定性的响应。详情请参阅 Gemini 文档。tool_config 与 lat_lng 提供特定的位置上下文。当你希望相对于特定地理点定位查询时,这很有用。
URL 上下文
URL 上下文工具使模型能够访问和分析你在提示词中提供的 URL 内容。这对于总结网页、从多个来源提取数据或回答有关在线内容的问题等任务很有用。详情和限制请参阅 Gemini 文档。代码执行
详细内容请参见 Gemini 文档。计算机使用
Gemini 2.5 计算机使用模型(gemini-2.5-computer-use-preview-10-2025)可以与浏览器环境交互,自动执行点击、输入和滚动等网页任务。
Advanced configuration
click_at、type_text_at、scroll)的标准化坐标函数调用。您需要在浏览器自动化框架中实现这些操作的执行。
安全设置
Gemini 模型具有默认安全设置,可以覆盖。如果您收到大量'Safety Warnings',可以尝试调整模型的 safety_settings 属性。例如,要关闭危险内容的阻止,您可以按以下方式构建您的 LLM:
上下文缓存
上下文缓存允许您存储和重用内容(例如 PDF 文件、图像),以加快处理速度。cached_content 参数接受通过 Google Generative AI API 创建的缓存名称。
Single file example
Single file example
这会缓存单个文件并查询它。
Multiple files example
Multiple files example
这会使用
Part 缓存两个文件并一起查询它们。响应元数据
从模型响应中访问响应元数据。API 参考
有关所有功能和配置选项的详细文档,请访问 @[ChatGoogleGenerativeAI] API 参考。
官方原文:src/oss/python/integrations/chat/google_generative_ai.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。