代理运行时

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 执行以下操作:

  1. 创建或重用在 agent.toml 中声明的内存和会话存储,并授予应用服务主体访问它们的权限。
  2. 对于使用 DurableAgentServer 的代理,会创建或重用该部署的 Runtime Store。
  3. 配置跟踪。
  4. 部署应用。

要在多个实例上运行代理,需传入 --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 选项创建一个新项目,并部署在新名称下。

其他资源