LangChain on Vertex AI

借助 LangChain on Vertex AI(预览版),您可以使用 LangChain 开源库构建自定义的生成式 AI 应用,并将 Vertex AI 用于模型、工具和部署。借助 LangChain on Vertex AI(预览版),您可以执行以下操作:

  • 选择要使用的大型语言模型 (LLM)。
  • 定义用于访问外部 API 的工具。
  • 在编排框架中构建用户与系统组件之间的接口。
  • 将框架部署到托管式运行时。

优势

  • 可自定义:利用 LangChain 的标准化接口,可以采用 LangChain on Vertex AI 来构建不同类型的应用。您可以自定义应用的逻辑并整合任何框架,从而提供高度的灵活性。
  • 简化部署:LangChain on Vertex AI 使用与 LangChain 相同的 API 与 LLM 进行交互和构建应用。Reasoning Engine 运行时支持一键部署,可根据您的库生成合规的 API,因此 Vertex AI 上的 LangChain 可简化并加快使用 Vertex AI LLM 的部署。
  • 与 Vertex AI 生态系统集成:Vertex AI 上的 LangChain 的 Reasoning Engine 使用 Vertex AI 的基础设施和预构建容器来帮助您部署 LLM 应用。您可以使用 Vertex AI API 与 Gemini 模型、函数调用扩展程序集成。
  • 安全、隐私且可扩缩:您可以使用单个 SDK 调用,而无需自行管理开发流程。利用 Reasoning Engine 托管运行时,您无需执行应用服务器开发、容器创建以及身份验证、IAM 和扩缩配置等任务。Vertex AI 会处理自动扩缩、区域扩展和容器漏洞。

使用场景

如需通过端到端示例了解 LangChain on Vertex AI,请参阅以下资源:

使用场景 说明 链接
通过连接到公共 API 来构建生成式 AI 应用 货币换算。

创建一个连接到货币兑换应用的函数,使模型能够为诸如“今天欧元兑美元的汇率是多少?”之类的查询提供准确的答案。
Vertex AI SDK for Python 笔记本 - 使用 Reasoning Engine 构建和部署代理简介
设计社区太阳能项目。

确定潜在位置,查询相关政府办公室和供应商,并查看区域和建筑物的卫星图像和太阳能板发电潜力,以找到安装太阳能板的最佳位置。
Vertex AI SDK for Python 笔记本 - 使用 Vertex AI Reasoning Engine 构建和部署 Google 地图 API 代理
通过连接到数据库来构建生成式 AI 应用 与 AlloyDB 和 CloudSQL PostgreSQL 集成。 博文 - 宣布推出适用于 AlloyDB 和 Cloud SQL for PostgreSQL 的 LangChain on Vertex AI

Vertex AI SDK for Python 笔记本 - 将使用 Cloud SQL for PostgreSQL 的 RAG 应用部署到 LangChain on Vertex AI

Vertex AI SDK for Python 笔记本 - 将使用 AlloyDB 的 RAG 应用部署到 LangChain on Vertex AI
使用自然语言查询和理解结构化数据存储区。 Vertex AI SDK for Python 笔记本 - 在 Vertex AI Search 上使用 Vertex AI Reasoning Engine 和 RAG 构建对话式搜索代理
使用自然语言查询和理解图表数据库 博文 - 将 Vertex AI Reasoning Engine 与 LangChain 和 Neo4j 搭配使用的生成式 AI GraphRAG 和 AI 代理
使用自然语言查询和理解矢量存储区 博文 - 使用 MongoDB Atlas 和 Vertex AI Reasoning Engine 简化生成式 AI RAG
使用 OSS 框架构建生成式 AI 应用 使用 OneTwo 开源框架构建和部署代理。 博文 - OneTwo 和 Vertex AI Reasoning Engine:探索 Google Cloud 上的高级 AI 代理开发
使用 LangGraph 开源框架构建和部署代理。 Vertex AI SDK for Python 笔记本 - 使用 Vertex AI Reasoning Engine 构建和部署 LangGraph 应用
调试和优化生成式 AI 应用 使用 OpenTelemetry 和 Cloud Trace 构建和跟踪代理。 Vertex AI SDK for Python 笔记本 - 调试和优化代理:Vertex AI Reasoning Engine 中的跟踪指南

