重要说明
此功能目前以公共预览版提供。
了解如何使用 HTTP 请求将 AI 代理工具 连接到外部应用程序,如 Slack、Google Calendar 或任何具有 API 的服务。 代理可以使用外部连接的工具自动执行任务、发送消息以及从第三方平台检索数据。
要求
- 创建 Unity 目录 HTTP 连接。 请参阅 “连接到外部 HTTP 服务”。
创建 Unity Catalog 函数工具
创建 HTTP 连接并测试其正常运行后,请创建使用连接的 Unity 目录函数。 以下示例创建一个 Unity Catalog 函数工具,该工具可供代理用于将消息发布到 Slack:
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 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
:用于指定请求头的映射。
示例笔记本
以下笔记本演示如何创建连接到 Slack、OpenAI 和 Azure AI 搜索的 AI 代理工具。