Restituire un elenco di risultati
È comune chiedere a un agente di cercare dati in un sistema esterno e restituire un elenco di risultati. A tale scopo, un agente può chiamare un flusso Power Automate per:
- Autenticarsi e connettersi a una soluzione esterna.
- Eseguire una query in base all'input dell'utente.
- Formattare i risultati.
- Restituire i risultati all'agente.
Questo esempio usa il connettore Dataverse in Power Automate per cercare gli account. Il connettore restituisce all'agente un elenco di risultati che include il nome dell'account, la città e il numero di account.
Prerequisiti
- Informazioni su come creare un flusso dall'area del contenuto di Copilot Studio
- Usare le variabili di input e output per passare informazioni
- Configurare la ricerca di Dataverse per l'ambiente
Impostare una tabella account di Dataverse
La tabella Account è una tabella standard disponibile per impostazione predefinita negli ambienti Power Platform. Tuttavia, non viene fornita con i dati dell'account. Prima che l'agente possa cercare gli account, devi popolare la tabella Account.
Se hai già una tabella Account con i dati, salta questo passaggio e vai a Creare un argomento. Tuttavia, ricordati di utilizzare termini di ricerca pertinenti ai tuoi dati quando testerai il tuo agente nei passaggi successivi.
Andare al portale di Power Apps.
Nel riquadro di spostamento, seleziona Tabelle.
Seleziona la tabella Account, quindi nella pagina delle proprietà della tabella, seleziona Modifica.
Aggiungi le seguenti righe alla tabella:
Indirizzo 1: città Nome conto Numero conto Seattle Contoso Inc AC0125 San Francisco Contoso Residences AC0255 Olympia Contoso Meal Delivery AC0035
Creare un argomento
In Copilot Studio, vai alla pagina Argomenti per il tuo agente.
Crea un argomento chiamato Ricerca account.
Aggiungi le seguenti frasi trigger:
- Sto cercando un cliente
- Sto cercando un account
- ricerca account
- ricerca cliente
Aggiungi un nodo Messaggio e immetti il messaggio "Sembra che tu stia cercando un account. Posso cercarlo per te".
Aggiungi un nodo Domanda e immetti il messaggio "Qual è il nome del cliente che stai cercando?"
Per Identifica, seleziona Organizzazione.
Funzionerebbe anche l' intera risposta dell'utente. Tuttavia, selezionando l'entità Organizzazione, si sfruttano le funzionalità di comprensione del linguaggio dell'agente per estrarre il nome dell'organizzazione dalla risposta.
Per Salva risposta utente con nome, rinomina la variabile in "organizzazione".
Creare un flusso
Seleziona l'icona Aggiungi nodo
sotto qualsiasi nodo e seleziona Aggiungi un'azione.
Nella scheda Azioni di base seleziona Nuovo flusso Power Automate.
In Power Automate, seleziona il nome del flusso e sostituiscilo con Ricerca account.
Seleziona il trigger Esegui un flusso da Copilot e aggiungi un parametro di input di testo denominato Organizzazione.
Seleziona l'icona Aggiungi sotto il trigger Esegui un flusso da Copilot.
In Aggiungi un'azione cerca "Microsoft Dataverse" e seleziona l'azione Cerca righe.
Questa azione utilizza la corrispondenza fuzzy per trovare account pertinenti nella tabella Account di Dataverse.
Nella casella Termine di ricerca, inserisci una barra (
/
), seleziona Inserisci contenuto dinamico, quindi seleziona il parametro di input Organizzazione.Per Parametri avanzati, seleziona Mostra tutto e imposta i valori seguenti:
-
Elemento filtro tabella:
account
-
Ordina per elemento - 1:
search.score desc
-
Ordina per elemento - 2:
name asc
-
Elemento filtro tabella:
Formattar i risultati
L'azione Cerca righe restituisce la variabile Elenco di righe che contiene dati JSON. Prima di poter usare i dati, è necessario analizzarli con l'azione Analizza JSON.
Seleziona l'icona Aggiungi sotto l'azione Cerca righe.
In Aggiungi un'azione, cerca "Operazione dati" e seleziona l'azione Analizza JSON.
Nella casella Contenuto, immetti una barra (
/
), seleziona Inserisci contenuto dinamico, quindi seleziona Elenco di righe.Copia il seguente schema JSON e incollalo nella casella Schema:
{ "type": "array", "items": { "type": "object", "properties": { "@@search.score": { "type": "number" }, "name": { "type": "string" }, "address1_city": { "type": "string" }, "accountnumber": { "type": "string" } }, "required": [ "name" ] } }
Seleziona l'icona Aggiungi sotto l'azione Analizza JSON.
In Aggiungi un'azione, cerca "Variabile" e seleziona l'azione Inizializza variabile.
Nella casella Nome, immetti "ListOfAccounts".
Per Tipo, seleziona Stringa.
Seleziona l'icona Aggiungi sotto l'azione Inizializza variabile.
In Aggiungi un'azione, cerca "Controllo" e seleziona l'azione Applica a ogni.
Nella casella Seleziona un output dai passaggi precedenti, immetti una barra (
/
), seleziona Inserisci contenuto dinamico, quindi seleziona la variabile Body in Analizza JSON.Seleziona l'icona Aggiungiall'interno dell'azione Applica a ogni.
In Aggiungi un'azione, cerca "Variabile" e seleziona l'azione Aggiungi a variabile di stringa.
Per Nome, seleziona ListOfAccounts.
Copia il testo seguente e incollalo nella casella Valore:
- @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
Aggiungi un'interruzione di riga dopo frammento per far apparire ogni risultato su una riga separata.
Nell'azione Rispondi a Copilot aggiungi un output di testo.
In Nome, immetti "FoundAccounts".
Per il valore, immetti una barra rovesciata (
/
) nella casella, seleziona Inserisci contenuto dinamico, quindi seleziona la variabile ListOfAccounts.Salva e pubblica il flusso.
Chiamare il flusso da Copilot Studio
In Copilot Studio, seleziona l'icona Aggiungi nodo
nel nodo Domanda, seleziona Aggiungi un'azione, quindi seleziona il flusso che hai creato in precedenza, Cerca account.
Imposta il parametro di input del flusso sulla variabile di output dal nodo Domanda: Organizzazione (Stringa) ottiene il valore dalla variabile di organizzazione.
Aggiungi un nodo Messaggio e immetti il messaggio "Ok, questo è quello che ho trovato".
Aggiungi un secondo nodo Messaggio. Seleziona l'icona Inserisci variabile, quindi seleziona FoundAccounts.
Selezionare Salva.
Testa l'agente.