Condividi tramite


Utilizzo di variabili

È possibile usare le variabili per archiviare le risposte dei clienti e riutilizzare il contenuto più avanti nella conversazione.

Puoi anche utilizzare le variabili per creare espressioni logiche che instradino dinamicamente il cliente lungo percorsi di conversazione diversi. Ad esempio, salva il nome di un cliente in una variabile denominata "customerName" e l'agente può rivolgersi al cliente per nome mentre la conversazione continua.

Le variabili possono anche essere passate a e restituite da, altri argomenti e flussi Power Automate.

Creazione di una variabile

Qualsiasi nodo che restituisce un output, ad esempio un nodo Domanda , crea automaticamente una variabile di output del tipo appropriato.

Screenshot di un nodo Domanda con il nome predefinito e il tipo della variabile evidenziati.

Mancia

Rinominare i nodi per renderli più facili da identificare. Seleziona il campo del nome del nodo per aggiornare direttamente il nome, oppure seleziona l'icona Altro () del nodo e seleziona Rinomina dal menu. Puoi inoltre rinominare i nodi nell'editor del codice.

Non è possibile rinominare i nodi Trigger e i nodi Vai al passaggio.

I nomi dei nodi possono avere una lunghezza massima di 500 caratteri.

Scegli un'entità da utilizzare

I nodi Domanda vengono creati con opzioni a scelta multipla per impostazione predefinita. Per usare un'entità predefinita o personalizzata diversa, selezionare la casella Identifica e quindi selezionare il tipo di informazioni desiderato.

Screenshot di un nodo Domanda con il pannello

Ridenominazione di una variabile

Alle variabili viene assegnato automaticamente un nome quando vengono create. Una procedura consigliata consiste nell'assegnare nomi significativi alle variabili per rendere chiaro il loro scopo a chiunque debba gestire l'agente.

  1. Selezionare la variabile. Viene visualizzato il riquadro Proprietà variabili.

  2. In Nome variabile immettere il nome desiderato per la variabile.

Impostare una variabile

In genere si utilizza un nodo Domanda per memorizzare l'input dell'utente in una variabile. Tuttavia, potrebbero esserci situazioni in cui si vuole impostare il valore di una variabile manualmente. In questi casi, utilizza un nodo Imposta valore variabile.

  1. Selezionare l'icona Aggiungi nodo sotto il nodo dopo il quale si vuole aggiungere un nodo Imposta valore variabile .

  2. Selezionare Gestione delle Variabili>Imposta un valore variabile. Viene visualizzato un nodo Imposta valore variabile nell'area di disegno.

  3. Seleziona la casella in Imposta variabile, quindi seleziona Crea una nuova variabile. Viene creata una nuova variabile. Il suo tipo è sconosciuto finché non gli assegni un valore.

    Screenshot di un nodo

  4. Per A valore, assegna un valore tramite una delle opzioni seguenti:

    • Digita un valore letterale.
    • Seleziona una variabile esistente dello stesso tipo.
    • Usa a formula Power Fx. Le formule Power Fx sono utili per tipi più complessi, in cui non è possibile utilizzare valori letterali, come i tipi Tabella e Record.

Usare le variabili nei nodi azione

Quando si usa una variabile in un nodo Azione , se il tipo di base corrisponde a un tipo di parametro specificato per un flusso o per una competenza di Bot Framework, è possibile immetterlo in tale parametro. L'output dei nodi azione genera nuove variabili.

Per altre informazioni di contesto, vedere gli scenari di esempio in Chiamare un flusso di agenti da un argomento e Usare variabili di input e output per passare informazioni.

Uso di valori letterali per gli input di variabili

Nei nodi in cui è possibile impostare un valore per i parametri di input, è sempre possibile immettere un valore letterale anziché selezionare un'altra variabile come valore.

Screenshot che mostra l'uso di un valore letterale per un parametro di input variabile denominato productName.

Il nodo tenta di interpretare i valori letterali come una stringa, un numero o un booleano. Ad esempio, 123 viene interpretato come un numero. Se invece vuoi che venga interpretato come un valore stringa, puoi racchiudere questo valore tra virgolette, come "123".

Per alcuni scenari (ad esempio, scenari che utilizzano tipi complessi), potrebbe essere necessario utilizzare una formula Power Fx per impostare un tipo specifico.

Usare le variabili di ambiente per i segreti di Azure Key Vault

Una variabile di ambiente può fare riferimento a un segreto nell'insieme di credenziali delle chiavi. Le variabili d'ambiente segrete sono un caso speciale di variabili d'ambiente con considerazioni specifiche.

