Łączenie agentów z narzędziami

Łączenie agentów z narzędziami zapewnia im praktyczne możliwości poza generowaniem tekstu, takie jak wyszukiwanie dokumentów, wykonywanie zapytań w tabelach, wywoływanie zewnętrznych interfejsów API lub uruchamianie kodu niestandardowego.

Kod agenta, zbudowany przy użyciu frameworków, takich jak LangGraph lub OpenAI SDK, oraz asystentów kodowania, takich jak Claude Code i Cursor, wywołuje narzędzia przez MCP trzema nadzorowanymi ścieżkami w Databricks: MCP Services dla narzędzi innych firm, takich jak GitHub i Slack, własny serwer MCP hostowany w Databricks Apps dla narzędzi niestandardowych oraz zarządzane serwery MCP dla danych i kodu Databricks — a wszystko to jest zarządzane w Unity Catalog za pomocą uprawnień, zasad i audytu.

Diagram przedstawia ścieżkę MCP, którą Azure Databricks zaleca w przypadku większości integracji. McP to jeden z kilku sposobów łączenia agentów z usługami zewnętrznymi. Oprócz usług MCP można bezpośrednio wywoływać interfejsy API REST za pośrednictwem połączenia HTTP w usłudze Unity Catalog. Wybierz Managed OAuth do uwierzytelniania poszczególnych użytkowników, serwer proxy połączeń Unity Catalog do wywoływania interfejsów API z kodu agenta lub narzędzia funkcji Unity Catalog, które opakowują interfejsy API http_request(). Poniższa tabela podsumowuje każdy sposób łączenia danych w usłudze Azure Databricks z usługami zewnętrznymi:

Approach Zalecany przypadek użycia
Zarządzane serwery MCP dla danych usługi Azure Databricks Użyj tego podejścia, aby wysyłać zapytania do danych Azure Databricks i uruchamiać funkcje objęte mechanizmami ładu przy użyciu gotowych do użycia serwerów MCP dla usług Genie, Databricks AI Search, Databricks SQL i funkcji Unity Catalog.
Zewnętrzne serwery MCP Użyj tego podejścia w przypadku usług, które publikują serwer MCP. Zapewnia automatyczne wykrywanie narzędzi i kontrolowany dostęp za pośrednictwem Unity AI Gateway.
Zarządzane uwierzytelnianie OAuth Użyj tego podejścia w przypadku integracji z usługą Google Drive lub SharePoint. Azure Databricks zarządza poświadczeniami OAuth, więc rejestracja aplikacji nie jest wymagana.
Serwer proxy połączeń Unity Catalog Użyj tego podejścia, aby wykonywać bezpośrednie wywołania interfejsu API REST z kodu agenta przy użyciu własnego zestawu SDK klienta usługi zewnętrznej.
Narzędzia funkcji Unity Catalog Użyj tej metody w przypadku definicji narzędzi opartych na języku SQL, które opakowują funkcję http_request().

Zarządzane serwery MCP dla danych Azure Databricks

Azure Databricks oferuje gotowe do użycia zarządzane serwery MCP, które zapewniają agentom dostęp do danych i funkcji w obszarze roboczym, bez serwera do kompilowania ani hostowania. Każdy serwer ma dedykowany adres URL i zakres OAuth, a Unity Catalog zarządza dostępem:

  • Genie: Zadawaj pytania dotyczące danych ustrukturyzowanych w agentach Genie i tabelach Unity Catalog w języku naturalnym.
  • Wyszukiwanie sztucznej inteligencji w usłudze Databricks (wyszukiwanie wektorowe): wyszukiwanie dokumentów w indeksach wyszukiwania wektorowego.
  • Databricks SQL: Uruchamiaj zapytania SQL na tabelach Unity Catalog.
  • Funkcje Unity Catalog: Wywołuj własne funkcje Python i SQL zarejestrowane w Unity Catalog.

Informacje o adresach URL serwerów, zakresach OAuth i pełnym katalogu można znaleźć tutaj: Zarządzane serwery MCP usługi Azure Databricks. Aby wywołać te serwery z kodu agenta, zobacz Używanie serwerów MCP w agentach.

Zewnętrzne serwery MCP

