Connecter les agents aux outils
Connecter vos agents à des outils leur confère des capacités pratiques allant 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. Le MCP est l’un des nombreux moyens de connecter les agents à des services externes. En plus des services MCP, vous pouvez appeler les APIs REST directement via une connexion HTTP Unity Catalog. Sélectionnez Managed OAuth 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 query les données Databricks et exécuter des fonctions gouvernées avec les serveurs MCP de fonction 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 la 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 informations d'identification OAuth, par conséquent aucune inscription d'application n'est requise. | |
Utilisez cette approche pour effectuer des appels d'API REST directs à partir du code d'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 offrent 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’un périmètre OAuth, et Unity Catalog régit l’accès :
- Genie : query les données structurées dans les agents Genie et les tables Unity Catalog en langage naturel.
- **Databricks AI Search (recherche vectorielle)** : rechercher 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 Databricks. Pour appeler ces serveurs à partir du 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 reposent sur une connexion HTTP Unity Catalog, qui assure une gestion sécurisée et régie des identifiants et prend en charge plusieurs méthodes d'authentification, y compris l'authentification OAuth 2.0 utilisateur-machine (U2M) et machine-machine (M2M).
Si le service externe dispose d’un serveur MCP disponible, Databricks recommande de l’enregistrer comme 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 octrois, la sélection d’outils et les politiques de service.
- Consultez Enregistrer un serveur MCP externe pour enregistrer un serveur MCP externe en tant que service MCP et le régir. Pour la configuration de la connexion et de l’authentification, consultez l’ Étape 1. Créer une connexion.
- Consultez Utiliser des serveurs MCP dans les agents pour des exemples de code par framework d'agent (OpenAI Agents SDK, LangGraph, Model Serving).
Pour les outils logiciel-service (SaaS) courants tels que Slack, GitHub et Google Drive, Databricks fournit des services MCP prêts à l'emploi et 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 ou de gérer les identifiants. Databricks recommande OAuth géré pour le développement et les tests. Si les cas d'utilisation en production nécessitent de générer des identifiants OAuth personnalisés, consultez la documentation des fournisseurs pour plus d'informations.
Les intégrations suivantes utilisent des identifiants OAuth que Databricks gère et stocke de manière sécurisée 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, fils de discussion, brouillons et étiquettes Gmail. |
API Google Calendar | Aucun |
| Accès en lecture seule aux événements Google Agenda, aux agendas et aux informations de disponibilité. |
API SharePoint | Aucun |
| Accès en lecture seule via Microsoft Graph aux fichiers SharePoint et OneDrive, aux mails et calendriers Outlook, ainsi qu'aux discussions, canaux 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 des étapes détaillées, consultez Créer une connexion au service externe.
Le fournisseur invite chaque utilisateur à autoriser lors de la première utilisation.
Si nécessaire, mettez sur liste blanche 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 informations d'identification OAuth lorsque vous enregistrez le serveur en tant que service MCP. Voir Fournisseurs OAuth gérés.
Endpoint proxy de connexions Unity Catalog
Utilisez l'Endpoint proxy de connexions Unity Catalog avec le SDK client du service externe pour appeler les APIs REST directement depuis le code de l'agent. Dirigez 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 de 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>')
);
Installez ensuite le package databricks-openai et utilisez l’URL du 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 transite par le proxy des 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 du 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 du 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 de 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 enveloppe 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 présentation complète, y compris l'exemple SQL et les limitations liées aux types 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'agent IA qui se connectent à Slack, OpenAI et Azure AI Search.
Outil d'agent de messagerie Slack
Outil d'agent de l'API Microsoft Graphe
Outil d'agent Azure AI Search
Ressources supplémentaires
- Connectez les agents à des outils tiers avec les services MCP pour enregistrer et gérer les serveurs MCP externes.
- Créez des outils d'agent IA à l'aide des 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 aux services HTTP externes pour configurer les connexions HTTP et le proxy de connexions.