Condividi tramite


Usare un chatbot classico come competenza in un bot Bot Framework

Nota

Questo articolo si applica solo ai chatbot classici. Questa funzionalità non è disponibile nella nuova esperienza Copilot Studio.

Quando usi un chatbot classico come competenza con un bot Bot Framework, il bot Bot Framework determina se qualcosa che l'utente dice corrisponde a frasi trigger del chatbot classico. Se c'è una corrispondenza, il bot Bot Framework passa la conversazione al bot classico. Il chatbot classico estrae qualsiasi entità e attiva l'argomento corrispondente.

Puoi anche passare una variabile a un argomento di competenza Copilot Studio come input da Bot Framework Composer e utilizzare gli output che restituisce.

Importante

Devi avere una licenza di valutazione o completa di Copilot Studio per usare i chatbot classici come competenze. Questa capacità non è disponibile con la licenza Teams Copilot Studio.

Per configurare il chatbot classico come competenza:

  1. Aggiungi il bot Bot Framework all'elenco degli elementi consentiti del chatbot classico.

  2. Scarica il manifesto della competenza per il chatbot classico.

  3. Usa il manifesto della competenza scaricato in Bot Framework Composer per creare una connessione tra i bot.

  4. Usa l'emulatore Bot Framework per confermare che il bot funziona come competenza.

Prerequisiti

Aggiungere il bot Bot Framework all'elenco degli elementi consentiti del chatbot classico

Aggiungere l'ID app del Bot Framework nell'elenco degli elementi consentiti del chatbot classico che vuoi usare come competenza. I bot devono essere nello stesso tenant.

  1. In Bot Framework Composer, apri il bot che utilizzerà la competenza. Seleziona Configura, quindi seleziona Risorse di sviluppo. Copia l'ID in ID app Microsoft.

  2. In Copilot Studio, apri il chatbot classico che desideri utilizzare come competenza.

  3. Nel menu di navigazione, vai a Impostazioni e seleziona Sicurezza. Seleziona Elenco elementi consentiti.

  4. Seleziona Aggiungi chiamante consentito.

  5. Incolla l'ID app del Bot Framework e seleziona Avanti.

    Attenzione

    Un chatbot classico non può fungere da abilità per altri chatbot classici. Se provi ad aggiungere un ID app che appartiene a un bot Power Virtual Agent all'elenco elementi consentiti, riceverai un errore. Puoi aggiungere un ID app solo per un Bot Framework.

    Copilot Studio convalida l'ID app del Bot Framework e conferma che appartiene a un bot distribuito nello stesso tenant.

  6. (facoltativo) Puoi aggiungere un nome visualizzato per il bot che hai aggiunto all'elenco elementi consentiti.

  7. Selezionare Salva.

Il bot Bot Framework viene mostrato con il suo nome visualizzato se ne hai inserito uno, o conl'ID app se non hai inserito un nome visualizzato. Per eliminarlo o modificarlo in qualsiasi momento, seleziona l'icona a destra dell'ID app o del nome visualizzato del bot.

Nota

I Bot Framework aggiunti all'elenco elementi consentiti non sono esportati come parte del contenuto del bot.

Scarica il manifesto delle competenze del chatbot classico per il tuo chatbot classico

I bot Bot Framework possono usare un manifesto della competenza Copilot Studio per configurare una connessione al chatbot classico che ha prodotto il manifesto.

Tutti i chatbot classici hanno manifesti di abilità. Un manifesto delle competenze è un file JSON che include il nome, l'interfaccia e le frasi trigger di una competenza.

Il bot Bot Framework può usare il manifesto della competenza per sapere quando attivare il chatbot classico (ad esempio, in risposta a qualcosa che un utente dice al bot).

I manifesti della competenza Copilot Studio seguono la versione 2.2 dello schema del manifesto della competenza Bot Framework e consistono nei file intents.lu e manifest.json.

Un bot Bot Framework potrebbe decidere che un chatbot classico deve gestire la richiesta dell'utente, in base ai dati del manifesto. Passa al chatbot classico tutto ciò che l'utente ha detto. Il chatbot classico corrisponde a ciò che l'utente ha detto a un argomento Copilot Studio, estrae le entità relative al riempimento degli slot e attiva l'argomento Copilot Studio.

