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 オプションを指定して新しいプロジェクトを作成し、新しい名前でデプロイしてください。