Pianificare l'app QnA Maker

Per pianificare l'app QnA Maker, è necessario comprendere il funzionamento di QnA Maker e interagire con altri servizi di Azure. Dovresti anche avere una solida comprensione dei concetti di knowledge base.

Nota

Il servizio QnA Maker viene ritirato il 31 marzo 2025. Una versione più recente della domanda e della funzionalità di risposta è ora disponibile come parte del linguaggio di intelligenza artificiale di Azure. Per le funzionalità di risposta alle domande all'interno del servizio linguistico, vedere La risposta alle domande. A partire dal 1° ottobre 2022 non sarà possibile creare nuove risorse QnA Maker. Per informazioni sulla migrazione delle knowledge base QnA Maker esistenti alla risposta alle domande, consultare la guida alla migrazione.

Risorse di Azure

Ogni risorsa di Azure creata con QnA Maker ha uno scopo specifico. Ogni risorsa ha un proprio scopo, limiti e piano tariffario. È importante comprendere la funzione di queste risorse in modo che sia possibile usare tale conoscenza nel processo di pianificazione.

Risorsa Scopo
Risorsa QnA Maker Creazione e stima delle query
Risorsa ricerca cognitiva Archiviazione e ricerca dei dati
risorsa servizio app e risorsa del servizio piano app Eseguire query sull'endpoint di stima
Risorsa di Application Insights Telemetria di stima delle query

Pianificazione delle risorse

Il livello gratuito, F0, di ogni risorsa funziona e può fornire sia l'esperienza di creazione che di stima delle query. È possibile usare questo livello per apprendere la creazione e la stima delle query. Quando si passa a uno scenario di produzione o live, rivalutare la selezione delle risorse.

Dimensioni e velocità effettiva della Knowledge Base

Quando si compila un'app reale, pianificare risorse sufficienti per le dimensioni del knowledge base e per le richieste di stima delle query previste.

Una dimensione di knowledge base è controllata da:

La richiesta di stima delle query knowledge base è controllata dal piano dell'app Web e dall'app Web. Fare riferimento alle impostazioni consigliate per pianificare il piano tariffario.

Condivisione delle risorse

Se sono già disponibili alcune di queste risorse in uso, è possibile considerare la condivisione delle risorse. Vedere quali risorse possono essere condivise con la comprensione che la condivisione delle risorse è uno scenario avanzato.

Tutte le knowledge base create nella stessa risorsa QnA Maker condividono lo stesso endpoint di stima della query di test .

Comprendere l'impatto della selezione delle risorse

La selezione corretta delle risorse significa che le risposte alle stime delle query knowledge base hanno esito positivo.

Se il knowledge base non funziona correttamente, è in genere un problema di gestione delle risorse non corretta.

La selezione delle risorse non corretta richiede l'analisi per determinare quale risorsa deve modificare.

Knowledge base

Una knowledge base è collegata direttamente alla risorsa QnA Maker. Contiene le coppie domande e risposte (QnA) usate per rispondere alle richieste di stima delle query.

Considerazioni sul linguaggio

La prima knowledge base creata nella risorsa QnA Maker imposta la lingua per la risorsa. È possibile avere una sola lingua per una risorsa QnA Maker.

È possibile strutturare le risorse QnA Maker in base alla lingua oppure è possibile usare Translator per modificare una query da un'altra lingua nella lingua di knowledge base prima di inviare la query all'endpoint di stima della query.

Inserire origini dati

È possibile usare una delle origini dati inserite seguenti per creare un knowledge base:

  • URL pubblico
  • URL di SharePoint privato
  • File

Il processo di inserimento converte i tipi di contenuto supportati in markdown. Tutte le ulteriori modifiche della risposta vengono eseguite con markdown. Dopo aver creato un knowledge base, è possibile modificare coppie QnA nel portale di QnA Maker con la creazione di testo avanzato.

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 da visualizzare nel riquadro di test del portale di QnA Maker o in un'applicazione client. QnA Maker non fornisce l'autenticazione per il contenuto, incluse le immagini.

Personalità del bot

Aggiungere una personalità del bot all'knowledge base con chit-chat. Questa personalità viene fornita con risposte fornite in un determinato tono di conversazione, ad esempio professionale e amichevole. Questa chat di chit viene fornita come set di conversazioni, che è disponibile il controllo totale per aggiungere, modificare e rimuovere.

Una personalità del bot è consigliata se il bot si connette al knowledge base. È possibile scegliere di usare chit-chat nel knowledge base anche se ci si connette ad altri servizi, ma è consigliabile esaminare il modo in cui il servizio bot interagisce per sapere se è la progettazione dell'architettura corretta per l'uso.

Flusso di conversazione con un knowledge base

Il flusso di conversazione inizia in genere con un saluto da un utente, ad esempio Hi o Hello. Il knowledge base può rispondere con una risposta generale, ad esempio Hi, how can I help you, e può anche fornire una selezione di richieste di completamento per continuare la conversazione.