I manifesti della competenza Copilot Studio vengono generati e aggiornati automaticamente. Un chatbot classico ha due manifesti della competenza:

  • Manifesto di test: consente al bot Bot Framework di connettersi alla versione di prova del chatbot classico. Usa il manifesto di test per convalidare le modifiche alla tua competenza prima di pubblicarla.

    • Il manifesto di test è immediatamente disponibile per ogni nuovo chatbot classico.
    • Viene aggiornato automaticamente per riflettere le modifiche ogni volta che salvi il chatbot classico.
  • Manifesto pubblicato: consente al bot Bot Framework di connettersi alla versione pubblicata del chatbot classico.

    • Il manifesto pubblicato è disponibile solo per i chatbot classici che sono stati pubblicati almeno una volta.
    • Viene aggiornato automaticamente per riflettere le modifiche ogni volta che pubblichi il tuo agente.

Nota

Il manifesto pubblicato non è disponibile nei chatbot classico che non sono stati mai pubblicati.

Per generare il manifesto pubblicato del tuo bot, devi pubblicare il chatbot classico.

Entrambi i manifesti della competenza sono visualizzati nel pannello Gestisci elenco elementi consentiti.

I manifesti della competenza vengono visualizzati anche nella pagina Dettagli del copilota. Nel menu di spostamento, seleziona Impostazioni, quindi Dettagli. La pagina Dettagli mostra altri metadati come ID ambiente, ID tenant, e ID app bot.

Per scaricare un manifesto, selezionalo. Viene scaricato come file .zip etichettato _<bot name>manifest per il manifesto pubblicato o <bot name>test__manifest per il manifesto di test.

Nota

Gli argomenti di sistema e le finestre di dialogo di Composer aggiunti al chatbot classico non sono inclusi nel manifeso della competenza. Sono inclusi solo gli argomenti creati dagli autori del copilota e dai trigger di intenti di Composer che gli autori aggiungono al bot.

Connessione a una competenza Copilot Studio in Composer

Usa i manifesti della competenza Copilot Studio per creare una connessione di competenza nel bot Bot Framework in Composer.

  1. In un progetto Bot Framework Composer, seleziona + Aggiungi e poi seleziona Connetti una competenza.

  2. Sfoglia e seleziona un file .zip del manifesto Copilot Studio quindi seleziona Avanti.

  3. Seleziona gli argomenti o gli intenti nel chatbot classico che vuoi aggiungere al tuo bot Bot Framework e seleziona Avanti.

  4. Rivedi e modifica le frasi trigger del chatbot classico e seleziona Avanti.

  5. Assicurati che Usa orchestrazione per progetti con più bot sia selezionato, quindi scegli Continua.

  6. Verifica che la competenza Copilot Studio sia aggiunta al bot Bot Framework correttamente e un nuovo trigger con il nome del tuo chatbot classico sia aggiunto al progetto in Composer.

Individuare l'argomento nel manifest della competenza

Usa un evento per attivare un argomento Copilot Studio nella competenza. Per chiamare uno specifico argomento da Composer, fai riferimento all'argomento con il suo nome dell'evento associato nel manifesto della competenza.

  1. Seleziona l'azione Connetti una competenza.

  2. Sotto Nome finestra di dialogo competenza, seleziona Mostra manifesto competenza.

  3. Trova activities nel manifesto. Questa proprietà contiene proprietà nidificate che rappresentano gli argomenti disponibili dal chatbot classico.

  4. Trova l'argomento che vuoi chiamare e cerca la proprietà name. Quando la competenza Copilot Studio riceve un evento con questo nome, attiva l'argomento.

    Nell'esempio seguente, il nome dell'attività dell'evento è dispatchTo_new_topic_87609dabd86049f7bc6507c6f7263aba_33d.

Chiamare un argomento della competenza di Copilot Studio

