Подключите агентов к инструментам

Подключение агентов к средствам дает им практические возможности за пределами создания текста, таких как поиск документов, запрос таблиц, вызов внешних API или запуск пользовательского кода.

Код вашего агента, созданный с использованием таких фреймворков, как LangGraph или OpenAI SDK, а также помощники по программированию, такие как Claude Code и Cursor, вызывают инструменты через MCP по трём управляемым каналам в Databricks: MCP Services для сторонних инструментов, таких как GitHub и Slack, ваш собственный MCP-сервер, размещённый в Databricks Apps, для пользовательских инструментов, и управляемые MCP-серверы для данных и кода Databricks — всё это управляется в Unity Catalog с помощью разрешений, политик и аудита.

На схеме показан маршрут MCP, который Azure Databricks рекомендуется для большинства интеграции. MCP — это один из нескольких способов подключения агентов к внешним службам. Наряду со службами MCP можно вызывать REST API непосредственно через HTTP-подключение каталога Unity. Выберите Managed OAuth для аутентификации отдельных пользователей, прокси подключений Unity Catalog для вызова API из кода агента или инструменты функций Unity Catalog, которые служат оболочкой для http_request(). В следующей таблице приведены сведения о каждом способе подключения от Azure Databricks данных к внешним службам:

Approach Рекомендуемый вариант использования
Управляемые серверы MCP для данных Azure Databricks Используйте этот подход для выполнения запросов к данным Azure Databricks и запуска функций с управлением доступом с помощью готовых к использованию MCP-серверов Genie, Databricks AI Search, Databricks SQL и функций Unity Catalog.
Внешние серверы MCP Используйте этот подход для служб, публикующих сервер MCP. Он предлагает автоматическое обнаружение инструментов и управляемый доступ через шлюз искусственного интеллекта Unity.
Управляемый OAuth Используйте этот подход для интеграции Google Drive или SharePoint. Azure Databricks управляет учетными данными OAuth, поэтому регистрация приложений не требуется.
Прокси-сервер подключений каталога Unity Используйте этот подход для прямого вызова REST API из кода агента с помощью собственного клиентского пакета SDK внешней службы.
Инструменты функций Unity Catalog Используйте этот подход для определений инструментов на основе SQL, которые обтекают функцию http_request() .

Управляемые серверы MCP для данных Azure Databricks

Azure Databricks предлагает готовые к использованию управляемые серверы MCP, которые предоставляют агентам доступ к данным и функциям в рабочей области без сервера для сборки или размещения. Каждый сервер имеет выделенный URL-адрес и область OAuth, а каталог Unity управляет доступом:

  • Genie: запрос структурированных данных в таблицах каталога Genie Agent и Unity с естественным языком.
  • Databricks AI Search (векторный поиск): поиск документов в векторных индексах поиска.
  • Databricks SQL: выполнение запросов SQL к таблицам каталога Unity.
  • Функции Unity Catalog: вызывайте пользовательские функции Python и SQL, зарегистрированные в Unity Catalog.

Сведения о URL-адресах серверов, областях действия OAuth и полном каталоге см. в управляемых серверах MCP в Azure Databricks. Чтобы вызвать эти серверы из кода агента, см. статью "Использование серверов MCP в агентах".

Внешние серверы MCP

Подключите агенты к внешним приложениям, таким как Slack, Google Calendar или любая служба с помощью API. Azure Databricks предлагает несколько подходов в зависимости от того, имеет ли внешняя служба сервер MCP, требуется ли проверка подлинности на пользователя или требуется ли вызывать API непосредственно из кода агента. Все подходы основаны на HTTP-соединении Unity Catalog, которое обеспечивает безопасное контролируемое управление учетными данными и поддерживает несколько методов аутентификации, включая аутентификацию OAuth 2.0 по схеме «пользователь-машина» (U2M) и «машина-машина» (M2M).

Если у внешней службы есть сервер MCP, Azure Databricks рекомендует зарегистрировать его в качестве службы MCP в каталоге Unity. Службы MCP обеспечивают автоматическое обнаружение инструментов, проверку подлинности на пользователя и управление с помощью шлюза ИИ Unity с грантами, выбором инструментов и политиками служб.

Для распространенных средств программного обеспечения как услуга (SaaS), таких как Slack, GitHub и Google Drive, Azure Databricks предоставляет готовые к использованию службы MCP с нулевой настройкой. См. сведения о службах MCP, предоставляемых Databricks.

Управляемый OAuth

