Agent RuntimeはAzure Databricksでホストされるサーバーレスコンピュート上でエージェントを実行します。 Databricks Apps上でエージェントサーバー(例えば DurableAgentServer)を実行するので、サーバーのプロビジョニングではなくコードをデプロイします。 Agent Runtimeがあなたのフレームワークやエージェントサーバーにどのように適合するかを知りたい方は、「Deploy agents on Azure Databricks」をご覧ください。
エージェントランタイムが提供するもの
-
安定し認証されたエンドポイント:各デプロイメントは
agent-bricks-<name>と名付けられたアプリで、それぞれ独自のURLを持っています。 クライアントは Azure Databricks OAuth トークンを使用して認証されます。 Azure DatabricksにデプロイされたQuery agentsを参照してください。 - エージェント ID: エージェントはアプリのサービス プリンシパルとして動作します。 エージェント の識別性を参照してください。
-
持続的な実行:
DurableAgentServerを使用するエージェントに対して、デプロイメントはランタイムストアをプロビジョニングし、ワーカーの再起動後も実行状態が維持され、中断された実行が回復できるようにします。 - トレース:デプロイでは、プロジェクトが関連付けられている実験にMLflowのトレースを設定します。 トレーシングの概要を参照してください。
- スケーリング: 1〜5個のインスタンス上でエージェントを実行します。 Databricksアプリの水平スケーリングを参照してください。
エージェントID
エージェントのアイデンティティは、そのエージェントが展開されているアプリのサービスプリンシパルです。 エージェントはこの ID を使って Azure Databricks API を呼び出したり、--auth appで追加するツールを実行したりします。
- デプロイすると、
agentbricks deployはサービスプリンシパルにエージェントが使用するメモリ、セッション、実行状態ストアへのアクセス権を与えます。 - エージェントに他のデータやリソースへのアクセスを与えるには、他のアプリと同様にアプリのサービスプリンシパルに必要な権限を付与します。 Databricks アプリでの承認の構成を参照してください。
-
auth = "user"を使うツールは、リクエストを送信したユーザーの権限で動作します。サービスプリンシパルの権限ではありません。 ユーザー認可のリクエストを参照してください。
エージェントをデプロイする
Agent Bricks CLIを使ってエージェントプロジェクトをデプロイする:
agentbricks --profile <profile> deploy my-agent
agentbricks deploy は次の処理を行います。
-
agent.tomlで宣言されたメモリとセッションストアを作成または再利用し、アプリのサービスプリンシパルにアクセス権を与えます。 -
DurableAgentServerを使うエージェントは、デプロイメントのランタイムストアを作成または再利用します。 - トレースを設定します。
- アプリをデプロイします。
エージェントを複数のインスタンスで実行するには、以下の --instances を指定します:
agentbricks --profile <profile> deploy my-agent --instances 2
エージェントが複数のインスタンスで動作する場合、クライアントはセッションIDを X-Routing-Key ヘッダーで送信し、セッション内のすべてのリクエストを同じインスタンスにルーティングできます。
デプロイを管理
| 命令 | 説明 |
|---|---|
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 アプリのログ記録と監視を参照してください。
制限事項
既存のデプロイメントのエージェントサーバーを変更することはできません。 サーバーを切り替えるには、agentbricks init --server で指定したオプションで新しいプロジェクトを作成し、新しい名前でデプロイしてください。