Planera din QnA Maker-app

Om du vill planera din QnA Maker-app måste du förstå hur QnA Maker fungerar och interagerar med andra Azure-tjänster. Du bör också ha ett gediget grepp om kunskapsbas begrepp.

Anteckning

QnA Maker-tjänsten dras tillbaka den 31 mars 2025. En nyare version av funktionen för frågor och svar är nu tillgänglig som en del av Azure AI Language. Information om funktioner för frågesvar i språktjänsten finns i frågesvar. Från och med den 1 oktober 2022 kan du inte skapa nya QnA Maker-resurser. Information om hur du migrerar befintliga QnA Maker-kunskapsbaser till frågesvar finns i migreringsguiden.

Azure-resurser

Varje Azure-resurs som skapas med QnA Maker har ett specifikt syfte. Varje resurs har sitt eget syfte, gränser och prisnivå. Det är viktigt att förstå resursernas funktion så att du kan använda den kunskapen i planeringsprocessen.

Resurs Syfte
QnA Maker-resurs Redigering och frågeförutsägelse
Cognitive Search-resurs Datalagring och sökning
App Service resurs och App Plan Service-resurs Slutpunkt för frågeförutsägelse
Application Insights-resurs Telemetri för frågeförutsägelse

Resursplanering

Den kostnadsfria nivån, F0, för varje resurs fungerar och kan ge både redigerings- och frågeförutsägelseupplevelsen. Du kan använda den här nivån för att lära dig redigering och frågeförutsägelse. När du flyttar till ett produktions- eller livescenario utvärderar du resursvalet på nytt.

Kunskapsbasens storlek och dataflöde

När du skapar en riktig app ska du planera tillräckligt med resurser för storleken på din kunskapsbas och för dina förväntade begäranden om frågeförutsägelser.

En kunskapsbas storlek styrs av:

Den kunskapsbas frågeförutsägelsebegäran styrs av webbappsplanen och webbappen. Se rekommenderade inställningar för att planera din prisnivå.

Resursdelning

Om du redan har några av dessa resurser som används kan du överväga att dela resurser. Se vilka resurser som kan delas med förståelsen att resursdelning är ett avancerat scenario.

Alla kunskapsbaser som skapats i samma QnA Maker-resurs delar samma slutpunkt för förutsägelse av testfråga .

Förstå effekten av resursval

Korrekt resursval innebär att din kunskapsbas besvarar frågeförutsägelser.

Om din kunskapsbas inte fungerar korrekt är det vanligtvis ett problem med felaktig resurshantering.

Felaktigt resursval kräver undersökning för att avgöra vilken resurs som behöver ändras.

Kunskapsbaser

En kunskapsbas är direkt knuten till QnA Maker-resursen. Den innehåller de par med frågor och svar (QnA) som används för att besvara begäranden om frågeförutsägelser.

Språköverväganden

Den första kunskapsbas som skapas på QnA Maker-resursen anger resursens språk. Du kan bara ha ett språk för en QnA Maker-resurs.

Du kan strukturera dina QnA Maker-resurser efter språk eller så kan du använda Translator för att ändra en fråga från ett annat språk till kunskapsbas språk innan du skickar frågan till slutpunkten för frågeförutsägelse.

Mata in datakällor

Du kan använda någon av följande inmatade datakällor för att skapa en kunskapsbas:

  • Offentlig URL
  • Privat SharePoint-URL
  • Fil

Inmatningsprocessen konverterar innehållstyper som stöds till markdown. All ytterligare redigering av svaret görs med markdown. När du har skapat en kunskapsbas kan du redigera QnA-par i QnA Maker-portalen med RTF-redigering.

Överväganden för dataformat

Eftersom det slutliga formatet för ett QnA-par är markdown är det viktigt att förstå markdown-stöd.

Länkade bilder måste vara tillgängliga från en offentlig URL som ska visas i testfönstret i QnA Maker-portalen eller i ett klientprogram. QnA Maker tillhandahåller inte autentisering för innehåll, inklusive bilder.

Robotpersonlighet

Lägg till en robotpersonlighet i kunskapsbas med chit-chat. Denna personlighet kommer igenom med svar som tillhandahålls i en viss konversationston som professionell och vänlig. Denna chit-chat tillhandahålls som en konversationsuppsättning, som du har fullständig kontroll över att lägga till, redigera och ta bort.

En robotpersonlighet rekommenderas om roboten ansluter till din kunskapsbas. Du kan välja att använda chit-chat i din kunskapsbas även om du även ansluter till andra tjänster, men du bör granska hur robottjänsten interagerar för att veta om det är rätt arkitekturdesign för din användning.

Konversationsflöde med en kunskapsbas

Konversationsflödet börjar vanligtvis med en hälsning från en användare, till exempel Hi eller Hello. Din kunskapsbas kan svara med ett allmänt svar, till exempel Hi, how can I help you, och det kan också ge ett urval av uppföljningsprompter för att fortsätta konversationen.

Du bör utforma konversationsflödet med en loop i åtanke så att en användare vet hur roboten ska användas och inte överges av roboten i konversationen. Uppföljningsprompter tillhandahåller länkning mellan QnA-par, vilket möjliggör konversationsflödet.

Redigera med medarbetare

Medarbetare kan vara andra utvecklare som delar den fullständiga utvecklingsstacken för kunskapsbas-programmet eller kan begränsas till att bara redigera kunskapsbas.

Kunskapsbasredigering stöder flera rollbaserade åtkomstbehörigheter som du tillämpar i Azure Portal för att begränsa omfattningen av en medarbetares förmågor.