Per creare una variabile di ambiente segreta nel portale di Power Apps, devi configurarne l'insieme di credenziali delle chiavi.

Per autorizzare la lettura di questo insieme di credenziali delle chiavi da parte di Copilot Studio, è necessario eseguire le seguenti azioni:

  1. Assegna il ruolo Utente di segreti di Key Vault all'applicazione Microsoft Copilot Studio Service.

  2. Per autorizzare tutti gli agenti dall'ambiente ad accedere al segreto, creare un tag AllowedEnvironments nel segreto e aggiungere gli ID di ambiente consentiti separati da virgole.

  3. Per autorizzare solo agenti specifici dell'ambiente a usare questo insieme di credenziali delle chiavi, crea un tag AllowedAgents e inserisci l'identificatore agente nel formato {envId}/{schemaName}. In caso di più valori, separarli con virgole.

    Se raggiungi il numero massimo di caratteri ma devi comunque aggiungere altri agenti, aggiungi un altro tag con un nome descrittivo ma univoco (ad esempio: AllowedAgents2).

Il valore del segreto viene memorizzato nella cache durante l'esecuzione del dialogo per cinque minuti. Le letture non riuscite vengono memorizzate nella cache per 30 secondi.

Avviso

Aggiungendo il segreto nell'agente, è possibile esporre il valore di questo segreto. Chiunque possa modificare l'agente nell'ambiente potrebbe aggiungere un nodo Messaggio e restituire il valore delle variabili di ambiente segrete in un messaggio.

Pannello Variabili

Nel pannello Variabili puoi visualizzare tutte le variabili disponibili per un argomento, indipendentemente dai nodi in cui sono definite o utilizzate. Per ogni variabile, puoi selezionare se può ricevere il suo valore da altri argomenti, restituire il suo valore ad altri argomenti o entrambi. Puoi anche selezionare una variabile per modificarne le proprietà nel pannello Proprietà variabile.

Per aprire il pannello Variabili , selezionare Variabili nella barra dei menu dell'argomento.

Screenshot del pannello Variabili con il pulsante Variabili evidenziato.

Pannello proprietà variabile

Nel pannello Proprietà variabile è possibile rinominare una variabile, vedere dove viene usata dall'agente o convertirla in una variabile globale. Tuttavia, non è possibile riconvertire una variabile globale in una variabile argomento. È anche possibile selezionare se una variabile argomento può ricevere valori da altri argomenti o passarne il valore ad altri.

Per aprire il pannello Proprietà variabili per una variabile, seleziona la variabile desiderata nel pannello Variabili. È anche possibile aprire il pannello Proprietà variabile da qualsiasi nodo che usa variabili selezionando la variabile desiderata.

Passare le variabili tra argomenti

Quando si reindirizza un argomento a un altro, è possibile passare i valori delle variabili dall'argomento di origine all'argomento di destinazione e anche restituire valori dall'argomento di destinazione all'argomento di origine. Il passaggio di variabili tra argomenti è particolarmente utile quando un argomento precedente ha già raccolto le informazioni di cui ha bisogno un argomento successivo. Gli utenti apprezzano certamente di non dover rispondere alle stesse domande più di una volta.

Ricevi valori da altri argomenti

Quando un argomento definisce una variabile (ad esempio, tramite un nodo Domanda), l'agente chiede all'utente di inserire il valore della variabile. Se l'agente ha già acquisito il valore in un argomento precedente, non c'è motivo di porre nuovamente la domanda. In questi casi, puoi impostare la variabile su Ricevi valori da altri argomenti. Quando un altro argomento reindirizza a questo argomento, può passare il valore di una variabile o un valore letterale in questa variabile e ignorare del tutto la domanda. L'esperienza per l'utente che parla con l'agente è fluida.

In questo esempio utilizziamo due argomenti: Formula di saluto e Parlare con il cliente. Entrambi gli argomenti richiedono il nome del cliente. Tuttavia, se l'argomento Formula di saluto viene eseguito per primo, l'argomento Parlare con il cliente salta la domanda. Invece, utilizza il valore della variabile passata dall'argomento Formula di saluto.

Ecco il flusso dell'argomento Parlare con il cliente:

Screenshot del flusso di conversazione per l'argomento Parla con il cliente.

Come mostrato nel pannello di test, se questo argomento viene attivato per primo, chiede all'utente: "Come devo chiamarti?" Archivia il valore in una variabile stringa chiamata customerName. Anche la variabile customerName è impostata per ottenere il suo valore da altri moduli. Il modulo si conclude con il messaggio: "Spero che tu stia trascorrendo una giornata meravigliosa, customerName."

Ecco il flusso dell'argomento Formula di saluto:

Screenshot del flusso di conversazione per l'argomento Saluto.

Come mostrato nel pannello di test, se questo argomento viene attivato per primo, chiede all'utente: "Come ti chiami?" Archivia il valore in una variabile stringa chiamata customerName. L'argomento invia il messaggio "Piacere di conoscerti, customerName." Quindi reindirizza all'argomento Parlare con il cliente, che invia il messaggio "Spero che tu stia trascorrendo una giornata meravigliosa, customerName." Nota, tuttavia, che l'argomento Parlare con il cliente ha saltato di nuovo la richiesta del nome dell'utente. Invece, utilizza il valore della variabile customerName passata dall'argomento Formula di saluto.

Infine, ecco di nuovo la seconda conversazione, questa volta dal punto di vista dell'argomento Parlare con il cliente:

Screenshot del flusso di conversazione per l'argomento Parla con il cliente quando viene attivato prima l'argomento Saluto.

Esaminiamo i passaggi per configurare un argomento in modo da ricevere valori da altri argomenti. Il nostro scenario di esempio utilizza l'argomento predefinito Formula di saluto come argomento di origine e un nuovo argomento Parlare con il cliente come argomento di destinazione, ma gli stessi passaggi funzionano per qualsiasi argomento che dovrebbe utilizzare un valore da un argomento precedente, se possibile.

Configurare l'argomento di destinazione

L'argomento di destinazione è l'argomento a cui viene reindirizzato, quello che riceve i valori da altri argomenti. Nel nostro esempio, è Parlare con il cliente.

  1. Crea un nuovo argomento e chiamalo "Parla con il cliente".

  2. Aggiungi frasi di attivazione come "parla con me", "parlami", "chatta con me".

  3. Aggiungi un nodo Domanda e inserisci "Come dovrei chiamarti?" per il messaggio.

  4. In Identifica, seleziona l'entità Nome persona predefinita.

  5. Seleziona il nome della variabile. Si apre il riquadro Proprietà variabili.

  6. Sostituisci il nome predefinito con "customerName", quindi seleziona Ricevi valori da altri argomenti.

    Screenshot del pannello 'Proprietà variabili' che mostra la variabile customerName e le sue proprietà.

  7. Aggiungi un nodo messaggio.

  8. Nella casella del messaggio, inserisci "Spero che tu stia trascorrendo una giornata meravigliosa".

  9. Seleziona l'icona Inserisci variabile ({x}), quindi seleziona customerName.

  10. Seleziona lo spazio dopo la variabile e digita "!".

  11. Salva l'argomento.

Configurare l'argomento di origine

L'argomento di origine è l'argomento che esegue il reindirizzamento, quello che fornisce il valore e lo passa all'argomento di destinazione. In questo esempio, è Formula di saluto.

  1. Vai all'argomento Formula di saluto ed elimina i nodi predefiniti, ad eccezione del nodo Trigger.

  2. Aggiungi un nodo Domanda e inserisci "Come ti chiami?" come messaggio.

  3. In Identifica, seleziona l'entità Nome persona predefinita.

  4. Sostituisci il nome predefinito con "customerNameFromGreeting".

  5. Aggiungi un nodo messaggio.

  6. Nella casella del messaggio, inserisci "Piacere di conoscerti,".

  7. Seleziona l'icona Inserisci variabile ({x}), quindi seleziona customerNameFromGreeting.

  8. Seleziona lo spazio dopo la variabile e digita "!".

  9. Aggiungi un nodo Reindirizza e seleziona l'argomento di destinazione Parlare con il cliente.

  10. Seleziona Aggiungi input, quindi seleziona la variabile dall'argomento di destinazione a cui vuoi passare un valore.

    Screenshot dell'argomento Formula di apertura con la variabile customerName aggiunta come input in un nodo di reindirizzamento.

  11. Seleziona l'icona >, quindi seleziona la variabile di cui vuoi passare il valore, customerNameFromGreeting, in questo esempio.

    Il nodo Reindirizza dovrebbe apparire così:

    Screenshot del nodo Reindirizza completato nell'argomento Formula di saluto.

  12. Salva l'argomento.

Restituisci valori agli argomenti originali

In un agente, un argomento è pensato per raccogliere un'informazione specifica. Molteplici altri argomenti possono chiamarlo, aspettandosi che questo restituisca le informazioni come variabile. La variabile diventa parte dell'argomento di origine e può essere usata come qualsiasi altra variabile. Le informazioni che l'agente ottiene sono pertanto disponibili tra gli argomenti, riducendo la necessità di variabili globali.

