Query's uitvoeren op de knowledge base voor antwoorden

Er moet een knowledge base worden gepubliceerd. Zodra de knowledge base is gepubliceerd, wordt er een query uitgevoerd op het eindpunt voor runtimevoorspelling met behulp van de generateAnswer-API. De query bevat de vraagtekst en andere instellingen om QnA Maker te helpen de best mogelijke overeenkomst met een antwoord te selecteren.

Notitie

De QnA Maker-service wordt op 31 maart 2025 buiten gebruik gesteld. Een nieuwere versie van de vraag- en antwoordmogelijkheid is nu beschikbaar als onderdeel van Azure AI Language. Zie vraagantwoording voor vragen in de Language Service voor het beantwoorden van vragen. Vanaf 1 oktober 2022 kunt u geen nieuwe QnA Maker-resources maken. Raadpleeg de migratiehandleiding voor informatie over het migreren van bestaande QnA Maker-knowledge bases om vragen te beantwoorden.

Hoe QnA Maker een gebruikersquery verwerkt om het beste antwoord te selecteren

De getrainde en gepubliceerde QnA Maker-knowledge base ontvangt een gebruikersquery, van een bot of een andere clienttoepassing, in de GenerateAnswer-API. In het volgende diagram ziet u het proces wanneer de gebruikersquery wordt ontvangen.

The ranking model process for a user query

Ranker-proces

Het proces wordt uitgelegd in de volgende tabel.

Stap Doel
1 De clienttoepassing verzendt de gebruikersquery naar de GenerateAnswer-API.
2 QnA Maker verwerkt de gebruikersquery vooraf met taaldetectie, spellingcontrole en woordonderbrekers.
3 Deze voorverwerking wordt gebruikt om de gebruikersquery te wijzigen voor de beste zoekresultaten.
4 Deze gewijzigde query wordt verzonden naar een Azure AI Search-index, die het top aantal resultaten ontvangt. Als het juiste antwoord niet in deze resultaten staat, verhoogt u de waarde van top iets. Over het algemeen is een waarde van 10 voor top werken in 90% van de query's. Azure Search filtert woorden in deze stap stoppen .
5 QnA Maker maakt gebruik van syntactische en semantische featurization om de gelijkenis tussen de gebruikersquery en de opgehaalde QnA-resultaten te bepalen.
6 Het classificatiemodel met machine learning maakt gebruik van de verschillende functies, van stap 5, om de betrouwbaarheidsscores en de nieuwe classificatievolgorde te bepalen.
7 De nieuwe resultaten worden in gerangschikte volgorde geretourneerd naar de clienttoepassing.

De gebruikte functies zijn onder andere, maar zijn niet beperkt tot semantiek op woordniveau, belang op termsniveau in een corpus en diep geleerde semantische modellen om overeenkomsten en relevantie tussen twee tekenreeksen te bepalen.

HTTP-aanvraag en -antwoord met eindpunt

Wanneer u uw Knowledge Base publiceert, maakt de service een OP REST gebaseerd HTTP-eindpunt dat kan worden geïntegreerd in uw toepassing, meestal een chatbot.

De queryaanvraag van de gebruiker om een antwoord te genereren

Een gebruikersquery is de vraag die de eindgebruiker stelt aan de Knowledge Base, zoals How do I add a collaborator to my app?. De query heeft vaak een natuurlijke taalindeling of een paar trefwoorden die de vraag vertegenwoordigen, zoals help with collaborators. De query wordt vanuit een HTTP-aanvraag in uw clienttoepassing naar uw knowledge base verzonden.

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

U bepaalt het antwoord door eigenschappen zoals scoreThreshold, top en strictFilters in te stellen.

Gebruik gesprekscontext met functionaliteit met meerdere paden om het gesprek te verfijnen om de vragen en antwoorden te verfijnen, om het juiste en uiteindelijke antwoord te vinden.

Het antwoord van een oproep om een antwoord te genereren

Het HTTP-antwoord is het antwoord dat is opgehaald uit de knowledge base, op basis van de beste overeenkomst voor een bepaalde gebruikersquery. Het antwoord bevat het antwoord en de voorspellingsscore. Als u meer dan één topantwoord met de top eigenschap hebt gevraagd, krijgt u meer dan één topantwoord, elk met een score.

{
    "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"
                }
            ]
        }
    ]
}

Volgende stappen