Planera QnA Maker-appen

Om du vill planera din QnA Maker-app måste du förstå hur QnA Maker fungerar och samverkar med andra Azure-tjänster. Du bör också ha en solid grepp av kunskaps bas koncept.

Azure-resurser

Varje Azure-resurs som skapats med QNA Maker har ett specifikt syfte. Varje resurs har sitt eget syfte, gränser och pris nivå. Det är viktigt att förstå funktionerna i dessa resurser så att du kan använda dessa kunskaper i planerings processen.

Resurs Syfte
QNA Maker resurs Redigering och fråga förutsägelse
Kognitiv sökning resurs Data lagring och sökning
Resurs för resurs-och app-plan för App Service Slutpunkt för frågeförutsägelse
Application Insights resurs Telemetri för fråga förutsägelse

Resurs planering

Den kostnads fria nivån, F0 , för varje resurs, fungerar och kan ge både redigering och fråga förutsägelse. Du kan använda den här nivån för att lära dig att redigera och fråga förutsägelse. När du flyttar till ett produktions-eller Live-scenario kan du utvärdera ditt resurs val igen.

QnA Maker resurs

En enskild QnA Maker-resurs kan vara värd för fler än en kunskaps bas. Antalet kunskaps baser bestäms av den Kognitiv sökning pris nivåns antal index som stöds. Lär dig mer om förhållandet mellan index och kunskaps baser.

Kunskaps bas storlek och data flöde

När du skapar en riktig app bör du planera tillräckligt med resurser för storleken på din kunskaps bas och för dina förväntade förfrågningar om fråga förutsägelse.

En kunskaps bas storlek styrs av:

Frågan förutsägelse förfrågan för kunskaps basen styrs av webbappens plan och webbapp. Se de rekommenderade inställningarna för att planera pris nivån.

Resursdelning

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

Alla kunskaps baser som skapats i samma QnA Maker resurs delar samma slut punkt för test frågans förutsägelse.

Förstå effekten av resurs val

Med rätt resurs val menas din kunskaps bas svar på frågan förutsägelse.

Om din kunskaps bas inte fungerar korrekt är det vanligt vis ett problem med felaktig resurs hantering.

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

Kunskaps banker

En kunskaps bas är direkt knuten till sin QnA Maker-resurs. Den innehåller de frågor och svar (QnA-par) som används för att besvara förfrågningar om fråga förutsägelse.

Språk överväganden

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

Du kan strukturera 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 kunskaps bas språket innan du skickar frågan till slut punkten för frågans förutsägelse.

Mata in data källor

Du kan använda någon av följande inmatade data källor för att skapa en kunskaps bas:

  • Offentlig URL
  • Privat SharePoint-URL
  • Fil

Vid inmatnings processen konverteras innehålls typer som stöds till markdown. All ytterligare redigering av svaret görs med markdown. När du har skapat en kunskaps bas kan du redigera QNA-par i QNA Maker Portal med RTF- redigering.

Överväganden för data format

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

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

Bot-personlighet

Lägg till en bot-personlighet till din kunskaps bas med en CHI2TEST-chatt. Den här informen går igenom med svar som finns i en viss konversations ton, till exempel professionella och egna. Den här CHI2TEST tillhandahålls som en konversations uppsättning, som du har total kontroll för att lägga till, redigera och ta bort.

En bot-personlighet rekommenderas om din robot ansluter till din kunskaps bas. Du kan välja att använda CHI2TEST i kunskaps basen även om du också ansluter till andra tjänster, men du bör se hur bot tjänsten interagerar för att veta om det är rätt arkitektur design för din användning.

Konversations flöde med en kunskaps bas

Konversations flödet börjar vanligt vis med en hälsning från en användare, till exempel Hi eller Hello . Din kunskaps bas kan svara med ett allmänt svar, t. ex Hi, how can I help you ., och det kan också innehålla en urval av uppföljnings anvisningar för att fortsätta konversationen.

Du bör utforma ditt konversations flöde med en loop i åtanke så att en användare vet hur du använder din robot och inte överges av roboten i konversationen. Uppföljnings instruktioner ger länkar mellan QNA-par som tillåter konversations flödet.

Redigera med medarbetare

Medarbetare kan vara andra utvecklare som delar den fullständiga utvecklings stacken i kunskaps bas programmet eller kan vara begränsade till att bara redigera kunskaps basen.

Redigering av kunskaps bas har stöd för flera rollbaserade åtkomst behörigheter som du använder i Azure Portal för att begränsa omfattningen för en medarbetares förmågor.

Integrering med klient program

Integrering med klient program uppnås genom att skicka en fråga till körnings slut punkten för förutsägelse. En fråga skickas till din speciella kunskaps bas med en SDK-eller REST-baserad begäran till din QnA Makers webb programs slut punkt.