Invece di fare affidamento su ciò che dice un utente per attivare un argomento di competenza Copilot Studio, puoi chiamarlo direttamente. Gli argomenti Copilot Studio elencati nel manifesto della competenza possono essere richiamati direttamente.

  1. Nell'area del contenuto di Composer seleziona Aggiungi, quindi seleziona Accedi a risorse esterne, quindi seleziona Connetti una competenza.

  2. Nell'elenco Nome finestra di dialogo competenza, seleziona il chatbot classico.

  3. Individua il nome dell'attività dell'evento per l'argomento del chatbot classico che desideri chiamare. Copia il valore, omettendo le virgolette, e salvalo per utilizzarlo nei passaggi successivi.

  4. Seleziona Chiudi.

  5. Nella sezione Attività seleziona Mostra codice.

  6. Digita o incolla il codice seguente. Sostituisci TOPIC_ACTIVITY_NAME con il nome dell'attività dell'evento dell'argomento. Assicurati che non ci siano virgolette nella proprietà name.

    [Activity
        type = event
        name = TOPIC_ACTIVITY_NAME
    ]
    

Passare una variabile di input a un argomento della competenza Copilot Studio

Bot Framework Composer può passare una variabile a un argomento della competenza Copilot Studio come input. Per imparare a creare argomenti di Copilot Studio che accettano variabili di input, vedi Utilizzo di variabili.

Se un argomento Copilot Studio che può ricevere una variabile di input è elencato nel tuo manifesto della competenza, puoi passargli una variabile Composer.

  1. Nell'area del contenuto di Composer seleziona Aggiungi, quindi seleziona Accedi a risorse esterne, quindi seleziona Connetti una competenza.

  2. Nell'elenco Nome finestra di dialogo competenza, seleziona il chatbot classico.

  3. Individua il nome dell'attività dell'evento per l'argomento del chatbot classico che desideri chiamare. Copia il valore, omettendo le virgolette, e salvalo per utilizzarlo nei passaggi successivi.

  4. Trova la proprietà value dell'argomento. La proprietà value contiene la proprietà $ref. Copia il valore e salvalo per utilizzarlo nel passaggio successivo.

    Avviso

    Se un argomento Copilot Studio non ha input, non contiene una proprietà value.

  5. Trova la proprietà definitions quindi cerca una proprietà nidificata che corrisponda al valore $ref trovato nel passaggio precedente. Annota i nomi e i tipi di input dell'argomento Copilot Studio. Li userai nei prossimi passaggi.

  6. Seleziona Chiudi.

  7. Nella sezione Attività seleziona Mostra codice.

  8. Digita o incolla il codice seguente. Sostituisci questi valori:

    1. Sostituisci TOPIC_ACTIVITY_NAME con il nome dell'attività dell'evento dell'argomento.
    2. Sostituisci PVA_INPUT_VARIABLE con una variabile di input dal tuo argomento.
    3. Sostituisci COMPOSER_INPUT_VARIABLE con una variabile Composer che fornirà un valore.
    [Activity
        Type = event
        Name = TOPIC_ACTIVITY_NAME
        Value = ${addProperty(json("{}"), 'PVA_INPUT_VARIABLE', COMPOSER_INPUT_VARIABLE)}
    ]
    

    Nell'esempio seguente, la variabile Composer dialog.storeLocation fornisce un valore alla variabile di input pva_StoreLocation nell'argomento del chatbot classico dispatchTo_new_topic_127cdcdbbb4a480ea113c5101f309089_21a34f16.

Ricevere una variabile di output da un argomento della competenza Copilot Studio

