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

AI エージェント ツールを外部サービスに接続する

備考

プレビュー

この機能は パブリック プレビュー段階です。

AIエージェントツールをSlack、Googleカレンダー、またはHTTPリクエストを使用してAPIを使用する任意のサービスなどの外部アプリケーションに接続する方法を学びます。エージェントは、外部に接続されたツールを使用して、タスクの自動化、メッセージの送信、およびサードパーティプラットフォームからのデータの取得を行うことができます。

必要条件

Unity Catalog 関数ツールを作成する

HTTP 接続を作成し、正しく動作することを確認したら、接続を使用する Unity Catalog 関数を作成します。次の例では、エージェントが Slack にメッセージを投稿するために使用できる Unity Catalog 関数ツールを作成します。

SQL
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

エージェント コードでツールを作成する

Python を使用して外部サービスに HTTP リクエストを送信するには、databricks-sdk ライブラリの http_request 関数を使用します。この関数は、Unity Catalog 接続を使用して外部サービスに HTTP 要求を送信し、認証を行います。

必要な権限: 接続オブジェクトに対する USE CONNECTION

次の例では、エージェントコード内から外部 HTTP リクエストを作成します。

Python
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 要求メソッド。 例: GETPOSTPUTDELETE
  • path: サービス・リソースを呼び出す base_path の後に連結するパス。
  • json: リクエストと共に送信する JSON 本文。
  • headers: リクエストヘッダーを指定するマップ。

ノートブックの例

次のノートブックは、Slack、OpenAI、Azure AI 検索に接続する AI エージェント ツールの作成を示しています。

Slackメッセージングエージェントツール

Open notebook in new tab

Microsoft Graph API エージェント ツール

Open notebook in new tab

Azure AI Search エージェント ツール

Open notebook in new tab