Использование агента данных Fabric из служб Foundry Services Microsoft (предварительная версия)

Агент данных в Microsoft Fabric преобразует корпоративные данные в системы вопросов и ответов. Это позволяет пользователям взаимодействовать с данными через чат, чтобы выявить полезные аналитические сведения. Одним из способов потребления агента данных Fabric является служба Foundry Agent, основной компонент Microsoft Foundry. Благодаря интеграции агентов данных Fabric с Foundry, агенты Azure AI могут непосредственно получить доступ к насыщенным, структурированным и семантическим данным, доступным в Microsoft Fabric OneLake. Эта интеграция обеспечивает немедленный доступ к высококачественным корпоративным данным и позволяет Azure агентам ИИ создавать полезные аналитические сведения и оптимизировать аналитические рабочие процессы. Затем организации могут улучшить принятие решений на основе данных с помощью агента данных Fabric в качестве мощного источника знаний в своих средах Azure ИИ.

Это важно

Эта функция доступна в предварительной версии. Используйте последнюю бета- или предварительную версию Azure ИИ агентов Python SDK.

Предпосылки

  • Разработчики и конечные пользователи в Foundry должны иметь по крайней мере роль управления доступом на основе ролей (RBAC) AI Developer.

Принцип работы

Agent Setup: в Agent Service создайте нового агента и добавьте агента данных Fabric в качестве одного из источников знаний. Чтобы установить это подключение, вам потребуется идентификатор рабочей области и идентификатор артефакта для агента данных Fabric. Программа установки позволяет агенту ИИ Azure оценивать доступные источники при получении запроса, чтобы убедиться, что он вызывает правильный инструмент для обработки запроса. В настоящее время в агент Azure ИИ можно добавить только один агент данных Fabric в качестве источника знаний.

Замечание

Выбранная модель в настройках агента ИИ Azure используется только для оркестрации и генерации ответов. Это не влияет на модель, используемую агентом данных Fabric.

Query Processing: когда пользователь отправляет запрос с игровой площадки Foundry, служба агента определяет, является ли агент данных Fabric лучшим средством для задачи. Если это так, ИИ агент Azure:

  • Использует удостоверение конечного пользователя для создания безопасных запросов к источникам данных, доступ к которым разрешен пользователю через агент данных Fabric.
  • Вызывает Fabric для получения и обработки данных, обеспечивая плавный, автоматический пользовательский опыт.
  • Объединяет результаты агента данных Fabric с собственной логикой для создания комплексных ответов. Авторизация передачи удостоверений (режимBehalf-Of) защищает этот поток, чтобы обеспечить надежную безопасность и надлежащий контроль доступа над корпоративными данными.

Замечание

Агент данных Fabric и ресурсы Foundry должны находиться в одном клиенте, и оба Microsoft Fabric и Foundry должны выполняться с одной учетной записью.

Добавление агента данных Fabric в агент ИИ Azure

Агент данных Fabric можно добавить в агент Azure ИИ программным способом или с помощью пользовательского интерфейса. Подробные примеры кода и дополнительные инструкции см. в документации по интеграции агента ИИ Azure.

Добавить агента данных Fabric через пользовательский интерфейс:

  • Перейдите в левую область. В разделе #B0Сборка и настройка#A1 выберите #A3Агенты#B2, как показано на следующем снимке экрана:

Снимок экрана, показывающий главную страницу Azure Foundry.

На этом шаге отображается список существующих агентов Azure ИИ. Вы можете добавить Fabric в одного из этих агентов или выбрать опцию New Agent, чтобы создать нового агента. Создание нового агента создает уникальный идентификатор агента и имя по умолчанию. Это имя можно изменить в любое время. Дополнительные сведения см. в разделе Что такое Azure OpenAI на портале Foundry.

  • Начните добавление источника знаний: нажмите кнопку "Добавить", как показано на следующем скриншоте.

Снимок экрана, который показывает добавление агента данных Fabric как знание.

На этом шаге откроется меню поддерживаемых типов источников знаний.

  • Выберите Microsoft Fabric в качестве источника: в списке выберите Microsoft Fabric, как показано на следующем снимке экрана:

