部署应用

请注意针对 Reasoning Engine API 的以下限制:

  • Reasoning Engine API 仅支持部署 Python 代码。
  • us-central1 区域支持 Reasoning Engine API。

准备工作

在运行本教程之前,请务必遵循以下步骤:

  1. 设置您的环境
  2. 开发应用

创建 ReasoningEngine 实例

如需在 Vertex AI 上部署应用,请使用 ReasoningEngine.create 并将对象作为参数传入。如需为应用引入软件包依赖项,请使用以下参数:

  • requirements:外部 PyPI 软件包依赖项列表。每行必须是单个字符串。如需了解详情,请参阅要求文件格式
  • extra_packages:内部软件包依赖项列表。这些软件包依赖项是与应用所需的本地 Python 软件包相对应的本地文件或目录。

以下代码演示了如何部署应用:

remote_app = reasoning_engines.ReasoningEngine.create(
    reasoning_engines.LangchainAgent(
        model=model,
        tools=[get_exchange_rate],
        model_kwargs=model_kwargs,
    ),
    requirements=[
        "google-cloud-aiplatform[reasoningengine,langchain]",
    ],
    display_name="DISPLAY_NAME",  # Optional.
)
remote_app

应用部署需要几分钟时间才能运行。它会在后端构建容器并启动 HTTP 服务器。部署延迟时间取决于安装所需软件包所需的总时间。

部署后,remote_app 对应于在 Vertex AI 上运行的 reasoning_engines.LangchainAgent 的实例,您可以查询或删除它们。它独立于 reasoning_engines.LangchainAgent本地实例

每个已部署的应用都有一个唯一标识符。运行以下命令以获取应用的 resource_name 标识符:

remote_app.resource_name

resource_name 采用以下格式:“projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID”。

最佳做法

  1. 固定软件包版本(适用于可重现的 build)。需要跟踪的常见软件包包括:google-cloud-aiplatformcloudpicklelangchainlangchain-corelangchain-google-vertexaipydantic
  2. 尽可能减少应用中的依赖项数量。这可以减少更新依赖项时发生的破坏性更改的数量,并让您可以更轻松地随着时间的推移更新应用以获取新功能。

后续步骤