Dotazování znalostní báze na odpovědi
Je nutné publikovat znalostní báze. Po publikování se znalostní báze dotazuje na koncový bod předpovědi modulu runtime pomocí rozhraní GENERATEAnswer API. Dotaz obsahuje text otázky a další nastavení, aby služba QnA Maker vybrali nejlepší možnou shodu s odpovědí.
Poznámka:
Služba QnA Maker se vyřadí z provozu 31. března 2025. Novější verze funkce pro otázky a odpovědi je teď dostupná jako součást jazyka Azure AI. Možnosti odpovídání na otázky v rámci služby Language Service najdete v tématu odpovědi na otázky. Od 1. října 2022 nebudete moct vytvářet nové prostředky služby QnA Maker. Informace o migraci stávajících znalostní báze služby QnA Maker na zodpovězení otázek najdete v průvodci migrací.
Jak QnA Maker zpracovává uživatelský dotaz, aby vybral nejlepší odpověď
Vytrénované a publikované služby QnA Maker znalostní báze obdrží uživatelský dotaz z robota nebo jiné klientské aplikace v rozhraní GenerateAnswer API. Následující diagram znázorňuje proces při přijetí uživatelského dotazu.
Proces rankeru
Tento proces je vysvětlen v následující tabulce.
Krok | Účel |
---|---|
0 | Klientská aplikace odešle dotaz uživatele do rozhraní GenerateAnswer API. |
2 | QnA Maker předzpracuje uživatelský dotaz s rozpoznáváním jazyka, kontrolami pravopisu a dělením slov. |
3 | Tímto předzpracováním se změní uživatelský dotaz na nejlepší výsledky hledání. |
4 | Tento upravený dotaz se odešle do indexu azure AI Search, který obdrží top počet výsledků. Pokud správná odpověď není v těchto výsledcích, zvyšte hodnotu top mírně. Obecně platí, že hodnota 10 pro top práci v 90 % dotazů. Azure Search v tomto kroku zastaví slova . |
5 | QnA Maker používá syntaktické a sémantické featurizace k určení podobnosti mezi uživatelským dotazem a načtenými výsledky QnA. |
6 | Strojově naučený model ranker používá různé funkce z kroku 5 k určení skóre spolehlivosti a nového pořadí řazení. |
7 | Nové výsledky se vrátí do klientské aplikace v seřazeném pořadí. |
Mezi používané funkce patří sémantika na úrovni slov, důležitost termínů v korpusu a hluboké sémantické modely, které určují podobnost a relevanci mezi dvěma textovými řetězci.
Požadavek HTTP a odpověď s koncovým bodem
Když publikujete znalostní báze, služba vytvoří koncový bod HTTP založený na REST, který je možné integrovat do vaší aplikace, což je obvykle chatovací robot.
Žádost uživatele o vygenerování odpovědi
Dotaz uživatele je otázka, kterou koncový uživatel položí znalostní báze, například How do I add a collaborator to my app?
. Dotaz je často ve formátu přirozeného jazyka nebo v několika klíčových slovech, která představují otázku, například help with collaborators
. Dotaz se odešle do vašeho znalostní báze z požadavku HTTP v klientské aplikaci.
{
"question": "How do I add a collaborator to my app?",
"top": 6,
"isTest": true,
"scoreThreshold": 20,
"strictFilters": [
{
"name": "QuestionType",
"value": "Support"
}],
"userId": "sd53lsY="
}
Odpověď můžete řídit nastavením vlastností, jako jsou scoreThreshold, top a strictFilters.
Pomocí kontextu konverzace s více funkcemi můžete konverzaci upřesnit a zpřesnit otázky a odpovědi a najít správnou a konečnou odpověď.
Odpověď z volání pro vygenerování odpovědi
Odpověď HTTP je odpověď načtená z znalostní báze na základě nejlepší shody pro daný uživatelský dotaz. Odpověď obsahuje odpověď a skóre předpovědi. Pokud jste požádali o více než jednu nejlepší odpověď s top
vlastností, získáte více než jednu nejlepší odpověď, z nichž každá má skóre.
{
"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"
}
]
}
]
}