Korzystanie z agenta danych Fabric z usług Microsoft Foundry Services (wersja zapoznawcza)

Agent danych w Microsoft Fabric przekształca dane przedsiębiorstwa w konwersacyjne systemy pytań i odpowiedzi. Umożliwia użytkownikom interakcję z danymi za pośrednictwem czatu w celu uzyskania szczegółowych informacji z możliwością działania. Jednym ze sposobów korzystania z agenta danych Fabric jest Usługa agenta Foundry, kluczowy komponent Microsoft Foundry. Dzięki integracji agentów danych Fabric z usługą Foundry agenci Azure sztucznej inteligencji mogą bezpośrednio korzystać z bogatych, ustrukturyzowanych i semantycznych danych dostępnych w usłudze Microsoft Fabric OneLake. Ta integracja zapewnia natychmiastowy dostęp do danych przedsiębiorstwa wysokiej jakości i umożliwia agentom Azure sztucznej inteligencji generowanie praktycznych szczegółowych informacji i usprawnianie analitycznych przepływów pracy. Organizacje mogą następnie ulepszać podejmowanie decyzji opartych na danych za pomocą agenta danych Fabric jako zaawansowanego źródła wiedzy w swoich środowiskach Azure sztucznej inteligencji.

Ważne

Ta funkcja jest dostępna w wersji zapoznawczej. Użyj najnowszej wersji zapoznawczej zestawu SDK azure-ai-projects Python SDK.

Ważne

Podczas konfigurowania agentów danych Fabric do używania w usłudze Microsoft Foundry Service odpowiedzi zwracane przez agentów danych Fabric mogą być wysyłane poza granicą zgodności lub regionem geograficznym Fabric oraz przetwarzane i/lub przechowywane zgodnie z obowiązującymi warunkami i zasadami obsługi danych Microsoft Foundry Service.

Wymagania wstępne

  • Deweloperzy i użytkownicy końcowi w Foundry muszą mieć co najmniej rolę związaną z RBAC (Kontrolą Dostępu opartą na Rolach).

Jak to działa

Agent Setup: W usłudze agenta utwórz nowego agenta i dodaj agenta danych Fabric jako jednego ze źródeł wiedzy. Aby ustanowić to połączenie, potrzebujesz identyfikatora obszaru roboczego i identyfikatora artefaktu dla agenta danych Fabric. Konfiguracja umożliwia agentowi sztucznej inteligencji Azure ocenianie dostępnych źródeł po odebraniu zapytania w celu upewnienia się, że wywołuje odpowiednie narzędzie do przetwarzania żądania. Obecnie można dodać tylko jednego agenta danych Fabric jako źródła wiedzy do agenta Azure sztucznej inteligencji.

Uwaga / Notatka

Model wybrany w konfiguracji agenta sztucznej inteligencji Azure jest używany tylko do orkiestracji i generowania odpowiedzi agenta sztucznej inteligencji Azure. Nie ma to wpływu na model, którego agent danych Fabric używa.

Query Processing: Gdy użytkownik wysyła zapytanie z placu zabaw Foundry, Usługa Agenta określa, czy agent danych Fabric jest najlepszym narzędziem dla zadania. Jeśli tak jest, agent Azure AI:

  • Używa tożsamości użytkownika końcowego do generowania bezpiecznych zapytań w źródłach danych, do których użytkownik ma uprawnienia dostępu z poziomu agenta danych Fabric.
  • Wywołuje Fabric, aby pobrać i przetworzyć dane, zapewniając bezproblemową, zautomatyzowaną obsługę.
  • Łączy wyniki z agenta danych Fabric z własną logiką, aby wygenerować kompleksowe odpowiedzi. Autoryzacja z przekazywaniem tożsamości (naBehalf-Of) zabezpiecza ten przepływ, aby zapewnić niezawodne zabezpieczenia i właściwą kontrolę dostępu w obrębie danych przedsiębiorstwa.

Uwaga / Notatka

Agent danych Fabric i zasoby usługi Foundry powinny znajdować się w tej samej dzierżawie, a zarówno Microsoft Fabric, jak i usługa Foundry powinny być zalogowane przy użyciu tego samego konta.

Dodawanie agenta danych Fabric do agenta sztucznej inteligencji Azure

Agenta danych Fabric można dodać do agenta sztucznej inteligencji Azure programowo lub za pomocą interfejsu użytkownika. Aby uzyskać szczegółowe przykłady kodu i dalsze instrukcje, zobacz dokumentację integracji agenta sztucznej inteligencji Azure.

Dodaj agenta danych Fabric za pośrednictwem interfejsu użytkownika:

  • Przejdź do okienka po lewej stronie. W sekcji Kompilacja i dostosowywanie, wybierz Agents, jak pokazano na zrzucie ekranu poniżej:

Zrzut ekranu przedstawiający główną stronę Azure Foundry.

W tym kroku zostanie wyświetlona lista istniejących agentów sztucznej inteligencji Azure. Możesz dodać Fabric do jednego z tych agentów lub wybrać Nowy agent aby utworzyć nowego agenta. Tworzenie nowego agenta generuje unikatowy identyfikator agenta i nazwę domyślną. Tę nazwę można zmienić w dowolnym momencie. Aby uzyskać więcej informacji, zobacz What is Azure OpenAI in Foundry portal.

  • Zainicjuj dodawanie źródła wiedzy: wybierz przycisk Dodaj, jak pokazano na poniższym zrzucie ekranu.

