AI エージェント ツールを外部サービスに接続する
プレビュー
この機能は パブリック プレビュー段階です。
AIエージェントツールをSlack、Googleカレンダー、またはHTTPリクエストを使用してAPIを使用する任意のサービスなどの外部アプリケーションに接続する方法を学びます。エージェントは、外部に接続されたツールを使用して、タスクの自動化、メッセージの送信、およびサードパーティプラットフォームからのデータの取得を行うことができます。
必要条件
- 外部アプリケーション用の Unity Catalog HTTP 接続を作成します。Unity Catalog接続は、安全で統制された認証情報管理を提供し、複数の標準規格をサポートします。 OAuth 2.0 ユーザー対マシン認証およびマシン対マシン認証を含む認証方法。
外部MCPサーバーのツールを使用する
接続先の外部サービスで MCP サーバーが利用できる場合、エージェントを接続する最も簡単な方法は外部 MCP サーバーを使用することです。このアプローチにより、次のことが実現されます。
- 自動ツール検出 : MCP サーバーは、標準APIs使用して利用可能なすべてのツールを公開します。
- 簡素化された統合 : 標準の SDK を使用してツールを接続および実行します。
- メンテナンスの軽減 : ツール定義は外部の MCP サーバーによって集中管理されます。
詳細な手順については、 「外部 MCP サーバーの使用」を参照してください。
エージェント コードでツールを作成する
Python を使用して外部サービスに HTTP リクエストを送信するには、databricks-sdk ライブラリの http_request 関数を使用します。この関数は、Unity Catalog 接続を使用して外部サービスに HTTP 要求を送信し、認証を行います。
必要な権限: 接続オブジェクトに対する USE CONNECTION 。
次の例では、エージェントコード内から外部 HTTP リクエストを作成します。
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ExternalFunctionRequestHttpMethod
WorkspaceClient().serving_endpoints.http_request(
  conn="connection_name",
  method=ExternalFunctionRequestHttpMethod.POST,
  path="/api/v1/resource",
  json={"key": "value"},
  headers={"extra_header_key": "extra_header_value"},
)
- conn: ホスト、ポート、base_path、およびアクセス資格情報を指定する接続オブジェクト。
- method: 呼び出しを行うために使用される HTTP 要求メソッド。 例:- GET、- POST、- PUT、- DELETE
- path: サービス・リソースを呼び出す- base_pathの後に連結するパス。
- json: リクエストと共に送信する JSON 本文。
- headers: リクエストヘッダーを指定するマップ。
Unity Catalog 関数ツールを作成する
http_requestを使用した SQL アクセスは、ユーザーからマシンごとの接続タイプではブロックされます。代わりに Python Databricks SDK を使用してください。
HTTP 接続を作成し、正しく動作することを確認したら、接続を使用する Unity Catalog 関数を作成します。次の例では、エージェントが Slack にメッセージを投稿するために使用できる Unity Catalog 関数ツールを作成します。
CREATE OR REPLACE FUNCTION main.default.slack_post_message(
  text STRING COMMENT 'message content'
)
RETURNS STRING
COMMENT 'Sends a Slack message by passing in the message and returns the response received from the external service.'
RETURN (http_request(
  conn => 'test_sql_slack',
  method => 'POST',
  path => '/api/chat.postMessage',
  json => to_json(named_struct(
    'channel', "C032G2DAH3",
    'text', text
  ))
)).text
CREATE FUNCTION (SQL と Python)を参照してください。
ノートブックの例
エージェントを Slack に接続する
「 AI エージェントを Slack に接続する」を参照してください。
外部接続ツール
次のノートブックは、Slack、OpenAI、Azure AI 検索に接続する AI エージェント ツールの作成を示しています。
Slackメッセージングエージェントツール
Microsoft Graph API エージェント ツール
Azure AI Search エージェント ツール
制限事項
- Private Link を使用した VPC 内のリソースへのプライベート接続は、外部 MCP 接続ではサポートされていません。AI エージェントが VPC 内のリソースに接続する必要がある場合は、サポート チームに連絡してください。