Compartir vía


Conexión de agentes a servicios externos

Important

Esta característica está en versión preliminar pública.

Conecte los agentes de IA a aplicaciones externas como Slack, Google Calendar o cualquier servicio con una API. Azure Databricks proporciona varios enfoques en función de si el servicio externo tiene un servidor MCP, tanto si necesita autenticación por usuario como si prefiere llamar a las API directamente desde el código del agente. Todos los enfoques se basan en una conexión HTTP del catálogo de Unity para administrar de forma segura las credenciales y controlar el acceso a los servicios externos.

Enfoque Caso de uso recomendado
Servidores MCP externos Use este enfoque para los servicios que publican un servidor MCP. Proporciona detección automática de herramientas y funciona con SDK estándar.
OAuth administrado Use este enfoque para las integraciones de Google Drive o SharePoint. Azure Databricks administra las credenciales de OAuth, por lo que no se requiere ningún registro de aplicación.
Proxy de conexiones UC Use este enfoque para realizar llamadas directas a la API REST desde el código del agente mediante el SDK de cliente propio del servicio externo.
Herramientas de funciones de UC Use este enfoque para las definiciones de herramientas basadas en SQL que encapsulan la http_request() función.

Requirements

  • Una conexión HTTP del Unity Catalog para su aplicación externa. Las conexiones del catálogo de Unity proporcionan administración de credenciales seguras, controladas y habilitan varios métodos de autenticación, incluidos OAuth 2.0 user-to-machine y la autenticación de máquina a máquina.

Servidores MCP externos

Si el servicio externo tiene disponible un servidor MCP, Azure Databricks recomienda conectarse a través de servidores MCP externos. Los servidores MCP proporcionan detección automática de herramientas, integración simplificada y autenticación por usuario. Consulte Uso de servidores MCP externos para los métodos de instalación, el uso mediante programación y los detalles de autenticación.

OAuth administrado

Azure Databricks ofrece flujos de OAuth administrados para seleccionar proveedores de herramientas de API. No es necesario registrar su propia aplicación de OAuth ni administrar credenciales. Azure Databricks recomienda OAuth administrado para desarrollo y pruebas. Si los casos de uso de producción requieren generar credenciales personalizadas de OAuth, consulte la documentación de los proveedores para obtener más información.

Las siguientes integraciones usan credenciales de OAuth administradas por Azure Databricks almacenadas de forma segura en el back-end.

Provider Notas de configuración Ámbitos admitidos Descripción
Google Drive API Ninguno https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access Acceso de solo lectura a los archivos de Google Drive.
SharePoint API Ninguno https://graph.microsoft.com/Sites.Read.All offline_access openid profile Acceso de solo lectura a sitios de SharePoint.

Para configurar OAuth administrado, cree una conexión HTTP con el tipo de autenticación usuario de OAuth a máquina por usuario y seleccione el proveedor en el menú desplegable Proveedor de OAuth . Para obtener pasos detallados, consulte Instalación de un servidor MCP externo.

Se pide a cada usuario que autorice con el proveedor en el primer uso.

Si es necesario, incluya en la lista de permitidos los siguientes URI de redirección usados por OAuth administrado:

Nube URI de redirección
AWS https://oregon.cloud.databricks.com/api/2.0/http/oauth/redirect
Azur https://westus.azuredatabricks.net/api/2.0/http/oauth/redirect
GCP https://us-central1.gcp.databricks.com/api/2.0/http/oauth/redirect

El punto de conexión del proxy de las conexiones UC

Use el punto de conexión de proxy de conexiones del catálogo de Unity con el SDK de cliente propio del servicio externo para llamar a las API REST directamente desde el código del agente. Apunte la dirección URL base del SDK al punto de conexión de proxy y use el token de Azure Databricks como clave de API. Azure Databricks autentica la solicitud e inserta automáticamente las credenciales del servicio externo desde la conexión del catálogo de Unity. El código nunca maneja directamente los tokens del servicio externo.

Permisos necesarios:USE CONNECTION en el objeto de conexión.

OpenAI

Use DatabricksOpenAI para dirigir las llamadas a OpenAI externo a través del proxy de conexiones de Unity Catalog. En primer lugar, cree una conexión HTTP de Unity Catalog con la clave de API de OpenAI almacenada como un secreto de Databricks:

CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
  host 'https://api.openai.com',
  base_path '/v1',
  bearer_token secret ('<secret-scope>', '<secret-key>')
);

A continuación, instale el paquete databricks-openai y use la URL del proxy y el cliente de área de trabajo en el código del agente.

pip install databricks-openai
from databricks_openai import DatabricksOpenAI
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = DatabricksOpenAI(
    workspace_client=w,
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/openai_connection/proxy/",
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Slack

Configura el SDK de Slack para enrutar a través del proxy de conexiones del Unity Catalog. Cree una conexión HTTP de Unity Catalog con el host https://slack.com y la ruta de acceso base /api, y luego use la dirección URL del proxy como dirección URL base del SDK.

from slack_sdk import WebClient
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = WebClient(
    token=w.config.authenticate()["Authorization"].split(" ")[1],
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/slack_connection/proxy/",
)

result = client.chat_postMessage(channel="C123456", text="Hello from Databricks!")
print(result["message"]["text"])

HTTP genérico

En el caso de los servicios sin un SDK dedicado, use la biblioteca con la URL del proxy directamente.

import requests
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

response = requests.post(
    f"{w.config.host}/api/2.0/unity-catalog/connections/my_connection/proxy/api/v1/resource",
    headers={
        **w.config.authenticate(),
        "Content-Type": "application/json",
    },
    json={"key": "value"},
)

Herramientas de funciones UC con conexiones HTTP

Note

Azure Databricks recomienda usar servidores MCP o el proxy de conexiones UC para nuevas integraciones. Las herramientas de Función UC con http_request siguen siendo compatibles, pero ya no son el enfoque recomendado.

Puede crear una función de Unity Catalog que envuelva http_request() para llamar a servicios externos. Este enfoque es útil para las definiciones de herramientas basadas en SQL. Consulte Creación de herramientas de agente de IA con funciones de catálogo de Unity para obtener más información sobre cómo crear herramientas de funciones de UC.

En el ejemplo siguiente se crea una herramienta de función catalog de Unity que envía un mensaje a 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

Consulte CREATE FUNCTION (SQL y Python).

Note

El acceso a SQL con http_request está bloqueado para el tipo de conexión Usuario a máquina por usuario individual. Use el SDK de Azure Databricks de Python en su lugar.

Cuadernos de ejemplo

Conexión de un agente a Slack

Consulte Conexión de un agente de IA a Slack.

Conexión de un agente a Microsoft Teams

Consulte Conexión de un agente de IA a Microsoft Teams.

Herramientas de conexión externas

En los cuadernos siguientes se muestra cómo crear herramientas de agente de IA que se conectan a Slack, OpenAI y Azure AI Search.

Herramienta de agente de mensajería de Slack

Obtener el cuaderno

Herramienta de API de Microsoft Graph para agentes

Obtener el cuaderno

Herramienta de agente de búsqueda de Azure AI

Obtener el cuaderno