重要
この機能は、パブリック プレビューにあります。
HTTP 要求を使用して 、AI エージェント ツール を Slack、Google Calendar、または API を使用して任意のサービスなどの外部アプリケーションに接続する方法について説明します。 エージェントは、外部に接続されたツールを使用して、タスクの自動化、メッセージの送信、サードパーティプラットフォームからのデータの取得を行うことができます。
必要条件
- Unity カタログ HTTP 接続を作成します。 外部 HTTP サービスへの接続を参照してください。
Unity カタログ関数ツールを作成する
HTTP 接続を作成し、正常に動作することをテストしたら、接続を使用する Unity カタログ関数を作成します。 次の例では、エージェントが Slack にメッセージを投稿するために使用できる Unity カタログ関数ツールを作成します。
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)」をご覧ください。
エージェント コードでツールを作成する
Python を使用して外部サービスに HTTP 要求を送信するには、 ライブラリの databricks-sdk
関数を使用します。 この関数は、Unity カタログ接続を使用して認証を行うために、外部サービスに 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
: 要求ヘッダーを指定するマップ。
ノートブックの例
次のノートブックでは、Slack、OpenAI、Azure AI 検索に接続する AI エージェント ツールを作成する方法を示します。
Slack メッセージング エージェント ツール
ノートブック を取得する
Microsoft Graph API エージェント ツール
ノートブック を取得する
Azure AI Search エージェント ツール
ノートブック を取得する