ChatGoogle 聊天模型。有关所有 ChatGoogle 功能和配置的详细文档,请前往 API 参考。
概述
集成详情
模型功能
有关如何使用特定功能的指南,请参阅下表标题中的链接。
请注意,虽然支持对数概率,但 Gemini 对其使用有相当严格的限制。
设置
通过 AI Studio 获取凭据(API 密钥)
要通过 Google AI Studio(有时称为生成式 AI API)使用该模型,你需要一个 API 密钥。你可以从 Google AI Studio 获取一个。 获得 API 密钥后,你可以将其设置为环境变量:通过 Vertex AI 快速模式获取凭据(API 密钥)
Vertex AI 还支持快速模式,允许你使用 API 密钥进行身份验证。你可以从 Google Cloud 控制台获取 Vertex AI API 密钥。 获得 API 密钥后,你可以将其设置为环境变量:gcp。
通过 Vertex AI 获取凭据(OAuth 应用默认凭据 / ADC)
对于 Google Cloud 上的生产环境,建议使用应用默认凭据 (ADC)。这在 Node.js 环境中受支持。 如果你在本地机器上运行,可以通过安装 Google Cloud SDK 并运行以下命令来设置 ADC:GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为你的服务账号密钥文件的路径:
通过 Vertex AI 获取凭据(OAuth 保存的凭据)
如果你在 Web 环境中运行或希望直接提供凭据,可以使用GOOGLE_CLOUD_CREDENTIALS 环境变量。这应包含你的服务账号密钥文件的内容(而不是路径)。
credentials 参数在代码中直接提供这些凭据。
追踪
如果你想获得模型调用的自动追踪,也可以通过取消注释以下内容来设置你的 LangSmith API 密钥:安装
LangChainChatGoogle 集成位于 @langchain/google 包中:
实例化
导入路径根据你是在 Node.js 环境还是 Web/Edge 环境中运行而有所不同。- 如果你提供
apiKey(或设置GOOGLE_API_KEY),则默认使用 Google AI。 - 如果你提供
credentials(或在 Node 中设置GOOGLE_APPLICATION_CREDENTIALS/GOOGLE_CLOUD_CREDENTIALS),则默认使用 Vertex AI。
Google AI (AI Studio)
Vertex AI
Vertex AI 快速模式
要使用带有 API 密钥的 Vertex AI(快速模式),你必须显式设置platformType。
模型配置最佳实践
虽然ChatGoogle 支持标准模型参数,如 temperature、topP 和 topK,但使用 Gemini 模型的最佳实践是将这些参数保留为默认值。这些模型围绕这些默认值进行了高度调优。
如果你想控制模型的“随机性”或“创造性”,建议在提示或系统提示中使用特定指令(例如,“要有创意”、“给出简洁的事实答案”),而不是调整温度。
调用
响应元数据
AIMessage 响应包含有关生成的元数据,包括令牌使用量和对数概率。
令牌使用量
usage_metadata 属性允许你检查令牌计数。
对数概率
如果你在模型配置中启用logprobs,它们将在 response_metadata 中可用。
安全设置
默认情况下,当前版本的 Gemini 安全设置是关闭的。 如果你想为各种类别启用安全设置,可以使用模型的safetySettings 属性。
结构化输出
你可以使用withStructuredOutput 方法从模型获取结构化的 JSON 输出。
工具调用
ChatGoogle 支持标准的 LangChain 工具调用 以及 Gemini 特有的“专用工具”(如代码执行和接地)。
标准工具
你可以使用使用 Zod 模式定义的标准 LangChain 工具。专用工具
Gemini 提供了几个用于代码执行和接地的内置工具。代码执行
Gemini 模型支持代码执行,允许模型生成并运行 Python 代码来解决复杂问题。使用 Google 搜索进行接地
你可以使用googleSearch 工具通过 Google 搜索来接地响应。这对于有关时事或特定事实的问题很有用。
googleSearchRetrieval 工具是为了向后兼容而保留的,但推荐使用 googleSearch。使用 URL 检索进行接地
你也可以使用特定的 URL 来接地响应。使用数据存储进行接地
如果你使用的是 Vertex AI(platformType: "gcp"),你可以使用 Vertex AI Search 数据存储来接地响应。
上下文缓存
默认情况下,Gemini 模型会进行隐式上下文缓存。如果你发送给 Gemini 的历史记录开头与 Gemini 缓存中的上下文完全匹配,它将减少该请求的令牌成本。 你也可以显式地将一些内容传递给模型一次,缓存输入令牌,然后在后续请求中引用缓存的令牌以减少成本和延迟。LangChain 不支持创建这种显式缓存,但如果你已经创建了缓存,可以在调用中引用它。多模态请求
ChatGoogle 模型支持多模态请求,允许你随文本一起发送图像、音频和视频。你可以使用消息中的 contentBlocks 字段以结构化方式提供这些输入。
图像
音频
视频
推理 / 思考
Google 的 Gemini 2.5 和 Gemini 3 模型支持“思考”或“推理”步骤。即使你没有显式配置,这些模型也可能执行推理,但只有当你显式设置推理/思考的程度值时,库才会返回推理摘要(思考块)。 本库提供了模型之间的兼容性,允许你使用统一的参数:-
maxReasoningTokens(或thinkingBudget):指定用于推理的最大令牌数。0:关闭推理(如果支持)。-1:使用模型的默认值。> 0:设置特定的令牌预算。
-
reasoningEffort(或thinkingLevel):设置相对努力程度。- 值:
"minimal"、"low"、"medium"、"high"。
- 值:
思考块还包含一个
reasoningContentBlock 字段。这包含基于 Gemini 发送的底层部分的 ContentBlock。虽然这通常是一个文本块,但对于像 Nano Banana Pro 这样的多模态模型,它可能是一个图像或其他媒体块。使用 Nano Banana 和 Nano Banana Pro 生成图像
要生成图像,你需要使用支持该功能的模型(如gemini-2.5-flash-image)并将 responseModalities 配置为包含 “IMAGE”。
语音生成 (TTS)
一些 Gemini 模型支持生成语音(音频输出)。要启用此功能,请将responseModalities 配置为包含 “AUDIO” 并提供 speechConfig。
speechConfig 可以是一个完整的 Gemini 语音配置对象,但在大多数情况下,你只需要提供一个包含预构建语音名称的字符串。
许多模型以原始 PCM 格式(audio/L16)返回音频,这需要 WAV 头才能被大多数媒体播放器播放。
多说话人 TTS
你还可以为单个请求配置多个说话人。这对于让 Gemini 朗读脚本很有用。为此,简化的speechConfig 要求你为每个代表语音的预定义 name 分配一个 speaker,然后在脚本中使用该说话人。
API 参考
有关所有ChatGoogle 功能和配置的详细文档,请前往 API 参考。
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

