Delen via


QnA Maker gebruiken om vragen te beantwoorden

VAN TOEPASSING OP: SDK v4

Notitie

Azure AI QnA Maker wordt op 31 maart 2025 buiten gebruik gesteld. Vanaf 1 oktober 2022 kunt u geen nieuwe resources of kennisbanken voor QnA Maker maken. Een nieuwere versie van de vraag- en antwoordmogelijkheid is nu beschikbaar als onderdeel van Azure AI Language.

Aangepaste vraagantwoorden, een functie van Azure AI Language, is de bijgewerkte versie van de QnA Maker-service. Zie Natuurlijke taalbegrip voor meer informatie over vraag- en antwoordondersteuning in de Bot Framework SDK.

QnA Maker biedt een gesprekslaag voor vragen en antwoorden voor uw gegevens. Hierdoor kan uw bot een vraag verzenden naar QnA Maker en een antwoord ontvangen, zonder de intentie van de vraag te hoeven parseren en te interpreteren.

Een van de basisvereisten voor het maken van uw eigen QnA Maker-service is deze te vullen met vragen en antwoorden. In veel gevallen zijn de vragen en antwoorden al aanwezig in inhoud zoals Veelgestelde vragen of andere documentatie. In andere gevallen wilt u uw antwoorden op vragen mogelijk op een meer natuurlijke manier aanpassen aan het gesprek.

In dit artikel wordt beschreven hoe u een bestaande QnA Maker-knowledge base van uw bot gebruikt.

Voor nieuwe bots kunt u overwegen de functie voor het beantwoorden van vragen van Azure Cognitive Service for Language te gebruiken. Zie Vraag beantwoorden gebruiken om vragen te beantwoorden voor meer informatie.

Notitie

De Sdk's voor Bot Framework JavaScript, C# en Python blijven ondersteund, maar de Java SDK wordt buiten gebruik gesteld met definitieve langetermijnondersteuning die eindigt op november 2023.

Bestaande bots die zijn gebouwd met de Java SDK blijven functioneren.

Voor het bouwen van nieuwe bots kunt u Microsoft Copilot Studio gebruiken en lezen over het kiezen van de juiste copilot-oplossing.

Zie De toekomst van botbouw voor meer informatie.

Vereisten

Over dit voorbeeld

Als u QnA Maker in uw bot wilt gebruiken, hebt u een bestaande knowledge base nodig in de QnA Maker-portal . Uw bot kan vervolgens de Knowledge Base gebruiken om de vragen van de gebruiker te beantwoorden.

Voor het ontwikkelen van nieuwe bots kunt u Copilot Studio gebruiken. Als u een nieuwe knowledge base voor een Bot Framework SDK-bot moet maken, raadpleegt u de volgende artikelen over Azure AI-services:

C# QnABot-logische stroom

OnMessageActivityAsync wordt aangeroepen voor elke ontvangen gebruikersinvoer. Wanneer deze wordt aangeroepen, worden configuratie-instellingen van het appsetting.json-bestand van de voorbeeldcode geopend om de waarde te vinden om verbinding te maken met uw vooraf geconfigureerde QnA Maker-knowledge base.

De invoer van de gebruiker wordt verzonden naar uw Knowledge Base en het best geretourneerde antwoord wordt weer weergegeven aan uw gebruiker.

Waarden verkrijgen om uw bot te verbinden met de Knowledge Base

Tip

De QnA Maker-documentatie bevat instructies voor het maken, trainen en publiceren van uw Knowledge Base.

  1. Selecteer uw Knowledge Base op de QnA Maker-site .
  2. Wanneer uw Knowledge Base is geopend, selecteert u het tabblad INSTELLINGEN . Noteer de waarde die wordt weergegeven voor de servicenaam. Deze waarde is handig voor het vinden van uw knowledge base wanneer u de QnA Maker-portalinterface gebruikt. Het wordt niet gebruikt om uw bot-app te verbinden met deze Knowledge Base.
  3. Schuif omlaag om implementatiedetails te vinden en noteer de volgende waarden uit de Postman-voorbeeld-HTTP-aanvraag:
    • POST /knowledgebases/<knowledge-base-id>/generateAnswer
    • Host: <uw host-URL>
    • Autorisatie: EndpointKey <your-endpoint-key>

Uw host-URL begint met https:// en eindigt met /qnamaker, zoals https://<hostname>.azure.net/qnamaker. Uw bot heeft de knowledge base-id, host-URL en eindpuntsleutel nodig om verbinding te maken met uw QnA Maker-knowledge base.