Integrering med klientprogram

Integrering med klientprogram utförs genom att skicka en fråga till slutpunkten för förutsägelsekörningen. En fråga skickas till din specifika kunskapsbas med en SDK eller REST-baserad begäran till QnA Maker-webbappens slutpunkt.

För att autentisera en klientbegäran korrekt måste klientprogrammet skicka rätt autentiseringsuppgifter och kunskapsbas-ID. Om du använder en Azure AI-Bot Service konfigurerar du de här inställningarna som en del av robotkonfigurationen i Azure Portal.

Konversationsflöde i ett klientprogram

Konversationsflöde i ett klientprogram, till exempel en Azure-robot, kan kräva funktioner före och efter interaktion med kunskapsbas.

Stöder klientprogrammet konversationsflöde, antingen genom att tillhandahålla alternativa metoder för att hantera uppföljningsprompter eller genom att inkludera chit-chit? I så fall utformar du dessa tidigt och ser till att klientprogramfrågan hanteras korrekt av en annan tjänst eller när den skickas till din kunskapsbas.

Dispatch mellan QnA Maker och Language Understanding (LUIS)

Ett klientprogram kan tillhandahålla flera funktioner, varav endast en besvaras av en kunskapsbas. Andra funktioner måste fortfarande förstå konversationstexten och extrahera innebörden från den.

En vanlig klientprogramarkitektur är att använda både QnA Maker och Language Understanding (LUIS) tillsammans. LUIS tillhandahåller textklassificering och extrahering för alla frågor, inklusive till andra tjänster. QnA Maker ger svar från din kunskapsbas.

I ett sådant scenario med delad arkitektur utförs sändningen mellan de två tjänsterna av dispatch-verktyget från Bot Framework.

Aktiv inlärning från ett klientprogram

QnA Maker använder aktiv inlärning för att förbättra din kunskapsbas genom att föreslå alternativa frågor till ett svar. Klientprogrammet ansvarar för en del av den här aktiva inlärningen. Genom konversationsuppaningar kan klientprogrammet avgöra att kunskapsbas returnerade ett svar som inte är användbart för användaren, och det kan avgöra ett bättre svar. Klientprogrammet måste skicka tillbaka informationen till kunskapsbas för att förbättra förutsägelsekvaliteten.

Ange ett standardsvar

Om kunskapsbas inte hittar något svar returneras standardsvaret. Det här svaret kan konfigureras på sidan Inställningar i QnA Maker-portalen eller i API:erna.

Det här standardsvaret skiljer sig från standardsvaret för Azure-roboten. Du konfigurerar standardsvaret för din Azure-robot i Azure Portal som en del av konfigurationsinställningarna. Den returneras när tröskelvärdet för poäng inte uppfylls.

Förutsägelse

Förutsägelsen är svaret från din kunskapsbas och innehåller mer information än bara svaret. Om du vill få ett svar på frågeförutsägelse använder du GenerateAnswer-API:et.

Förutsägelsepoängfluktuationer

En poäng kan ändras baserat på flera faktorer:

  • Antal svar som du begärde som svar på GenerateAnswer med top egenskapen
  • Olika tillgängliga alternativa frågor
  • Filtrering för metadata
  • Fråga som skickas till test eller production kunskapsbas

Det finns en svarsrankning i två faser:

  • Cognitive Search – första rangordningen. Ange det antal svar som tillåts tillräckligt högt för att de bästa svaren ska returneras av Cognitive Search och sedan skickas till QnA Maker-rankaren.
  • QnA Maker – andra rangordningen. Använd funktionalisering och maskininlärning för att fastställa bästa svar.

Tjänstuppdateringar

Använd de senaste körningsuppdateringarna för att automatiskt hantera tjänstuppdateringar.

Skalning, dataflöde och återhämtning

Skalning, dataflöde och återhämtning bestäms av Azure-resurserna, deras prisnivåer och eventuell omgivande arkitektur, till exempel Traffic Manager.

Analys med Application Insights

Alla frågor till din kunskapsbas lagras i Application Insights. Använd våra viktigaste frågor för att förstå dina mått.

Utvecklingscykel

Utvecklingslivscykeln för en kunskapsbas pågår: redigera, testa och publicera din kunskapsbas.

Kunskapsbasutveckling av QnA Maker-par

Dina QnA-par bör utformas och utvecklas baserat på klientprogramanvändningen.

Varje par kan innehålla:

  • Metadata – kan filtreras vid frågor så att du kan tagga dina QnA-par med ytterligare information om källan, innehållet, formatet och syftet med dina data.
  • Uppföljningsprompter – hjälper till att fastställa en sökväg via din kunskapsbas så att användaren får rätt svar.
  • Alternativa frågor – viktigt att tillåta att sökningen matchar ditt svar från olika former av frågan. Aktiva inlärningsförslag omvandlas till alternativa frågor.

Utveckling av DevOps

Att utveckla en kunskapsbas för att infoga i en DevOps-pipeline kräver att kunskapsbas isoleras under batchtestning.

En kunskapsbas delar Cognitive Search-indexet med alla andra kunskapsbaser på QnA Maker-resursen. Även om kunskapsbas är isolerad efter partition kan delning av indexet orsaka en skillnad i poängen jämfört med den publicerade kunskapsbas.

Om du vill ha samma poäng på kunskapsbaserna test och production isolerar du en QnA Maker-resurs till en enda kunskapsbas. I den här arkitekturen behöver resursen bara leva så länge som det isolerade batchtestet.

Nästa steg