Zrzut ekranu przedstawiający dodawanie agenta danych Fabric jako wiedzy.

Ten krok otwiera menu obsługiwanych typów źródeł wiedzy.

  • Wybierz pozycję Microsoft Fabric jako źródło: z listy wybierz pozycję Microsoft Fabric, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu przedstawiający wybieranie Fabric jako źródła wiedzy.

Dzięki tej opcji agent może uzyskać dostęp do agenta danych Fabric.

  • Utwórz połączenie: jeśli wcześniej nawiązaliśmy połączenie z agentem danych Fabric, możesz ponownie użyć tego połączenia dla nowego agenta sztucznej inteligencji Azure. W przeciwnym razie wybierz pozycję Nowe połączenie , aby utworzyć połączenie, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu przedstawiający, jak utworzyć nowe połączenie Fabric.

Zostanie otwarte okno Tworzenie nowego połączenia Microsoft Fabric jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu przedstawiający tworzenie połączenia.

Podczas konfigurowania połączenia podaj wartości agenta danych Fabric workspace-id i wartości artifact-id jako klucze niestandardowe. Wartości workspace-id i artifact-id można znaleźć w opublikowanym punkcie końcowym agenta danych Fabric. Punkt końcowy agenta danych Fabric ma następujący format: https://fabric.microsoft.com/groups/<workspace_id>/aiskills/<artifact-id>. Zaznacz pole wyboru Is Secret.

Na koniec przypisz nazwę do połączenia i wybierz, czy udostępnić ją wszystkim projektom w rozwiązaniu Foundry, czy ograniczyć ją do bieżącego projektu.

Po wybraniu Połączenie agent danych Microsoft Fabric zostanie dodany jako Knowledge zasób, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu przedstawiający sposób dodawania instrukcji.

Należy również podać instrukcje dla agenta sztucznej inteligencji Azure o tym, kiedy, jak i w jakich warunkach używać agenta danych Fabric. Z punktu widzenia agenta Azure sztucznej inteligencji agent danych Fabric jest traktowany jako narzędzie Fabric, co pozwala odwoływać się do niego w instrukcjach.

Możesz również dostosować model wdrażania, dodać akcje lub zmienić ustawienia modelu na podstawie wymagań dotyczących przypadków użycia. Po pełnym skonfigurowaniu agenta sztucznej inteligencji Azure wybierz Wypróbuj w środowisku testowym, aby przetestować jego wydajność.

Dodaj programowo agenta danych Fabric: W poniższych krokach opisano sposób programowego dodawania agenta danych Fabric do agenta Azure sztucznej inteligencji w Python. W przypadku innych języków (C#, JavaScript) zobacz ten zasób.

Krok 1. Konfigurowanie zmiennych środowiskowych i importowanie zestawu SDK

Przed uruchomieniem kodu ustaw następujące zmienne środowiskowe:

  • PROJECT_ENDPOINT: Punkt końcowy projektu Foundry, który można znaleźć na stronie „Przegląd” Twojego projektu Foundry.
  • MODEL_DEPLOYMENT_NAME: nazwa wdrożenia modelu, jak pokazano w obszarze Modele i punkty końcowe w projekcie Foundry.
  • FABRIC_CONNECTION_NAME: Nazwa połączenia Microsoft Fabric, tak jak jest wyświetlana w Połączonych zasobach w usłudze Foundry.

Zainstaluj zestawy SDK w wersji zapoznawczej i zaimportuj moduły:

pip install azure-identity
pip install --pre azure-ai-projects
import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder

Krok 2. Tworzenie agenta z włączonym narzędziem Microsoft Fabric

Aby udostępnić narzędzie agenta danych Fabric agentowi Azure AI, pobierz identyfikator połączenia z połączenia nazwanego w projekcie Foundry, a następnie przekaż go do FabricTool:

project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

# Look up the Fabric connection by name
conn_id = project_client.connections.get(os.environ["FABRIC_CONNECTION_NAME"]).id

# Initialize the Fabric tool with the connection ID
fabric = FabricTool(connection_id=conn_id)

with project_client:
    agents_client = project_client.agents

    agent = agents_client.create_agent(
        model=os.environ["MODEL_DEPLOYMENT_NAME"],
        name="my-agent",
        instructions="You are a helpful agent",
        tools=fabric.definitions,
    )
    print(f"Created agent, ID: {agent.id}")

Krok 3. Tworzenie wątku i wysyłanie komunikatu

    # Create a thread for communication
    thread = agents_client.threads.create()
    print(f"Created thread, ID: {thread.id}")

    # Add a message to the thread
    message = agents_client.messages.create(
        thread_id=thread.id,
        role="user",
        content="What is the top sold product in Contoso last month?",
    )
    print(f"Created message, ID: {message.id}")

Krok 4. Uruchamianie agenta i odczytywanie danych wyjściowych

Przetwórz przebieg, a następnie iteruj komunikaty, aby odczytać odpowiedź agenta:

    # Create and process the run with the Fabric tool
    run = agents_client.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
    print(f"Run finished with status: {run.status}")

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

    # Delete the agent when finished
    agents_client.delete_agent(agent.id)
    print("Deleted agent")

    # Fetch and print all messages in the thread
    messages = agents_client.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
    for msg in messages:
        if msg.text_messages:
            last_text = msg.text_messages[-1]
            print(f"{msg.role}: {last_text.text.value}")