メインコンテンツまでスキップ

Unity Catalog のエージェントサービス

備考

ベータ版

この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。

エージェントサービスは、すべての AI エージェントの拠点を Unity Catalog に集約します。どのチームのエージェントでも一か所に登録するほか、テーブル、モデル、関数とともに参照および検出でき、他の Unity Catalog アセットを保護するのと同じ付与で権限を設定できます。

Catalog Explorerでエージェントを検出します

登録されると、エージェントサービスは、作成されたスキーマの下のカタログエクスプローラーに表示されます。エージェントサービスにREAD_METADATAを持つ誰でも、同じスキーマ内のテーブル、モデル、および関数とともにそれを閲覧できます。エージェントサービスを選択して、その名前、説明、接続、および現在の権限を表示します。

エージェントサービスを作成または更新する際に、comment フィールドを使用して説明を追加してください。この説明はカタログエクスプローラーに表示され、チームメイトがエージェントを閲覧する際に、その機能内容を理解するのに役立ちます。

これにより、組織は、どのようなエージェントが存在し、誰がそれらを所有し、誰がアクセス権を持っているかを、別々のシステムやドキュメントで追跡する必要なく、単一の場所で確認できます。

要件

  • エージェントサービスを 作成 するには、親カタログとスキーマに対してUSE CATALOGUSE SCHEMAの権限、スキーマに対してCREATE SERVICEの権限、およびエージェントサービスが参照する接続に対してUSE CONNECTIONの権限を持っている必要があります。
  • エージェントサービスに対する権限を 管理 するには、エージェントサービスに対してMANAGE_ACCESS_CONTROLの権限を持っている必要があります。

エージェントサービスを作成する

エージェントサービスは、エージェントのホストと資格情報を保持する既存のUnity Catalog接続を参照します。エージェントサービスを作成する前に、接続を作成します。

次の例では、main.defaultスキーマにsupport_agentという名前のエージェントサービスを作成します。

Bash
databricks api post \
"/api/2.1/unity-catalog/agent-services?parent=schemas/main.default&agent_service_id=support_agent" \
--json '{
"agent_service_type": "AGENT_SERVICE_TYPE_EXTERNAL",
"comment": "Support agent for the customer team",
"config": {
"connection": {
"name": "connections/main.default.my_agent_connection"
},
"base_path": "/v1/chat",
"system_prompt": "You are a helpful support assistant."
}
}'

応答にはエージェントサービスのリソース名が含まれます:

JSON
{
"name": "agent-services/main.default.support_agent",
"agent_service_type": "AGENT_SERVICE_TYPE_EXTERNAL",
"created_by": "you@company.com",
"config": {
"connection": { "name": "main.default.my_agent_connection" },
"base_path": "/v1/chat",
"system_prompt": "You are a helpful support assistant."
}
}

エージェントサービスの取得および一覧表示

完全な名前で単一のエージェントサービスを取得します。

Bash
databricks api get "/api/2.1/unity-catalog/agent-services/main.default.support_agent"

スキーマ内のすべてのエージェントサービスをリストする:

Bash
databricks api get "/api/2.1/unity-catalog/agent-services?parent=schemas/main.default"

メタストア全体でエージェントサービスをリストするには、スキーマフィルターを省略します:

Bash
databricks api get "/api/2.1/unity-catalog/agent-services"

エージェントサービスを更新

他を上書きせずに特定のフィールドを更新するには、PATCH リクエストを使用し、変更するフィールドを指定します。次の例では、他のすべてのフィールドは変更せずにシステムプロンプトを更新します。

Bash
databricks api patch \
"/api/2.1/unity-catalog/agent-services/main.default.support_agent?update_mask=config.system_prompt" \
--json '{ "config": { "system_prompt": "You are a concise support assistant." } }'

更新できるフィールド:commentconfig.system_promptconfig.base_path

アクセス権を付与

他の Unity Catalog セキュリティ保護可能なオブジェクトを保護するのと同じ付与モデルを使用して、エージェントサービスにアクセス許可を設定します。ユーザーとサービスプリンシパルに EXECUTE を付与する:

Bash
databricks api patch \
"/api/2.1/unity-catalog/permissions/AGENT_SERVICE/main.default.support_agent" \
--json '{
"changes": [
{ "principal": "teammate@company.com", "add": ["EXECUTE"] }
]
}'

現在の付与を検査:

Bash
databricks api get "/api/2.1/unity-catalog/permissions/AGENT_SERVICE/main.default.support_agent"

アクセスを取り消す:

Bash
databricks api patch \
"/api/2.1/unity-catalog/permissions/AGENT_SERVICE/main.default.support_agent" \
--json '{
"changes": [
{ "principal": "teammate@company.com", "remove": ["EXECUTE"] }
]
}'

割り当て可能な権限:EXECUTEREAD_METADATAMANAGEMANAGE_ACCESS_CONTROLALL_PRIVILEGES

エージェントサービスを削除します。

Bash
databricks api delete "/api/2.1/unity-catalog/agent-services/main.default.support_agent"

制限事項

ベータ版期間中は、次の制限が適用されます。

  • Runtime の呼び出しは利用できません。 登録済みのエージェントサービスを通じてエージェントを呼び出すことはできません。登録と権限管理は現在利用可能です。
  • **サービスポリシーとレート制限**はAPIではサポートされていません。これらのフィールドを設定しようとすると、エラーが返されます。
  • エージェント サービス用の SQL DDL は利用できません。REST API を使用してエージェント サービスを作成および管理します。
  • full_name およびownerフィールドは、このリリースのGETレスポンスでnullを返します。
  • Unity Catalog グローバル検索では、エージェントサービスは表示されません。

次のステップ