Pianifica l'app QnA Maker
Per pianificare l'app QnA Maker, devi comprendere il funzionamento di QnA Maker e la sua interazione con altri servizi di Azure. Dovresti anche avere una conoscenza approfondita dei concetti della knowledge base.
Nota
Il servizio QnA Maker sarà ritirato il 31 marzo 2025. Una versione più recente della funzionalità di domande e risposte è ora disponibile come parte di Lingua di Azure AI. Per le funzionalità di risposta alla domanda all'interno del servizio di linguaggio vedere Risposta alla domanda. A partire dal 1° ottobre 2022 non è più possibile creare nuove risorse di QnA Maker. Per informazioni sulla migrazione delle knowledge base di QnA Maker esistenti alla risposta alla domanda, vedi la guida alla migrazione.
Risorse di Azure
Ogni risorsa di Azure creata con QnA Maker ha uno scopo specifico. Ogni risorsa ha uno scopo, dei limiti e un piano tariffario propri. È importante comprendere la funzione di queste risorse in modo da poter usare tali informazioni nel processo di pianificazione.
Conto risorse | Scopo |
---|---|
Risorsa QnA Maker | Creazione e previsione delle query |
Risorsa di Ricerca cognitiva | Archiviazione e ricerca dei dati |
Risorsa del servizio app e risorsa del servizi piano app | Eseguire query sull'endpoint di stima |
Una risorsa di Application Insights | Telemetria delle previsioni delle query |
Pianificazione delle risorse
Il livello gratuito, F0
, di ogni risorsa funziona e può fornire sia l'esperienza di creazione che di previsione delle query. È possibile usare questo livello per imparare come creare e prevedere query. Quando passi a uno scenario di produzione o live, rivaluta le risorse che hai scelto.
Dimensioni e velocità effettiva della knowledge base
Quando compili un'app reale, pianifica risorse sufficienti per le dimensioni della knowledge base e per le richieste di stima delle query previste.
Una dimensione della knowledge base è controllata da:
- Limiti del piano tariffario delle risorse di Ricerca cognitiva
- Limiti di QnA Maker
La richiesta di previsione delle query della knowledge base è controllata dall'app Web e dal relativo piano. Fai riferimento alle impostazioni consigliate per pianificare il piano tariffario.
Condivisione delle risorse
Se alcune di queste risorse sono già in uso, ti consigliamo di condividerle. Vedi quali risorse possono essere condivise con la consapevolezza che la condivisione delle risorse è uno scenario avanzato.
Tutte le knowledge base create nella stessa risorsa QnA Maker condividono lo stesso endpoint di previsione delle query di test.
Comprendere l'impatto della selezione delle risorse
La selezione corretta delle risorse fa sì che la knowledge base risponda correttamente alle previsioni delle query.
Se la knowledge base non funziona correttamente, si tratta in genere di un problema di gestione delle risorse non corretta.
La selezione di risorse non corretta richiede l'analisi per determinare quale risorsa deve essere modificata.
Knowledge base
Una knowledge base è collegata direttamente alla risorsa QnA Maker. Contiene le coppie di domande e risposte (QnA) usate per rispondere alle richieste di previsione delle query.
Considerazioni sulla lingua
La prima knowledge base creata nella risorsa QnA Maker determina la lingua della risorsa. Puoi avere una sola lingua per risorsa QnA Maker.
Puoi strutturare le risorse di QnA Maker in base alla lingua oppure puoi usare il Traduttore per tradurre una query da un'altra lingua alla lingua della knowledge base prima di inviare la query all'endpoint di previsione della query.
Inserire origini dati
Per creare una knowledge base, è possibile usare una delle origini dati inserite di seguito:
- URL pubblico
- URL privato di SharePoint
- file
Il processo di inserimento converte i tipi di contenuto supportati in markdown. Tutte le altre modifiche della risposta vengono eseguite con markdown. Dopo aver creato una knowledge base, puoi modificare le coppie QnA nel portale di QnA Maker creando testo RTF.
Considerazioni sul formato dei dati
Poiché il formato finale di una coppia QnA è markdown, è importante comprendere il supporto markdown.
Le immagini collegate devono essere disponibili da un URL pubblico per essere mostrate nel riquadro di test del portale di QnA Maker o in un'applicazione client. QnA Maker non fornisce l'autenticazione del contenuto, incluse le immagini.
Personalità del bot
Aggiungere una personalità del bot alla knowledge base con chiacchiere. Questa personalità viene fornita con risposte in un certo tono conversazionale, ad esempio professionale e amichevole. Queste chiacchiere vengono fornite come set di conversazioni che hai il controllo totale di aggiungere, modificare e rimuovere.
Consigliamo di usare la personalità del bot se questo si connette alla knowledge base. È possibile scegliere di usare chiacchiere nella knowledge base anche se ci si connette ad altri servizi, ma è meglio controllare il modo in cui il servizio bot interagisce per sapere se si tratta della progettazione dell'architettura corretta per l'uso desiderato.
Flusso di conversazione con una knowledge base
Il flusso di conversazione inizia in genere con un saluto da un utente, ad esempio Hi
o Hello
. La knowledge base può rispondere con una risposta generale, ad esempio Hi, how can I help you
, e può fornire anche una selezione di richieste di completamento per continuare la conversazione.
È consigliabile progettare il flusso di conversazione pensando a un ciclo in modo che un utente sappia come usare il bot e non venga abbandonato dal bot durante la conversazione. Le richieste di completamento forniscono il collegamento tra coppie QnA che consentono il flusso di conversazione.
Creazione con collaboratori
I collaboratori possono essere altri sviluppatori che condividono lo stack di sviluppo completo dell'applicazione knowledge base o possono essere limitati solo alla creazione della knowledge base.
La creazione della knowledge base supporta diverse autorizzazioni di accesso in base al ruolo applicate nel portale di Azure per limitare l'ambito delle capacità di un collaboratore.
Integrazione con applicazioni client
L'integrazione con le applicazioni client viene eseguita inviando una query all'endpoint del runtime di previsione. Una query viene inviata alla knowledge base specifica con una richiesta basata su SDK o REST all'endpoint dell'app Web di QnA Maker.
Per autenticare correttamente una richiesta client, l'applicazione client deve inviare le credenziali corrette e l'ID della Knowledge Base. Se si usa un Servizio di Azure AI Bot, configurare queste impostazioni come parte della configurazione del bot nel portale di Azure.
Flusso di conversazione in un'applicazione client
Il flusso di conversazione in un'applicazione client, ad esempio un bot di Azure, potrebbe richiedere funzionalità prima e dopo l'interazione con la knowledge base.
L'applicazione client supporta il flusso di conversazione, fornendo mezzi alternativi per gestire le richieste di completamento o includendo chiacchiere? In tal caso, progetta queste informazioni presto e assicurati che la query dell'applicazione client venga gestita correttamente da un altro servizio o quando viene inviata alla knowledge base.
Invio tra QnA Maker e Language Understanding (LUIS)
Un'applicazione client può fornire diverse funzionalità, solo una delle quali riceve risposta da una knowledge base. Altre funzionalità devono comunque comprendere il testo conversazionale ed estrarne il significato.
Un'architettura di applicazione client comune consiste nell'usare sia QnA Maker che Language Understanding (LUIS) insieme. LUIS fornisce la classificazione del testo e l'estrazione per qualsiasi query, anche in altri servizi. QnA Maker fornisce risposte dalla knowledge base.
In uno scenario di architettura condivisa, l'invio tra i due servizi viene eseguito dallo strumento Dispatch da Bot Framework.
Apprendimento attivo da un'applicazione client
QnA Maker usa l'apprendimento attivo per migliorare la knowledge base suggerendo domande alternative a una risposta. L'applicazione client è responsabile di una parte di questo apprendimentoattivo. Tramite le richieste di conversazione, l'applicazione client può determinare che la knowledge base ha restituito una risposta che non è utile per l'utente e può determinarne una migliore. L'applicazione client deve inviare tali informazioni alla knowledge base per migliorare la qualità della previsione.
Fornire una risposta predefinita
Se la knowledge base non trova una risposta, restituisce la risposta predefinita. Questa risposta è configurabile nella pagina Impostazioni del portale di QnA Maker o nelle API.
Questa risposta predefinita è diversa dalla risposta predefinita del bot di Azure. Configura la risposta predefinita per il bot di Azure nel portale di Azure come parte delle impostazioni di configurazione. Viene restituita quando la soglia del punteggio non viene raggiunta.
Previsione
La previsione è la risposta della knowledge base e include più informazioni della risposta e basta. Per ottenere una risposta di previsione delle query, usa l'API GenerateAnswer.
Fluttuazioni del punteggio di previsione
Un punteggio può cambiare in base a diversi fattori:
- Numero di risposte richieste in risposta a GenerateAnswer con la proprietà
top
- Varietà di domande alternative disponibili
- Impostare filtri per i metadati
- Query inviata alla knowledge base
test
oproduction
Esiste una classificazione delle risposte in due fasi:
- Ricerca cognitiva : prima classificazione. Imposta un numero di risposte consentite abbastanza elevato da far sì che le risposte migliori siano restituite da Ricerca cognitiva e quindi passate al classificatore di QnA Maker.
- QnA Maker - seconda classificazione. Applica la definizione delle funzionalità e l’apprendimento automatico per determinare la risposta migliore.
Aggiornamenti del servizio
Applica gli aggiornamenti di runtime più recenti per gestire automaticamente gli aggiornamenti del servizio.
Ridimensionamento, velocità effettiva e resilienza
Il ridimensionamento, la velocità effettiva e la resilienza sono determinate dalle risorse di Azure, dai relativi piani tariffari e da qualsiasi architettura circostante, ad esempio Gestione traffico.
Analisi con Application Insights
Tutte le query della Knowledge Base vengono archiviate in Application Insights. Usa le nostre query principali per comprendere le metriche.
Ciclo di vita dello sviluppo
Il ciclo di vita di sviluppo di una knowledge base è continuo: modifica, test e pubblicazione della knowledge base.
Sviluppo di knowledge base delle coppie QnA Maker
Le coppie QnA devono essere progettate e sviluppate in base all'utilizzo dell'applicazione client.
Ogni coppia può contenere:
- Metadati: filtrabili durante l'esecuzione di query per consentire di contrassegnare le coppie QnA con informazioni aggiuntive sull'origine, il contenuto, il formato e lo scopo dei dati.
- Richieste di completamento: consentono di determinare un percorso attraverso la knowledge base in modo che l'utente arrivi alla risposta corretta.
- Domande alternative: importanti per consentire alla ricerca di corrispondere alla risposta da diverse forme della domanda. i suggerimenti di apprendimento attivo si trasformano in domande alternative.
Sviluppo DevOps
Lo sviluppo di una knowledge base da inserire in una pipeline DevOps richiede che la knowledge base sia isolata durante il test in batch.
Una knowledge base condivide l'indice di Ricerca cognitiva con tutte le altre knowledge base nella risorsa QnA Maker. Mentre la knowledge base è isolata per partizione, la condivisione dell'indice può causare una differenza nel punteggio rispetto alla knowledge base pubblicata.
Per ottenere lo stesso punteggio nelle knowledge base test
e production
, isola una risorsa QnA Maker in una singola knowledge base. In questa architettura, la risorsa deve esistere solo quanto il test in batch isolato.