Het instellingenbestand bijwerken

Voeg eerst de informatie toe die nodig is voor toegang tot uw Knowledge Base, inclusief hostnaam, eindpuntsleutel en Knowledge Base-id (kbId) naar het instellingenbestand. Dit zijn de waarden die u hebt opgeslagen op het tabblad INSTELLINGEN van uw Knowledge Base in QnA Maker.

Als u dit niet implementeert voor productie, kunt u de app-id- en wachtwoordvelden van uw bot leeg laten.

Notitie

Als u een QnA Maker-knowledge base wilt toevoegen aan een bestaande bottoepassing, moet u informatieve titels toevoegen voor uw QnA-vermeldingen. De waarde 'naam' in deze sectie bevat de sleutel die vereist is voor toegang tot deze informatie vanuit uw app.

Het QnA Maker-exemplaar instellen

Eerst maken we een object voor toegang tot onze QnA Maker-knowledge base.

Zorg ervoor dat het NuGet-pakket Microsoft.Bot.Builder.AI.QnA is geïnstalleerd voor uw project.

Maak in QnABot.cs in de OnMessageActivityAsync methode een QnAMaker-exemplaar. De QnABot klasse is ook waar de namen van de verbindingsgegevens, die zijn opgeslagen in appsettings.json hierboven, worden opgehaald. Als u verschillende namen hebt gekozen voor de verbindingsgegevens van uw Knowledge Base in uw instellingenbestand, moet u de namen hier bijwerken om de door u gekozen naam weer te geven.

Bots/QnABot.cs

C# (gearchiveerd)

QnA Maker aanroepen vanuit uw bot

Wanneer uw bot een antwoord van QnAMaker nodig heeft, roept u de GetAnswersAsync methode van uw botcode aan om het juiste antwoord te krijgen op basis van de huidige context. Als u toegang hebt tot uw eigen Knowledge Base, wijzigt u het onderstaande bericht met geen antwoorden om nuttige instructies voor uw gebruikers te bieden.

Bots/QnABot.cs

C# (gearchiveerd)

De bot testen

Voer het voorbeeld lokaal uit op uw computer. Als u dit nog niet hebt gedaan, installeert u de Bot Framework Emulator. Raadpleeg voor meer instructies het voorbeeld README (C# (gearchiveerd), JavaScript (gearchiveerd), Java (gearchiveerd), Java (gearchiveerd)of Python (gearchiveerd)).

Start de emulator, maak verbinding met uw bot en verzend berichten naar uw bot. De antwoorden op uw vragen variëren, afhankelijk van de informatie die uw Knowledge Base bevat.

Test de voorbeeldbot.

Aanvullende informatie

Het QnA Maker-voorbeeld met meerdere draaiing (C# voorbeeld met meerdere draaiing (gearchiveerd), JavaScript-voorbeeld met meerdere draaiing (gearchiveerd), Java multi-turn sample (gearchiveerd), Python-voorbeeld met meerdere draaiing (gearchiveerd)) laat zien hoe u een QnA Maker-dialoogvenster gebruikt ter ondersteuning van de vervolgprompt en actieve leerfuncties van QnA Maker.

  • QnA Maker biedt ondersteuning voor vervolgprompts, ook wel prompts met meerdere keren genoemd. Als de QnA Maker-knowledge base meer informatie van de gebruiker vereist, verzendt QnA Maker contextinformatie die u kunt gebruiken om de gebruiker te vragen. Deze informatie wordt ook gebruikt om opvolgende aanroepen naar de QnA Maker-service uit te voeren. In versie 4.6 heeft de Bot Framework SDK ondersteuning toegevoegd voor deze functie.

    Als u een dergelijke knowledge base wilt maken, raadpleegt u de QnA Maker-documentatie over het gebruik van vervolgprompts om meerdere beurten van een gesprek te maken.

  • QnA Maker ondersteunt ook actieve leersuggesties, waardoor de Knowledge Base in de loop van de tijd kan worden verbeterd. Het dialoogvenster QnA Maker ondersteunt expliciete feedback voor de actieve leerfunctie.

    Als u deze functie wilt inschakelen in een knowledge base, raadpleegt u de QnA Maker-documentatie over actieve leersuggesties.

Volgende stappen

QnA Maker kan worden gecombineerd met andere Azure AI-services om uw bot nog krachtiger te maken. Bot Framework Orchestrator biedt een manier om QnA te combineren met Language Understanding (LUIS) in uw bot.