Om du vill autentisera en klientbegäran korrekt måste klient programmet skicka rätt autentiseringsuppgifter och ID för kunskaps bas. Om du använder en Azure Bot Service konfigurerar du inställningarna som en del av robot konfigurationen i Azure Portal.

Konversations flöde i ett klient program

Konversations flödet i ett klient program, t. ex. en Azure-robot, kan kräva funktioner innan och efter att du har interagerat i kunskaps basen.

Stöder ditt klient program konversations flödet, antingen genom att tillhandahålla alternativa metoder för att hantera uppföljnings-prompter eller inklusive CHI2TEST? I så fall kan du utforma dessa tidiga och se till att klient program frågan hanteras korrekt av en annan tjänst eller när den skickas till din kunskaps bas.

Sändning mellan QnA Maker och Language Understanding (LUIS)

Ett klient program kan tillhandahålla flera funktioner, bara en som besvaras av en kunskaps bas. Andra funktioner behöver inte förstå konversations texten och extraherings innebörden.

En vanlig klient program arkitektur är att använda både QnA Maker och language Understanding (Luis) tillsammans. LUIS tillhandahåller text klassificering och extrahering för alla frågor, inklusive andra tjänster. QnA Maker ger svar från din kunskaps bas.

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

Aktiv inlärning från ett klient program

QnA Maker använder Active Learning för att förbättra din kunskaps bas genom att föreslå alternativa frågor till ett svar. Klient programmet ansvarar för en del av den här aktiva inlärningen. Via konversationer kan klient programmet avgöra om kunskaps basen returnerade ett svar som inte är användbart för användaren, och det kan fastställa ett bättre svar. Klient programmet måste skicka tillbaka informationen till kunskaps basen för att förbättra förutsägelse kvaliteten.

Ange ett standard svar

Om din kunskaps bas inte hittar något svar, returneras standard svaret. Detta svar kan konfigureras på sidan Inställningar i QNA Maker portalen eller i API: erna.

Det här standardsvaret skiljer sig från standard svaret för Azure bot. Du konfigurerar standard svaret för din Azure-robot i Azure Portal som en del av konfigurations inställningarna. Den returneras när Poäng tröskelvärdet inte är uppfyllt.

Förutsägelse

Förutsägelsen är svaret från din kunskaps bas och innehåller mer information än bara svaret. Använd GenerateAnswer-API: etför att få svar på en fråga som förutsäger.

Förutsägelse Poäng

Poängen kan ändras baserat på flera faktorer:

  • Antal svar som du begärt som svar på GenerateAnswer med top egenskapen
  • Utbud av tillgängliga alternativa frågor
  • Filtrering för metadata
  • Fråga som skickats till test eller production kunskaps bas

Det finns en svars rangordning i två faser:

  • Kognitiv sökning-första rang. Ange antalet svar som är tillräckligt högt för att de bästa svaren returneras av kognitiv sökning och sedan skickas till QNA Maker rangen.
  • QnA Maker-sekund rang. Använd funktionalisering och Machine Learning för att fastställa bästa möjliga svar.

Tjänstuppdateringar

Använd de senaste körnings uppdateringarna för att hantera tjänst uppdateringar automatiskt.

Skalning, data flöde och återhämtning

Skalning, data flöde och återhämtning bestäms av Azure- resurser, deras pris nivåer och alla omgivande arkitektur, till exempel Traffic Manager.

Analys med Application Insights

Alla frågor till kunskaps basen lagras i Application Insights. Använd våra vanligaste frågor för att förstå dina mått.

Utvecklingscykel

Utvecklings livs cykeln för en kunskaps bas pågår: redigera, testa och publicera din kunskaps bas.

Kunskaps bas utveckling av QnA Maker par

Dina QnA-par bör utformas och utvecklas baserat på användningen av klient programmet.

Varje par kan innehålla:

  • Metadata – filtrerat vid frågor så att du kan tagga dina QnA-par med ytterligare information om källa, innehåll, format och syfte för dina data.
  • Uppföljnings frågor – hjälper dig att fastställa en sökväg genom kunskaps basen så att användaren kommer till rätt svar.
  • Alternativa frågor – viktigt för att söka efter svar från olika former av frågan. Aktiva utbildnings förslag gör alternativa frågor.

DevOps-utveckling

Att utveckla en kunskaps bas som ska infogas i en DevOps-pipeline kräver att kunskaps basen isoleras under batch-testning.

En kunskaps bas delar Kognitiv sökning indexet med alla andra kunskaps baser på den QnA Maker resursen. När kunskaps basen isoleras av en partition kan delning av index orsaka en skillnad i poängen jämfört med den publicerade kunskaps basen.

För att få samma resultat i test och production kunskaps baser, isolera en QNA Maker resurs till en enda kunskaps bas. I den här arkitekturen behöver resursen bara leva så länge som det isolerade batch-testet.

Nästa steg