Screenshot, показывающий выбор Fabric в качестве источника знаний.

С помощью этого параметра агент может получить доступ к агенту данных Fabric.

  • Создайте подключение. Если вы ранее установили подключение к агенту данных Fabric, вы можете повторно использовать это подключение для нового агента ИИ Azure. В противном случае выберите "Создать подключение" , чтобы создать подключение, как показано на следующем снимке экрана:

Снимок экрана, показывающий, как создать новое подключение Fabric.

Откроется окно Создание нового подключения Microsoft Fabric, как показано на следующем снимке экрана:

Снимок экрана с созданием подключения.

При настройке подключения укажите значения агента данных Fabric workspace-id и artifact-id в качестве пользовательских ключей. Значения workspace-id и artifact-id можно найти в опубликованной конечной точке агента данных Fabric. Конечная точка агента данных Fabric имеет следующий формат:

https://fabric.microsoft.com/groups/ < workspace_id>/aiskills/<artifact-id>, и выберите флажок Секрет

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

После выбора Connect агент данных Microsoft Fabric добавляется в качестве ресурса Knowledge, как показано на следующем снимке экрана:

Снимок экрана: добавление инструкций.

Кроме того, необходимо предоставить инструкции агенту ИИ Azure о том, когда, как и в каких условиях использовать агент данных Fabric. С точки зрения агента ИИ Azure агент данных Fabric рассматривается как инструмент Fabric, поэтому вы можете ссылаться на него в ваших инструкциях.

Вы также можете настроить модель развертывания, добавить действия или изменить параметры модели на основе требований к варианту использования. После полной настройки агента ИИ Azure выберите Попробовать в песочнице, чтобы протестировать его производительность.

Добавить агента данных Fabric программным способом: Следующие шаги описывают, как программно добавить агента данных Fabric в ваш агент ИИ Azure с использованием Python. Для других языков (C#, JavaScript) см. этот ресурс.

Шаг 1. Создание клиента проекта

Создайте клиентский объект, содержащий connection string, который подключается к проекту ИИ и другим ресурсам.

import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder

Шаг 2. Создание агента с включенным средством Microsoft Fabric

Чтобы сделать средство агента данных Fabric доступным для агента Azure ИИ, используйте подключение для инициализации средства и присоединения его к агенту. Подключение можно найти в разделе подключенных ресурсов проекта на портале Foundry.

# The Fabric connection ID can be found in the Foundry project as a property of the Fabric tool
# Your connection ID is in the format /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.MachineLearningServices/workspaces/<your-project-name>/connections/<your-fabric-connection-name>
conn_id = "your-connection-id"

# Initialize the AI project client
project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

# Initialize agent Fabric tool and add the connection ID
fabric = FabricTool(connection_id=conn_id)

# Create agent with the Fabric tool and process assistant run
with project_client:
    agent = project_client.agents.create_agent(
        model="gpt-4o",
        name="my-assistant",
        instructions="You are a helpful assistant",
        tools=fabric.definitions,
        headers={"x-ms-enable-preview": "true"},
    )
    print(f"Created agent, ID: {agent.id}")

Шаг 3. Создание потока

# Create thread for communication
thread = project_client.agents.create_thread()
print(f"Created thread, ID: {thread.id}")

# Create message to thread
# Remember to update the message with your data
message = project_client.agents.create_message(
    thread_id=thread.id,
    role="user",
    content="what is top sold product in Contoso last month?",
)
print(f"Created message, ID: {message.id}")

Шаг 4. Создание запуска и проверка выходных данных

Создайте запуск и обратите внимание, что модель использует средство агента данных Fabric для предоставления ответа на вопрос пользователя.

# Create and process agent run in thread with tools
run = project_client.agents.create_and_process_run(thread_id=thread.id, assistant_id=agent.id)
print(f"Run finished with status: {run.status}")

if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Delete the assistant when done
project_client.agents.delete_agent(agent.id)
print("Deleted agent")

# Fetch and log all messages
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")