Agent Runtime 在 Azure Databricks 托管的无服务器计算平台上运行你的代理。 它会在 Databricks 应用上运行你的智能体服务器,例如 DurableAgentServer,因此你部署的是代码,而不是预配服务器。 想了解 Agent Runtime 如何与您的框架和代理服务器配合,请参见 Azure Databricks 上的部署代理。
代理运行时所提供的内容
-
一个稳定且经过身份验证的端点:每个部署都是一个带有自身 URL 的
agent-bricks-<name>应用。 客户端使用 Azure Databricks OAuth 令牌进行身份验证。 参见 部署在 Azure Databricks 上的查询代理。 - 代理身份:代理作为应用的服务主体运行。 参见 代理身份。
-
持久化执行:对于使用
DurableAgentServer的代理,部署会配置运行时存储,使运行状态在工作进程重启后仍能保留,并且中断的运行能够恢复。 - 追踪:部署将 MLflow 追踪配置到项目绑定的实验。 详见 追踪概述。
- 缩放:在 1 到 5 个实例上运行一个智能体。 参见 Databricks应用的水平缩放。
代理身份
代理的身份是其部署到的应用的服务主体。 智能体使用该标识调用 Azure Databricks API,并运行你使用 --auth app 添加的工具。
- 部署时,
agentbricks deploy会授予服务主体对代理使用的内存、会话和运行状态存储的访问权限。 - 要让代理访问其他数据和资源,就像对待任何应用一样,授予应用的服务主体所需的权限。 请参阅 Databricks 应用中配置授权。
- 使用
auth = "user"的工具以发送请求的用户的权限运行,而不是以服务主体的权限运行。 参见 请求用户授权。
部署代理
使用 Agent Bricks CLI部署代理项目:
agentbricks --profile <profile> deploy my-agent
agentbricks deploy 执行以下操作:
- 创建或重用在
agent.toml中声明的内存和会话存储,并授予应用服务主体访问它们的权限。 - 对于使用
DurableAgentServer的代理,会创建或重用该部署的 Runtime Store。 - 配置跟踪。
- 部署应用。
要在多个实例上运行代理,需传入 --instances:
agentbricks --profile <profile> deploy my-agent --instances 2
当代理在多个实例上运行时,客户端可以在 X-Routing-Key 标头中发送会话 ID,将会话中的所有请求路由到同一实例。
管理部署
| 命令 | Description |
|---|---|
agentbricks deployments list |
列出你的代理部署情况。 |
agentbricks deployments get <app-name> |
显示部署的URL、状态和描述。 |
agentbricks deployments logs <app-name> |
显示某个部署的日志。 |
agentbricks deployments start <app-name> 和 agentbricks deployments stop <app-name> |
开始或停止部署。 |
agentbricks deployments delete <app-name> |
删除部署。 |
因为每次部署都是一个应用,你也可以在 Databricks Apps 中查看和监控它。 请参阅 Databricks 应用的日志记录和监视。
Limitations
你不能更改现有部署的代理服务器。 要切换服务器,使用你想要的 agentbricks init --server 选项创建一个新项目,并部署在新名称下。