请注意针对 Reasoning Engine API 的以下限制:
- Reasoning Engine API 仅支持部署 Python 代码。
- 仅
us-central1
区域支持 Reasoning Engine API。
准备工作
在运行本教程之前,请务必遵循以下步骤:
创建 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”。
最佳做法
- 固定软件包版本(适用于可重现的 build)。需要跟踪的常见软件包包括:
google-cloud-aiplatform
、cloudpickle
、langchain
、langchain-core
、langchain-google-vertexai
和pydantic
。 - 尽可能减少应用中的依赖项数量。这可以减少更新依赖项时发生的破坏性更改的数量,并让您可以更轻松地随着时间的推移更新应用以获取新功能。