Connecter des agents aux outils
Connecter vos agents à des outils leur offre des capacités pratiques au-delà de la génération de texte, comme la recherche de documents, l'interrogation de tables, l'appel d'APIs externes ou l'exécution de code personnalisé.
Le diagramme montre l'itinéraire MCP, que Databricks recommande pour la plupart des intégrations. MCP est l'un des nombreux moyens de connecter les agents aux services externes. Parallèlement aux services MCP, vous pouvez appeler les APIs REST directement via une connexion HTTP Unity Catalog. Sélectionnez OAuth géré pour l'authentification par utilisateur, le proxy de connexions Unity Catalog pour appeler les APIs à partir du code de l'agent, ou les outils de fonction Unity Catalog qui encapsulent http_request(). Le tableau suivant récapitule chaque façon de se connecter, des données Databricks aux services externes :
Approche | Cas d'usage recommandé |
|---|---|
Utilisez cette approche pour interroger les données Databricks et exécuter des fonctions régies avec les serveurs MCP de fonctions prêts à l'emploi Genie, Databricks AI Search, Databricks SQL et Unity Catalog. | |
Utilisez cette approche pour les services qui publient un serveur MCP. Il offre une découverte automatique d'outils et un accès gouverné via Unity AI Gateway. | |
Utilisez cette approche pour les intégrations Google Drive ou SharePoint. Databricks gère les identifiants OAuth, de sorte qu'aucune inscription d'application n'est requise. | |
Utilisez cette approche pour effectuer des appels d'API REST directs à partir du code de l'agent à l'aide du SDK client propre au service externe. | |
Utilisez cette approche pour les définitions d'outils basées sur SQL qui encapsulent la fonction |
Serveurs MCP gérés pour les données Databricks
Databricks propose des serveurs MCP gérés prêts à l'emploi qui donnent aux agents un accès gouverné aux données et aux fonctions de votre Workspace, sans serveur à construire ou à héberger. Chaque serveur dispose d'une URL dédiée et d'une portée OAuth, et Unity Catalog gouverne l'accès :
- Genie : interrogez les données structurées dans les agents Genie et les tables Unity Catalog avec le langage naturel.
- Databricks AI Search (recherche vectorielle) : recherchez des documents dans les index de recherche vectorielle.
- Databricks SQL : Exécutez des requêtes SQL sur les tables Unity Catalog.
- Fonctions Unity Catalog : appelez des fonctions Python et SQL personnalisées enregistrées dans Unity Catalog.
Pour les URL de serveur, les étendues OAuth et le catalogue complet, consultez serveurs MCP gérés par Databricks. Pour appeler ces serveurs depuis le code de l'agent, consultez Utiliser les serveurs MCP dans les agents.
Serveurs MCP externes
Connectez vos agents à des applications externes comme Slack, Google Agenda ou tout service doté d'une API. Databricks propose plusieurs approches selon que le service externe dispose d'un serveur MCP, que vous ayez besoin d'une authentification par utilisateur, ou que vous préfériez appeler les APIs directement depuis le code de l'agent. Toutes les approches s'appuient sur une connexion HTTP Unity Catalog, qui offre une gestion sécurisée et gouvernée des informations d'identification et prend en charge plusieurs méthodes d'authentification, y compris l'authentification OAuth 2.0 utilisateur-vers-machine (U2M) et machine-vers-machine (M2M).
Si le service externe dispose d'un serveur MCP disponible, Databricks recommande de l'enregistrer en tant que service MCP dans Unity Catalog. Les services MCP fournissent la découverte automatique d'outils, l'authentification par utilisateur et la gouvernance via Unity AI Gateway avec des autorisations, la sélection d'outils et des stratégies de service.
- Consultez Enregistrer un serveur MCP externe pour enregistrer un serveur MCP externe en tant que service MCP et le gérer. Pour la configuration de la connexion et de l'authentification, consultez Étape 1. Créer une connexion.
- Voir Utiliser des serveurs MCP dans les agents pour des exemples de code par framework d'agent (SDK OpenAI Agents, LangGraph, Model Serving).
Pour les outils de software-as-a-service (SaaS) courants tels que Slack, GitHub et Google Drive, Databricks fournit des services MCP prêts à l’emploi sans aucune configuration. Consultez les services MCP fournis par Databricks.
OAuth géré
Databricks propose des flux OAuth gérés pour certains fournisseurs d'outils API. Vous n'avez pas besoin d'enregistrer votre propre application OAuth ni de gérer les identifiants. Databricks recommande l'OAuth géré pour le développement et les tests. Si les cas d'utilisation en production nécessitent la génération d'identifiants OAuth personnalisés, veuillez consulter la documentation des fournisseurs pour plus d'informations.
Les intégrations suivantes utilisent des informations d'identification OAuth que Databricks gère et stocke en toute sécurité dans le backend.
Fournisseur | Notes de configuration | Portées prises en charge | Description |
|---|---|---|---|
API Google Drive | Aucun |
| Accès en lecture seule aux fichiers Google Drive, y compris Google Docs et Google Sheets. |
API Gmail | Aucun |
| Accès en lecture seule aux messages Gmail, aux conversations, aux brouillons et aux libellés. |
API Google Calendar | Aucun |
| Accès en lecture seule aux événements, calendriers et informations de disponibilité/occupation de Google Agenda. |
API SharePoint | Aucun |
| Accès en lecture seule via Microsoft Graphe aux fichiers SharePoint et OneDrive, au courrier et au calendrier Outlook, ainsi qu’aux conversations, canaux de distribution et réunions Microsoft Teams. |
Pour configurer OAuth géré, créez une connexion HTTP avec le type d'authentification **OAuth utilisateur à machine par utilisateur** et sélectionnez votre fournisseur dans le menu déroulant **Fournisseur OAuth**. Pour les étapes détaillées, consultez Créer une connexion au service externe.
Le fournisseur invite chaque utilisateur à s'autoriser lors de la première utilisation.
Si nécessaire, autorisez les URI de redirection suivants qu'OAuth géré utilise :
Cloud | URI de redirection |
|---|---|
AWS |
|
Azure |
|
GCP |
|
Pour les fournisseurs OAuth gérés avec un serveur MCP publié, tels que Glean, GitHub, Atlassian et Slack, Databricks peut gérer les identifiants OAuth lorsque vous enregistrez le serveur en tant que service MCP. Voir fournisseurs OAuth gérés.
Endpoint proxy des connexions Unity Catalog
Utilisez l'Endpoint proxy de connexions Unity Catalog avec le SDK client propre au service externe pour appeler directement des APIs REST à partir du code de l'agent. Pointez l'URL de base du SDK vers l'endpoint proxy et utilisez votre jeton Databricks comme clé d'API. Databricks authentifie la requête et injecte automatiquement les identifiants du service externe à partir de la connexion Unity Catalog. Votre code ne gère pas directement les jetons du service externe.
Autorisations requises : USE CONNECTION sur l'objet de connexion.
- OpenAI
- Slack
- Generic HTTP
Utilisez DatabricksOpenAI pour acheminer les appels vers OpenAI externe via le proxy des connexions Unity Catalog. Tout d'abord, créez une connexion HTTP Unity Catalog à l'aide de votre clé API OpenAI stockée en tant que secret Databricks:
CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
host 'https://api.openai.com',
base_path '/v1',
bearer_token secret ('<secret-scope>', '<secret-key>')
);
Ensuite, installez le package databricks-openai et utilisez l'URL de proxy et le client Workspace dans votre code d'agent :
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)
Configurez le SDK Slack pour qu'il soit acheminé via le proxy de connexions Unity Catalog. Créez une connexion HTTP Unity Catalog avec l'hôte https://slack.com et le chemin de base /api, puis utilisez l'URL proxy comme URL de base du 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"])
Pour les services sans SDK dédié, utilisez directement la bibliothèque requests avec l'URL proxy :
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"},
)
Pour plus de détails sur l’endpoint proxy, les méthodes d’authentification prises en charge et la configuration de la connexion, consultez Transférer les requêtes via le proxy de connexion HTTP.
Outils de fonction Unity Catalog
Databricks recommande d'utiliser les services MCP ou le proxy de connexions Unity Catalog pour les nouvelles intégrations. Les outils de fonction Unity Catalog avec http_request restent pris en charge, mais ne sont plus l'approche recommandée.
Vous pouvez créer une fonction Unity Catalog qui encapsule http_request() pour appeler des services externes. Cette approche est utile pour les définitions d'outils basées sur SQL, telles qu'une fonction qui publie un message sur Slack. Pour la procédure détaillée, y compris l'exemple SQL et les limites liées au type de connexion, consultez Appeler des APIs externes avec http_request (hérité).
Exemples de notebooks
Les notebooks suivants démontrent la création d'outils d'agents IA qui se connectent à Slack, OpenAI et Azure AI Search.
Outil d'agent de messagerie Slack
Outil d'agent API Microsoft Graphe
Outil d'agent Azure AI Search
Ressources supplémentaires
- Connectez des agents à des outils tiers avec les services MCP pour enregistrer et gouverner des serveurs MCP externes.
- Créer des outils d'agent IA à l'aide de fonctions Unity Catalog pour créer des outils de fonction Unity Catalog, y compris l'approche héritée
http_request. - Intégrez les outils Unity Catalog à des frameworks d’IA générative tiers pour utiliser les outils Unity Catalog avec LangChain, LlamaIndex, OpenAI et Anthropic.
- Connectez-vous à des services HTTP externes pour configurer les connexions HTTP et le proxy de connexion.