Połącz agentów z aplikacjami zewnętrznymi, takimi jak Slack, Google Calendar lub dowolna usługa z interfejsem API. Azure Databricks oferuje kilka metod w zależności od tego, czy usługa zewnętrzna ma serwer MCP, niezależnie od tego, czy potrzebujesz uwierzytelniania poszczególnych użytkowników, czy też wolisz wywoływać interfejsy API bezpośrednio z kodu agenta. Wszystkie podejścia opierają się na połączeniu HTTP usługi Unity Catalog, które zapewnia bezpieczne, nadzorowane zarządzanie poświadczeniami i obsługuje wiele metod uwierzytelniania, w tym uwierzytelnianie OAuth 2.0 użytkownik–maszyna (U2M) oraz maszyna–maszyna (M2M).

Jeśli usługa zewnętrzna ma dostępny serwer MCP, Azure Databricks zaleca zarejestrowanie go jako usługę MCP w Unity Catalog. Usługi MCP zapewniają automatyczne wykrywanie narzędzi, uwierzytelnianie każdego użytkownika oraz mechanizmy zarządzania za pośrednictwem Unity AI Gateway, w tym przydzielanie uprawnień, wybór narzędzi i zasady usług.

W przypadku typowych narzędzi typu oprogramowanie jako usługa (SaaS), takich jak Slack, GitHub i Dysk Google, Azure Databricks zapewnia gotowe do użycia usługi MCP z zerową konfiguracją. Zobacz Usługi MCP udostępniane przez usługę Databricks.

Zarządzane uwierzytelnianie OAuth

Usługa Azure Databricks oferuje zarządzane przepływy OAuth dla wybranych dostawców narzędzi interfejsu API. Nie musisz rejestrować własnej aplikacji OAuth ani zarządzać poświadczeniami. Azure Databricks zaleca korzystanie z zarządzanego protokołu OAuth na potrzeby programowania i testowania. Jeśli przypadki użycia w środowisku produkcyjnym wymagają generowania niestandardowych poświadczeń protokołu OAuth, zobacz dokumentację dostawców, aby uzyskać więcej informacji.

Poniższe integracje korzystają z poświadczeń protokołu OAuth, które Azure Databricks zarządza i przechowuje bezpiecznie w zapleczu.

Provider Uwagi dotyczące konfiguracji Obsługiwane zakresy Description
Interfejs API Google Drive Żadne https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access Dostęp tylko do odczytu do plików dysku Google, w tym Google Docs i Arkuszy Google.
Gmail API Żadne https://www.googleapis.com/auth/gmail.readonly offline_access Dostęp tylko do odczytu do wiadomości w Gmailu, wątków, wersji roboczych i etykiet.
Interfejs API kalendarza Google Żadne https://www.googleapis.com/auth/calendar.readonly offline_access Dostęp tylko do odczytu do wydarzeń, kalendarzy i informacji o dostępności w Kalendarzu Google.
SharePoint API Żadne https://graph.microsoft.com/User.Read https://graph.microsoft.com/User.ReadBasic.All https://graph.microsoft.com/Sites.Read.All https://graph.microsoft.com/Files.Read https://graph.microsoft.com/Files.Read.All https://graph.microsoft.com/Mail.Read https://graph.microsoft.com/Mail.ReadBasic https://graph.microsoft.com/Mail.Read.Shared https://graph.microsoft.com/MailboxFolder.Read https://graph.microsoft.com/MailboxItem.Read https://graph.microsoft.com/Calendars.Read https://graph.microsoft.com/Calendars.Read.Shared https://graph.microsoft.com/Chat.Read https://graph.microsoft.com/Chat.ReadBasic https://graph.microsoft.com/ChatMember.Read https://graph.microsoft.com/ChatMessage.Read https://graph.microsoft.com/Channel.ReadBasic.All https://graph.microsoft.com/ChannelMessage.Read.All https://graph.microsoft.com/OnlineMeetings.Read https://graph.microsoft.com/OnlineMeetingTranscript.Read.All https://graph.microsoft.com/OnlineMeetingAiInsight.Read https://graph.microsoft.com/OnlineMeetingArtifact.Read.All https://graph.microsoft.com/OnlineMeetingRecording.Read.All offline_access openid profile email Dostęp tylko do odczytu za pośrednictwem Microsoft Graph do plików SharePoint i OneDrive, poczty i kalendarza Outlook oraz czatów, kanałów i spotkań Microsoft Teams.

Aby skonfigurować zarządzany protokół OAuth, utwórz połączenie HTTP z typem uwierzytelniania OAuth na maszynę na użytkownika i wybierz dostawcę z menu rozwijanego Dostawca OAuth . Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie połączenia z usługą zewnętrzną.

