Agent Runtime 會讓你的代理程式在 Azure Databricks 託管的無伺服器運算上執行。 它會在 Databricks Apps 上執行你的代理伺服器,例如 DurableAgentServer,因此你部署的是程式碼,而不是配置伺服器。 想了解 Agent Runtime 如何與你的框架及代理伺服器相契合,請參閱 在 Azure Databricks 上部署代理程式。
Agent Runtime 提供的服務
-
一個穩定且經過認證的端點:每個部署都是一個名為
agent-bricks-<name>的應用程式,並擁有自己的 URL。 用戶端使用 Azure Databricks OAuth 權杖進行驗證。 請參閱 部署在 Azure Databricks 上的查詢代理程式。 - 代理身分:代理作為應用程式的服務主體帳戶執行。 參見 代理身份。
-
持久執行:對於使用
DurableAgentServer的代理程式,部署會配置執行階段儲存庫,使執行狀態在工作者重新啟動後仍能保留,且中斷的執行可恢復。 - 追蹤:部署會將 MLflow 追蹤設定為專案所繫結的實驗。 請參閱 追蹤概述。
- 擴充:在 1 到 5 個實例上執行一個代理程式。 請參見 Databricks 應用程式的水平縮放。
代理人身份
代理的身份是它部署到的應用程式的服務主體。 代理程式會利用這個身分來呼叫 Azure Databricks API,並執行你使用 --auth app 新增的工具。
- 部署時,
agentbricks deploy會授權服務主體存取代理所使用的記憶體、會話和執行狀態儲存。 - 要讓代理程式存取其他資料和資源,請像對待任何應用程式一樣,授予應用程式的服務主體所需的權限。 請參閱 在 Databricks 應用程式中設定授權。
- 使用
auth = "user"的工具會以傳送請求的使用者權限執行,而非以服務主體的權限執行。 請參見 Request-user authorization。
部署代理程式
使用 Agent Bricks CLI 部署代理專案:
agentbricks --profile <profile> deploy my-agent
agentbricks deploy 執行下列動作:
- 建立或重用在
agent.toml中宣告的記憶體與工作階段儲存體,並授予應用程式的服務主體存取這些儲存體的權限。 - 對於使用
DurableAgentServer的代理,則建立或重用部署的執行時儲存庫。 - 設定追蹤。
- 部署應用程式。
若要在多個實例上執行代理,請傳遞 --instances:
agentbricks --profile <profile> deploy my-agent --instances 2
當代理在多個實例上運行時,客戶端可以在 X-Routing-Key 標頭中傳送會話 ID,將會話中的所有請求導向同一實例。
管理部署
| Command | Description |
|---|---|
agentbricks deployments list |
列出你的代理程式部署。 |
agentbricks deployments get <app-name> |
顯示部署的網址、狀態和描述。 |
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 選項的新專案,並以新名稱部署。