Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Agente dati in Microsoft Fabric trasforma i dati aziendali in un sistema di domande e risposte conversazionali. Consente agli utenti di interagire con i propri dati tramite chat, per individuare approfondimenti attuabili. Un modo per utilizzare l'agente dati Fabric è attraverso il Servizio Agente Foundry, un componente centrale di Microsoft Foundry. Grazie all'integrazione di Fabric agenti dati con Foundry, gli agenti di intelligenza artificiale Azure possono sfruttare direttamente i dati avanzati, strutturati e semantici disponibili in Microsoft Fabric OneLake. Questa integrazione offre accesso immediato ai dati aziendali di alta qualità e consente agli agenti di intelligenza artificiale di Azure di generare informazioni dettagliate interattive e semplificare i flussi di lavoro analitici. Le organizzazioni possono quindi migliorare il processo decisionale basato sui dati con Fabric agente dati come una potente fonte di conoscenze all'interno degli ambienti di intelligenza artificiale Azure.
Importante
Questa funzionalità si trova in Anteprima. Usare la versione beta o di anteprima più recente di Azure AI Agents Python SDK.
Prerequisiti
- Una capacità di Fabric a pagamento di livello F2 o superiore, o una capacità Power BI Premium per capacità (P1 o superiore) con Microsoft Fabric abilitato.
- Impostazioni del tenant dell'agente dati di Fabric sono abilitate, incluse le Capacità possono essere designate come capacità di Fabric Copilot.
- L'elaborazione multigeografica per l'intelligenza artificiale è abilitata.
- L'archiviazione tra aree geografiche per intelligenza artificiale è abilitata.
- Almeno uno di questi, con dati: un warehouse, una lakehouse, uno o più modelli semantici Power BI, un database KQL o un'ontologia.
- sono abilitati per le origini dati del modello semantico di Power BI.
- Per i modelli semantici di Power BI utilizzati con un gateway dati, assicurarsi che gli utenti che interagiscono tramite il gateway dispongano dell'autorizzazione di lettura per il modello semantico. L'autorizzazione come Membro o di Sviluppo nell'area di lavoro non è necessaria per l'interazione.
- Gli sviluppatori e gli utenti finali in Foundry devono avere almeno il ruolo
AI DeveloperRole-Based Controllo di accesso (RBAC).
Come funziona
Nel Servizio Agent, creare un nuovo agente e aggiungere Agente dati Fabric come una delle sue fonti di conoscenza. Al fine di stabilire questa connessione, è necessario l'ID dell'area di lavoro e l'ID dell'artefatto per l'agente dati Fabric. La configurazione consente all'agente di intelligenza artificiale di Azure di valutare le origini disponibili quando riceve una query, per assicurarsi che richiami lo strumento corretto per elaborare la richiesta. Attualmente, è possibile aggiungere un solo agente dati Fabric come origine delle conoscenze all'agente di intelligenza artificiale Azure.
Annotazioni
Il modello che selezioni nella configurazione dell'agente di intelligenza artificiale di Azure è usato solo per l'orchestrazione e la generazione di risposte dell'agente di intelligenza artificiale di Azure. Non influisce sul modello utilizzato dall'agente dati di Fabric.
Elaborazione delle query: quando un utente invia una query dal playground Foundry, il Servizio Agente determina se l'agente di dati Fabric è lo strumento migliore per l'attività. In caso affermativo, l'agente di intelligenza artificiale Azure:
- Usa l'identità dell'utente finale per generare query sicure sulle origini dati a cui l'utente ha l'autorizzazione per accedere dall'interno dell'agente dati Fabric.
- Richiama Fabric per recuperare ed elaborare i dati, per garantire un'esperienza uniforme e automatizzata.
- Combina i risultati dell'agente dati di Fabric con la propria logica per generare risposte esaustive. L'autorizzazione di pass-through dell'identità (On-Behalf-Of) protegge questo flusso, per garantire una sicurezza affidabile e un controllo di accesso appropriato per i dati aziendali.
Annotazioni
L'agente dati Fabric e le risorse Foundry devono trovarsi nello stesso tenant e sia Microsoft Fabric che Foundry devono essere connessi con lo stesso account.
Aggiungere l'agente di dati Fabric all'agente IA di Azure
È possibile aggiungere un agente dati Fabric all'agente di intelligenza artificiale Azure a livello di codice o con l'interfaccia utente. Per esempi di codice dettagliati e altre istruzioni, vedere la documentazione sull'integrazione dell'agente di intelligenza artificiale Azure.
Aggiungi agente dati Fabric tramite l'interfaccia utente:
- Passare al riquadro sinistro. In Crea e personalizza selezionare Agenti, come illustrato nello screenshot seguente:
Questo passaggio visualizza l'elenco degli agenti di intelligenza artificiale Azure esistenti. È possibile aggiungere Fabric a uno di questi agenti oppure selezionare Nuovo agente per creare un nuovo agente. La creazione di un nuovo agente genera un ID agente univoco e un nome predefinito. Il nome può essere modificato in qualsiasi momento. Per altre informazioni, vedere Che cos'è Azure OpenAI nel portale Foundry.
- Inizia ad aggiungere una fonte di conoscenza: seleziona il pulsante Aggiungi, come illustrato nello screenshot seguente.
Questo passaggio apre un menu dei tipi di origine delle informazioni supportati.
- Selezionare Microsoft Fabric come Origine: dall'elenco scegliere Microsoft Fabric, come illustrato nello screenshot seguente:
Con questa opzione, l'agente può accedere all'agente dati Fabric.
- Creare una connessione: se in precedenza è stata stabilita una connessione a un agente dati Fabric, è possibile riutilizzare tale connessione per il nuovo agente di intelligenza artificiale Azure. In caso contrario, selezionare Nuova connessione per creare una connessione, come illustrato nello screenshot seguente:
Viene visualizzata la finestra Creare una nuova connessione Microsoft Fabric, come illustrato nello screenshot seguente:
Quando si configura la connessione, specificare i valori dell'agente dati Fabric workspace-id e artifact-id come chiavi personalizzate. È possibile trovare i valori workspace-id e artifact-id nell'endpoint dell'agente dati pubblicato Fabric. L'endpoint dell'agente dati Fabric ha questo formato:
https://fabric.microsoft.com/groups/ < workspace_id>/aiskills/<artifact-id> e selezionare la casella di controllo Is Secret
Assegnare infine un nome alla connessione e scegliere se renderlo disponibile a tutti i progetti in Foundry o limitarlo al progetto corrente.
Dopo aver selezionato Connect, l'agente dati Microsoft Fabric viene aggiunto come risorsa Knowledge, come illustrato nello screenshot seguente:
È anche necessario fornire istruzioni all'agente di intelligenza artificiale Azure su quando, come e in quali condizioni usare l'agente dati Fabric. Dal punto di vista dell'agente di intelligenza artificiale di Azure, l'agente dati Fabric viene considerato come uno strumento di Fabric, quindi è possibile farvi riferimento nelle istruzioni.
È anche possibile modificare il modello di distribuzione, aggiungere azioni o modificare le impostazioni del modello in base ai requisiti del caso d'uso. Dopo aver configurato completamente l'agente di intelligenza artificiale Azure, selezionare Try in playground per testarne le prestazioni.
Aggiungi Fabric agente dati a livello di codice: i passaggi seguenti descrivono come aggiungere un agente dati Fabric a livello di codice all'agente di intelligenza artificiale Azure in Python. Per altri linguaggi (C#, JavaScript), vedere questa risorsa.
Passaggio 1: Creare un client del progetto
Creare un oggetto client contenente la stringa di connessione che si connette al progetto di intelligenza artificiale e ad altre risorse.
import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder
Passaggio 2: Creare un agente con lo strumento di Microsoft Fabric abilitato
Per rendere disponibile lo strumento agente dati Fabric all'agente di intelligenza artificiale Azure, usare una connessione per inizializzare lo strumento e collegarlo all'agente. È possibile trovare la connessione nella sezione risorse connesse del progetto nel portale 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}")
Passaggio 3: Creare un thread
# 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}")
Passaggio 4: Creare un'esecuzione e controllare l'output
Avvia un'esecuzione e osserva che il modello utilizza lo strumento agente per i dati Fabric per fornire una risposta alla domanda dell'utente.
# 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}")