Google Vertex 是一项服务,它暴露了 Google Cloud 中所有可用的基础模型,例如 gemini-2.5-pro、gemini-2.5-flash 等。 它还提供了一些非 Google 模型,例如 Anthropic 的 Claude。 本文档将帮助你开始使用 ChatVertexAI 聊天模型。有关所有 ChatVertexAI 功能和配置的详细文档,请前往 API 参考。
此库将被弃用此库将被 ChatGoogle 库取代。 新的实现应使用 ChatGoogle 库, 现有的实现应考虑迁移。

概览

集成详情

模型功能

有关如何使用特定功能的指南,请参阅下表标题中的链接。 请注意,虽然支持 logprobs,但 Gemini 对其的使用有相当严格的限制。

设置

LangChain.js 支持两种不同的身份验证方法,具体取决于你是在 Node.js 环境还是 Web 环境中运行。它还支持使用任一包的 Vertex AI Express Mode 所使用的身份验证方法。 要访问 ChatVertexAI 模型,你需要在你的 Google Cloud Platform (GCP) 帐户中设置 Google VertexAI,保存凭据文件,并安装 @langchain/google-vertexai 集成包。在 Node.js 上,该包使用 @langchain/google-gauth 进行身份验证(你无需单独安装它)。

凭据

前往你的 GCP 帐户 并生成一个凭据文件。完成后,设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量:
或者,在你的本地机器上,你可以运行 gcloud auth application-default login 来使用应用默认凭据。 如果在 Web 环境中运行,请安装 @langchain/google-vertexai-web 包(该包使用 @langchain/google-webauth 进行身份验证)。在 GOOGLE_WEB_CREDENTIALS 中设置服务帐户 JSON:
也支持 GOOGLE_VERTEX_AI_WEB_CREDENTIALS,但已弃用。 如果你正在使用 Vertex AI Express Mode,你可以安装 @langchain/google-vertexai 或 @langchain/google-vertexai-web 包。 然后,你可以前往 Express Mode API 密钥页面,并在 GOOGLE_API_KEY 环境变量中设置你的 API 密钥:
如果你想对模型调用进行自动追踪,你也可以通过取消注释下面的内容来设置你的 LangSmith API 密钥:

安装

LangChain 的 ChatVertexAI 集成位于 @langchain/google-vertexai 包中:
或者,如果在 Vercel Edge 函数 等 Web 环境中使用:

实例化

现在我们可以实例化我们的模型对象并生成聊天补全:

调用

使用 Google 搜索检索进行工具调用

可以使用 Google 搜索工具调用模型,你可以利用它来基于真实世界信息进行接地内容生成,从而减少幻觉。 gemini-2.0-flash-exp 当前不支持接地。 你可以选择使用 Google 搜索或使用自定义数据存储进行接地。以下是两种方式的示例:

Google 搜索检索

使用 Google 搜索的接地示例:

带数据存储的 Google 搜索检索

首先,设置你的数据存储(这是一个示例数据存储的架构): 然后,在下面提供的示例中使用此数据存储: (请注意,你需要使用你自己的 projectId 和 datastoreId 变量)
你现在应该获得基于你提供的数据存储中数据的结果。

上下文缓存

Vertex AI 提供上下文缓存功能,通过跨多个 API 请求存储和重用大段消息内容,有助于优化成本。当你有冗长的对话历史记录或消息片段在交互中频繁出现时,这尤其有用。 要使用此功能,请首先按照此官方指南创建上下文缓存。 创建缓存后,你可以按如下方式将其 ID 作为运行时参数传递:
你也可以将此字段直接绑定到模型实例:
请注意,并非所有模型当前都支持上下文缓存。

API 参考

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