Dostawca monituje każdego użytkownika o autoryzowanie przy pierwszym użyciu.

W razie potrzeby dodaj do listy dozwolonych następujące identyfikatory URI przekierowania używane przez zarządzany mechanizm OAuth:

Cloud URI przekierowania
AWS https://oregon.cloud.databricks.com/api/2.0/http/oauth/redirect
Azure https://westus.azuredatabricks.net/api/2.0/http/oauth/redirect
GCP https://us-central1.gcp.databricks.com/api/2.0/http/oauth/redirect

W przypadku zarządzanych dostawców OAuth z opublikowanym serwerem MCP, takich jak Glean, GitHub, Atlassian i Slack, Azure Databricks może zarządzać poświadczeniami OAuth podczas rejestrowania tego serwera jako usługi MCP. Zobacz Managed OAuth providers (Dostawcy zarządzanego protokołu OAuth).

Punkt końcowy serwera proxy połączeń Unity Catalog

Użyj punktu końcowego proxy połączeń Unity Catalog wraz z własnym klientem SDK usługi zewnętrznej, aby bezpośrednio z kodu agenta korzystać z interfejsów API REST. Wskaż podstawowy adres URL zestawu SDK na punkt końcowy serwera proxy i użyj swojego tokenu Azure Databricks jako klucza API. Azure Databricks uwierzytelnia żądanie i automatycznie wprowadza dane uwierzytelniające zewnętrznej usługi z połączenia Unity Catalog. Kod nie obsługuje tokenów usługi zewnętrznej bezpośrednio.

Wymagane uprawnienia:USE CONNECTION w obiekcie połączenia.

OpenAI

Użyj DatabricksOpenAI do przekierowywania wywołań do zewnętrznego OpenAI za pośrednictwem proxy połączeń Unity Catalog. Najpierw utwórz połączenie HTTP Unity Catalog przy użyciu klucza interfejsu API OpenAI przechowywanego jako sekret Databricks:\

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

Następnie zainstaluj databricks-openai pakiet i użyj adresu URL serwera proxy i klienta obszaru roboczego w kodzie agenta:

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

Skonfiguruj SDK Slack, aby kierować przez serwer proxy połączeń w katalogu Unity. Utwórz połączenie HTTP katalogu Unity z hostem https://slack.com i podstawową ścieżką /api, a następnie użyj adresu URL serwera proxy jako bazowego adresu URL 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"])

Standardowe HTTP

W przypadku usług bez dedykowanego zestawu SDK użyj requests biblioteki bezpośrednio z adresem URL serwera 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"},
)

Aby uzyskać szczegółowe informacje na temat punktu końcowego serwera proxy, obsługiwanych metod uwierzytelniania i konfiguracji połączenia, zobacz Przekazywanie żądań za pośrednictwem serwera proxy połączenia HTTP.

Narzędzia funkcji Unity Catalog

Note

Azure Databricks zaleca korzystanie z MCP Services lub serwera proxy połączeń Unity Catalog w przypadku nowych integracji. Narzędzia funkcji Unity Catalog z http_request są nadal obsługiwane, ale nie są już zalecanym podejściem.

Możesz utworzyć funkcję Unity Catalog, która opakowuje http_request() do wywołania usług zewnętrznych. Takie podejście jest przydatne w przypadku definicji narzędzi opartych na języku SQL, takich jak funkcja, która publikuje komunikat w usłudze Slack. Aby zapoznać się z pełnym przewodnikiem, w tym przykładem SQL i ograniczeniami typu połączenia, zobacz Wywoływanie zewnętrznych interfejsów API za pomocą http_request (starsza wersja).

Przykładowe notatniki

W poniższych notesach przedstawiono tworzenie narzędzi agentów łączących się z usługami Slack, OpenAI i Wyszukiwanie AI platformy Azure.

Narzędzie agenta obsługi komunikatów usługi Slack

Pobierz laptopa

Narzędzie agenta interfejsu API programu Microsoft Graph

Pobierz laptopa

Narzędzie agenta usługi Wyszukiwanie AI platformy Azure

Pobierz laptopa

Aby zapoznać się z przewodnikiem łączenia agenta z Microsoft Teams, zobacz Łączenie agenta z Microsoft Teams.

Dodatkowe zasoby