È consigliabile progettare il flusso conversazionale con un ciclo in mente in modo che un utente sappia come usare il bot e non sia abbandonato dal bot nella 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 del knowledge base.

La creazione della Knowledge Base supporta diverse autorizzazioni di accesso basate sul ruolo applicate nella 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 di runtime di stima. 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 knowledge base ID. Se si usa un servizio Bot di Intelligenza artificiale di Azure, configurare queste impostazioni come parte della configurazione del bot nell'portale di Azure.

Flusso di conversazione in un'applicazione client

Il flusso di conversazione in un'applicazione client, ad esempio un bot di Azure, può richiedere funzionalità prima e dopo l'interazione con l'knowledge base.

L'applicazione client supporta il flusso di conversazione, fornendo mezzi alternativi per gestire le richieste di completamento o tra cui chit-chit? In tal caso, progettare queste operazioni in anticipo e assicurarsi che la query dell'applicazione client venga gestita correttamente da un altro servizio o quando viene inviata all'knowledge base.

Invio tra QnA Maker e Language Understanding (LUIS)

Un'applicazione client può fornire diverse funzionalità, solo una delle quali viene risposta da un knowledge base. Altre funzionalità devono comunque comprendere il testo di conversazione ed estrarre il significato da esso.

Un'architettura comune dell'applicazione client consiste nell'usare insieme QnA Maker e Language Understanding (LUIS). LUIS fornisce la classificazione del testo e l'estrazione per qualsiasi query, inclusi altri servizi. QnA Maker fornisce risposte dal knowledge base.

In questo 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 suggerire domande alternative a una risposta. L'applicazione client è responsabile di una parte di questo apprendimento attivo. Tramite le richieste conversazionali, l'applicazione client può determinare che l'knowledge base restituito una risposta non utile all'utente e può determinare una risposta migliore. L'applicazione client deve inviare tali informazioni al knowledge base per migliorare la qualità della stima.

Fornire una risposta predefinita

Se il 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 di Azure Bot. È possibile configurare la risposta predefinita per il bot di Azure nel portale di Azure come parte delle impostazioni di configurazione. Viene restituito quando la soglia del punteggio non viene soddisfatta.

Stima

La stima è la risposta del knowledge base e include più informazioni rispetto alla sola risposta. Per ottenere una risposta di stima delle query, usare l'API GenerateAnswer.

Fluttuazioni del punteggio di stima

Un punteggio può cambiare in base a diversi fattori:

  • Numero di risposte richieste in risposta a GenerateAnswer con top proprietà
  • Varietà di domande alternative disponibili
  • Filtro per i metadati
  • Query inviata a test o production knowledge base

Esiste una classificazione delle risposte in due fasi:

  • Ricerca cognitiva: primo rango. Impostare il numero di risposte consentite in modo sufficientemente elevato che le risposte migliori vengano restituite da Ricerca cognitiva e quindi passate al ranker di QnA Maker.
  • QnA Maker - secondo rango. Applicare funzionalità e Machine Learning per determinare la risposta migliore.

Aggiornamenti del servizio

Applicare gli aggiornamenti di runtime più recenti per gestire automaticamente gli aggiornamenti del servizio.

Scalabilità, velocità effettiva e resilienza

La scalabilità, 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 al knowledge base vengono archiviate in Application Insights. Usare le query principali per comprendere le metriche.

Ciclo di vita di sviluppo

Il ciclo di vita di sviluppo di un knowledge base è in corso: modifica, test e pubblicazione del knowledge base.

Sviluppo di knowledge base di coppie QnA Maker

Le coppie QnA devono essere progettate e sviluppate in base all'utilizzo dell'applicazione client.

Ogni coppia può contenere:

  • Metadati: filtrabili quando si eseguono query per consentire di contrassegnare le coppie QnA con informazioni aggiuntive sull'origine, il contenuto, il formato e lo scopo dei dati.
  • Prompt di completamento: consente di determinare un percorso attraverso il knowledge base in modo che l'utente arrivi alla risposta corretta.
  • Domande alternative: importante per consentire alla ricerca di trovare una corrispondenza con la risposta da forme diverse della domanda. I suggerimenti di apprendimento attivi si trasformano in domande alternative.

Sviluppo devOps

Lo sviluppo di un knowledge base da inserire in una pipeline DevOps richiede che il knowledge base sia isolato durante i test in batch.

Un knowledge base condivide l'indice di Ricerca cognitiva con tutte le altre knowledge base sulla risorsa QnA Maker. Mentre il knowledge base è isolato per partizione, la condivisione dell'indice può causare una differenza nel punteggio rispetto al knowledge base pubblicato.

Per avere lo stesso punteggio nelle test knowledge base e production , isolare una risorsa QnA Maker in un'unica knowledge base. In questa architettura, la risorsa deve essere attiva solo fino a quando il test batch isolato.

Passaggi successivi