系统组件

使用 OSS LangChain 和 Vertex AI 构建和部署自定义生成式 AI 应用包含四个组件:

组件说明
LLM

当您向自定义应用提交查询时,LLM 会处理查询并提供回答。

您可以选择定义一组与外部 API 通信的工具并将其提供给模型。处理查询时,模型会将某些任务委托给相应的工具。这意味着对基础模型或经过微调的模型进行一次或多次模型调用。

如需了解详情,请参阅模型版本和生命周期

工具

您可以选择定义一组与外部 API(例如数据库)通信的工具并将其提供给模型。处理查询时,模型可以将某些任务委托给相应的工具。

通过 Vertex AI 的托管式运行时进行的部署已经过优化(可根据 Gemini 函数调用使用工具),但支持 LangChain 工具/函数调用。如需详细了解 Gemini 函数调用,请参阅函数调用

编排框架

借助 LangChain on Vertex AI,您可以在 Vertex AI 中使用 LangChain 编排框架。使用 LangChain 来决定您的应用的确定性。

如果您已经在使用 LangChain,则可以使用现有的 LangChain 代码在 Vertex AI 上部署应用。否则,您可以创建自己的应用代码,并在使用 Vertex AI 的 LangChain 模板的编排框架中对其进行构建。

如需了解详情,请参阅开发应用

托管式运行时 通过 LangChain on Vertex AI,您可以将应用部署到 Reasoning Engine 管理的运行时。此运行时是一项 Vertex AI 服务,具有 Vertex AI 集成的所有优势:安全性、隐私性、可观测性和可伸缩性。只需进行 API 调用,即可对应用进行生产化和扩容,快速将经过本地测试的原型转换为企业级部署。如需了解详情,请参阅部署应用

您可以通过多种不同方式开发自定义生成式 AI 应用的原型并进行构建,这些应用通过基于 Gemini 等模型对工具和自定义函数进行分层,从而利用代理功能。当应用迁移到生产环境时,您需要考虑如何部署和管理代理及其底层组件。

LangChain on Vertex AI 组件的目的是帮助您专注于并自定义您最关注的代理功能的各个方面,例如自定义函数、代理行为和模型参数,而 Google 负责部署、伸缩打包和版本。如果您在堆栈中的较低级别工作,则可能需要管理超出您的预期的内容。如果您在堆栈中的较高级别工作,则可能无法获得足够的开发者控制权。

运行时的系统流

当用户进行查询时,定义的代理会将查询的格式设置为 LLM 提示。LLM 会处理提示,并确定其是否要使用任何工具。

如果 LLM 选择使用某个工具,它会生成一个 FunctionCall,其中包含调用该工具应使用的名称和参数。代理使用 FunctionCall 调用工具,并将工具的结果返回给 LLM。如果 LLM 选择不使用任何工具,它将生成由代理中继回用户的内容。

下图演示了运行时的系统流:

运行时的系统流 

创建和部署生成式 AI 应用

构建生成式 AI 应用的工作流如下:

步骤 说明
1. 设置环境 设置 Google 项目并安装最新版本的 Vertex AI SDK for Python。
2. 开发应用 开发可在 Reasoning Engine 上部署的 LangChain 应用。
3. 部署应用 在 Reasoning Engine 上部署应用。
4. 使用应用 查询 Reasoning Engine 以获取响应。
5. 管理已部署的应用 管理和删除已部署到 Reasoning Engine 的应用。
6. (可选)自定义应用模板 为新应用自定义模板。

这些步骤如下图所示:

创建和部署生成式 AI 应用 

后续步骤