È possibile ricevere output da un argomento della competenza Copilot Studio in Composer. Per imparare a creare argomenti Copilot Studio che restituiscono output, vedi Utilizzo di variabili.

  1. Nell'area del contenuto di Composer seleziona Aggiungi, quindi seleziona Accedi a risorse esterne, quindi seleziona Connetti una competenza.

  2. Nell'elenco Nome finestra di dialogo competenza, seleziona il chatbot classico.

  3. Trova il nome dell'attività dell'evento per l'argomento del chatbot classico che vuoi chiamare. Copia il valore, omettendo le virgolette, e salvalo per utilizzarlo nei passaggi successivi.

  4. Trova la proprietà resultValue dell'argomento. La proprietà resultValue contiene la proprietà $ref. Copia il valore e salvalo per utilizzarlo nel passaggio successivo.

    Avviso

    Se un argomento Copilot Studio non ha output, non contiene una proprietà resultValue.

  5. Trova la proprietà definitions quindi cerca una proprietà nidificata che corrisponda al valore $ref trovato nel passaggio precedente. Annota i nomi e i tipi delle variabili di output dell'argomento Copilot Studio. Li userai nei prossimi passaggi.

    Nell'esempio seguente, l'argomento Copilot Studio restituisce due output di tipo Stringa, pva_State e pva_Item.

  6. Seleziona Chiudi.

  7. Nella sezione Attività seleziona Mostra codice.

  8. Digita o incolla il codice seguente. Sostituisci TOPIC_ACTIVITY_NAME con il nome dell'attività dell'evento dell'argomento. Assicurati che non ci siano virgolette nella proprietà name.

    [Activity
        type = event
        name = TOPIC_ACTIVITY_NAME
    ]
    
  9. Nell'area del codice, imposta Proprietà su una variabile Composer per ricevere e memorizzare i valori di output da un argomento della competenza Copilot Studio.

  10. Nel canvas di creazione di Composer seleziona Aggiungi, quindi seleziona Gestisci proprietà, quindi seleziona Imposta proprietà.

  11. Imposta Proprietà sul valore Composer che archivia il valore estratto. Quindi imposta Valore sulla variabile Composer in cui hai memorizzato gli output dell'argomento.

    Nell'esempio seguente, i valori di output di dialog.skillResult.pvaState e dialog.skillResult.pvaItem vengono estratti nelle nuove variabili Composer dialog.State e dialog.Item.

Testare il chatbot classico come competenza con un bot Bot Framework

Usa l'emulatore Bot Framework per testare che il bot Bot Framework chiami correttamente un chatbot classico come competenza.

Importante

Il tuo bot Bot Framework deve essere aggiunto all'elenco elementi consentiti del chatbot classico affinché la connessione della competenza funzioni.

Aggiornare un bot Bot Framework multi-tenant a un bot a tenant singolo

Nella figura seguente viene illustrato lo scenario in cui un bot Bot Framework basato sull'SDK Bot Framework chiama un chatbot classico per usarlo come competenza.

Illustrazione che mostra le interazioni tra un bot Bot Framework e un chatbot classico.

Sia il bot Bot Framework che il chatbot classico hanno una registrazione dell'app Microsoft Entra ID, a cui fanno riferimento le istanze del bot Azure. Queste registrazioni di app Microsoft Entra ID sono state create come multi-tenant. Il bot Bot Framework richiede un token dal tenant Bot Framework e usa questo token per l'autenticazione tramite il servizio bot Azure Copilot Studio. Copilot Studio usa lo stesso meccanismo per contattare il bot Bot Framework.

La registrazione dell'applicazione del chatbot di Copilot Studio viene ora creata come tenant singolo, quindi questa comunicazione non funziona più. Microsoft Entra ID rifiuta di creare token per le registrazioni di applicazioni a tenant singolo che non si trovano nello stesso tenant.

Inoltre, Copilot Studio convalida il token in ingresso e rifiuta le richieste dei tenant non previsti, ad esempio l'ID del tenant in cui è stata creata la registrazione dell'applicazione del chatbot classico.

Per risolvere questo problema, sono disponibili due possibili correzioni.

Chatbot classici nello stesso tenant del bot Bot Framework

Negli scenari in cui il chatbot Copilot Studio è già distribuito nello stesso tenant del bot Bot Framework e viene usato solo da questo bot, aggiorna il bot a una configurazione a tenant singolo, quindi ridistribuisci il bot Bot Framework. Per altre informazioni su come configurare un bot per un bot Bot Framework per un tenant singolo, vedi Effettuare il provisioning e pubblicare un bot.

Chatbot Copilot Studio che non può essere aggiornato a un tenant singolo

Negli scenari in cui il chatbot Copilot Studio è già distribuito nello stesso tenant del bot Bot Framework, ma il bot non può essere aggiornato a un tenant singolo, è necessario aggiornare il codice nel bot Bot Framework per creare il token per comunicare con il chatbot Copilot Studio. Il token deve essere creato per il tenant in cui è stato creato anche il chatbot Copilot Studio. Inoltre, la risposta deve essere accettata, il che probabilmente richiede di seguire i passaggi in Convertire un'abilità esistente da multi-tenant a tenant singolo.

Altre informazioni