Continuiamo con l'esempio dalla sezione precedente. Poniamo una nuova domanda nell'argomento Parlare con il cliente e poi restituiamo la risposta nell'argomento Formula di saluto.

Configurare l'argomento di origine per una variabile restituita

Quando si restituisce una variabile a un argomento, l'argomento di origine è l'argomento che fornisce il valore da restituire all'argomento originale. In questo esempio, l'argomento di origine è Parlare con il cliente.

  1. Vai all'argomento di origine.

  2. Aggiungi un nodo Domanda e inserisci "In quale città vivi?" come messaggio.

  3. In Identifica, seleziona l'entità Città predefinita.

  4. Seleziona la variabile per aprire il pannello Proprietà variabile. Assegnagli il nome "customerCity", quindi seleziona Restituisci valori agli argomenti originali.

    Screenshot dell'argomento Parla con il cliente con la variabile customerCity e le sue proprietà evidenziate.

  5. Aggiungi un nodo messaggio.

  6. Seleziona l'icona Inserisci variabile ({x}), quindi seleziona customerCity.

  7. Dopo la variabile nella casella del messaggio, inserisci "deve essere bellissimo in questo periodo dell'anno.".

  8. Salva l'argomento.

Configurare l'argomento di destinazione per una variabile restituita

Quando si restituisce una variabile a un argomento, l'argomento di destinazione è l'argomento che riceve i valori dall'argomento corrente. Nel nostro esempio, l'argomento di destinazione è Formula di saluto.

  1. Vai all'argomento di destinazione.

  2. La variabile selezionata nell'argomento di origine dovrebbe essere visualizzata sul nodo Reindirizza come variabile di output.

    Screenshot del flusso di conversazione per l'argomento Saluto con una variabile restituita in un nodo Reindirizzamento.

  3. Salva l'argomento.

Analizzare i valori

Il nodo Analizza valore consente di convertire un valore di un tipo in un valore di un altro tipo. Un caso d'uso comune per il nodo Valore di analisi consiste nel convertire json non elaborato. Ad esempio, un agente chiama un flusso, che a sua volta chiama un'API. L'API restituisce un risultato. A questo punto è necessario un modo per analizzare questo risultato e restituire una o più variabili primitive. Con il nodo Parse value (Analizza valore ) è possibile inviare l'intero risultato dell'API come stringa, ad esempio:

{
    "Name": "Parker",
    "Position": "Product manager",
    "Company": "Contoso",
    "FormerPositions": [{
            "Position": "Customer service representative"
        }
    ]
}

Il nodo Parse value (Analizza valore ) può convertire la variabile stringa ora disponibile in una variabile di tipo Record, per cui l'editor di Power Fx fornisce suggerimenti e completamento del codice IntelliSense.

Oltre all'analisi delle stringhe JSON, un uso chiave del nodo Parse value è l'analisi degli oggetti non tipizzati in fase di esecuzione. Il caso d'uso più comune è quando si riceve un evento e si ha la necessità di analizzarne il valore. In alternativa, è possibile analizzare la System.Activity.ChannelData proprietà, che varia in fase di esecuzione in base al canale.

Se è necessario analizzare le informazioni da un evento proveniente da Teams, vedere la documentazione per sviluppatori di Teams per trovare un esempio dell'aspetto dell'evento previsto.If you need to parse information from an event from Teams, refer to the Teams developer documentation to find an example of what the expected event might look like. È quindi possibile seguire le istruzioni riportate in questa sezione, usando l'evento di esempio come dati di esempio.

Per aggiungere un nodo valore di analisi a un argomento:

  1. Selezionare l'icona Aggiungi nodo sotto il nodo dopo il quale si vuole analizzare un valore, scegliere Gestione variabili e selezionare Analizza valore.

  2. Aggiungi un nodo Analizza valore e seleziona la variabile che vuoi analizzare.

    Screenshot che mostra la selezione di la variabile da analizzare.

  3. Seleziona il tipo di dati. In questo caso scegli Dai dati di esempio.

    Screenshot che mostra la selezione del tipo di dati per un nodo Analizza valore.

  4. Selezionare Recupera schema da JSON di esempio, immettere l'esempio JSON desiderato nell'editor visualizzato e selezionare Conferma.

    Screenshot che mostra l'editor in cui si immettono dati JSON di esempio.

  5. Infine, selezionare la variabile per contenere il valore analizzato. In genere si crea una nuova variabile.

    Screenshot che mostra come creare una variabile per contenere un valore analizzato direttamente dal nodo Analizza valore.

    La variabile di output ha ora il tipo previsto: record.

    Screenshot che mostra che la variabile che contiene i dati analizzati ha il tipo previsto: record.