Eseguire una query sulla knowledge base per ottenere risposte

È necessario pubblicare una knowledge base. Dopo la pubblicazione, la Knowledge Base viene eseguita una query nell'endpoint di stima di runtime usando l'API generateAnswer. La query include il testo della domanda e altre impostazioni per consentire a QnA Maker di selezionare la corrispondenza migliore possibile con una risposta.

Nota

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

Come QnA Maker elabora una query utente per selezionare la risposta migliore

La knowledge base di QnA Maker sottoposta a training e pubblicata riceve una query utente, da un bot o da un'altra applicazione client, all'API GenerateAnswer. Il diagramma seguente illustra il processo quando viene ricevuta la query dell'utente.

The ranking model process for a user query

Processo di classificazione

Il processo è illustrato nella tabella seguente.

Passaggio Scopo
1 L'applicazione client invia la query utente all'API GenerateAnswer.
2 QnA Maker pre-elabora la query dell'utente con rilevamento della lingua, correttori ortografici e word breaker.
3 Questa pre-elaborazione viene eseguita per modificare la query dell'utente per ottenere i migliori risultati della ricerca.
4 Questa query modificata viene inviata a un indice di Ricerca di intelligenza artificiale di Azure, che riceve il top numero di risultati. Se la risposta corretta non è in questi risultati, aumentare leggermente il valore.top In genere, un valore pari a 10 per top funziona nel 90% delle query. I filtri di Ricerca di Azure arrestano le parole in questo passaggio.
5 QnA Maker usa funzionalità sintattiche e semantiche per determinare la somiglianza tra la query utente e i risultati QnA recuperati.
6 Il modello di classificazione basata su machine learning usa le diverse funzionalità, dal passaggio 5, per determinare i punteggi di attendibilità e il nuovo ordine di classificazione.
7 I nuovi risultati vengono restituiti all'applicazione client in ordine classificato.

Le funzionalità usate includono, ma non sono limitate alla semantica a livello di parola, all'importanza a livello di termine in un corpus e ai modelli semantici di apprendimento avanzato per determinare la somiglianza e la pertinenza tra due stringhe di testo.

Richiesta e risposta HTTP con endpoint

Quando si pubblica la knowledge base, il servizio crea un endpoint HTTP basato su REST che può essere integrato nell'applicazione, in genere un chat bot.

Richiesta di query utente per generare una risposta

Una query utente è la domanda che l'utente finale chiede alla Knowledge Base, ad esempio How do I add a collaborator to my app?. La query è spesso in un formato in linguaggio naturale o in alcune parole chiave che rappresentano la domanda, ad esempio help with collaborators. La query viene inviata alla knowledge base da una richiesta HTTP nell'applicazione client.

{
    "question": "How do I add a collaborator to my app?",
    "top": 6,
    "isTest": true,
    "scoreThreshold": 20,
    "strictFilters": [
    {
        "name": "QuestionType",
        "value": "Support"
    }],
    "userId": "sd53lsY="
}

È possibile controllare la risposta impostando proprietà come scoreThreshold, top e strictFilters.

Usare il contesto della conversazione con funzionalità a più turni per mantenere la conversazione in grado di perfezionare le domande e le risposte, per trovare la risposta corretta e finale.

Risposta da una chiamata per generare una risposta

La risposta HTTP è la risposta recuperata dalla knowledge base, in base alla corrispondenza migliore per una determinata query utente. La risposta include la risposta e il punteggio di stima. Se è stata richiesta più di una risposta top con la top proprietà , si ottengono più risposte principali, ognuna con un punteggio.

{
    "answers": [
        {
            "questions": [
                "How do I add a collaborator to my app?",
                "What access control is provided for the app?",
                "How do I find user management and security?"
            ],
            "answer": "Use the Azure portal to add a collaborator using Access Control (IAM)",
            "score": 100,
            "id": 1,
            "source": "Editorial",
            "metadata": [
                {
                    "name": "QuestionType",
                    "value": "Support"
                },
                {
                    "name": "ToolDependency",
                    "value": "Azure Portal"
                }
            ]
        }
    ]
}

Passaggi successivi