Azure Databricks предлагает управляемые потоки OAuth для выбора поставщиков инструментов API. Вам не нужно регистрировать собственное приложение OAuth или управлять учетными данными. Azure Databricks рекомендует управляемый OAuth для разработки и тестирования. Если в производственных сценариях требуется создание пользовательских учетных данных OAuth, за дополнительной информацией обратитесь к документации со стороны поставщиков.

В следующих интеграциях используются учетные данные OAuth, которые Azure Databricks управляют и хранятся безопасно в серверной части.

Поставщик Заметки о конфигурации Поддерживаемые области Описание
Google Drive API Нет https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/documents.readonly https://www.googleapis.com/auth/spreadsheets.readonly offline_access Доступ только для чтения к файлам Google Drive, включая Документы Google и Google Sheets.
Gmail API Нет https://www.googleapis.com/auth/gmail.readonly offline_access Доступ только для чтения к сообщениям Gmail, потокам, черновикам и меткам.
API календаря Google Нет https://www.googleapis.com/auth/calendar.readonly offline_access Доступ только для чтения к событиям, календарям и информации о занятости в Google Календаре.
API SharePoint Нет 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 Доступ только для чтения через Microsoft Graph к файлам SharePoint и OneDrive, почте и календарю Outlook, а также чатам, каналам и собраниям Microsoft Teams.

Чтобы настроить управляемый OAuth, создайте HTTP-соединение с подключением OAuth User to Machine Per User и выберите вашего поставщика из списка поставщиков OAuth. Подробные инструкции см. в разделе "Создание подключения к внешней службе".

Поставщик предложит каждому пользователю авторизоваться при первом использовании.

При необходимости добавьте следующие URI перенаправления, используемые управляемым OAuth, в список разрешённых:

Облачные технологии Перенаправляющий URI
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

Для управляемых поставщиков OAuth с опубликованным сервером MCP, например Glean, GitHub, Atlassian и Slack, Azure Databricks может управлять учетными данными OAuth при регистрации сервера в качестве службы MCP. См. раздел "Управляемые поставщики OAuth".

Конечная точка прокси-сервера для подключений каталога Unity

Используйте прокси-сервер конечной точки соединений Unity Catalog вместе с клиентским SDK внешней службы для вызова REST API непосредственно из кода агента. Наведите базовый URL-адрес пакета SDK на конечную точку прокси-сервера и используйте маркер Azure Databricks в качестве ключа API. Azure Databricks проверяет подлинность запроса и автоматически вводит учетные данные внешней службы из подключения к каталогу Unity. Ваш код не обрабатывает токены внешней службы напрямую.

Необходимые разрешения:USE CONNECTION на объект подключения.

OpenAI

Используйте DatabricksOpenAI для маршрутизации вызовов во внешнюю OpenAI через прокси-сервер подключений каталога Unity. Сначала создайте HTTP-соединение для Каталога Unity, используя ключ API OpenAI, хранящийся в качестве секрета в Databricks:

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

Затем установите databricks-openai пакет и используйте URL-адрес прокси-сервера и клиент рабочей области в коде агента:

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

Настройте SDK Slack для маршрутизации через прокси-сервер подключений Unity Catalog. Создайте HTTP-подключение каталога Unity с узлом https://slack.com и базовым путем /api, а затем используйте URL-адрес прокси-сервера в качестве базового 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"])

Базовый HTTP-запрос

Для служб без выделенного пакета SDK используйте библиотеку requests с URL-адресом прокси-сервера напрямую:

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"},
)

Дополнительные сведения о конечной точке прокси-сервера, поддерживаемых методах проверки подлинности и настройке подключения см. в статье "Пересылка запросов через прокси-сервер http-подключения".

Инструменты функций Unity Catalog

Note

Azure Databricks рекомендует использовать службы MCP или прокси-сервер подключений каталога Unity для новых интеграции. Инструменты функций Unity Catalog с http_request по-прежнему поддерживаются, но больше не являются рекомендуемым подходом.

Вы можете создать функцию Unity Catalog, оборачивающую http_request(), чтобы вызывать внешние службы. Этот подход полезен для определений инструментов на основе SQL, таких как функция, которая публикует сообщение в Slack. Полное пошаговое руководство, включая пример SQL и ограничения типа подключения, см. в разделе Вызов внешних API с http_request (устаревшей версией).

Примеры записных книжек

В следующих блокнотах показано, как создавать инструменты агента, подключаемые к Slack, OpenAI и Поиск с использованием ИИ Azure.

Средство агента обмена сообщениями Slack

Получите ноутбук

Агентское средство API Microsoft Graph

Получите ноутбук

агентское средство Поиск с использованием ИИ Azure

Получите ноутбук

Пошаговое руководство по подключению агента к Microsoft Teams см. в разделе "Подключение агента к Microsoft Teams".

Дополнительные ресурсы