Filtrera svar med metadata
Med QnA Maker kan du lägga till metadata i form av nyckel- och värdepar i dina par med frågor och svar. Du kan sedan använda den här informationen för att filtrera resultat till användarfrågor och för att lagra ytterligare information som kan användas i uppföljningskonversationer.
Kommentar
QnA Maker-tjänsten dras tillbaka den 31 mars 2025. En nyare version av fråge- och svarsfunktionen är nu tillgänglig som en del av Azure AI Language. Information om funktioner för frågesvar i språktjänsten finns i svar på frågor. Från och med den 1 oktober 2022 kommer du inte att kunna skapa nya QnA Maker-resurser. Information om hur du migrerar befintliga QnA Maker-baza znanja till frågesvar finns i migreringsguiden.
Lagra frågor och svar med en QnA-entitet
Det är viktigt att förstå hur QnA Maker lagrar fråge- och svarsdata. Följande bild visar en QnA-entitet:
Varje QnA-entitet har ett unikt och beständigt ID. Du kan använda ID:t för att göra uppdateringar av en viss QnA-entitet.
Använda metadata för att filtrera svar efter anpassade metadatataggar
Genom att lägga till metadata kan du filtrera svaren efter dessa metadatataggar. Lägg till metadatakolumnen från menyn Visa alternativ . Lägg till metadata i baza znanja genom att välja metadataikonen + för att lägga till ett metadatapar. Det här paret består av en nyckel och ett värde.
Filtrera resultat med strictFilters för metadatataggar
Tänk på användarfrågan "När stänger det här hotellet?", där avsikten är underförstådd för restaurangen "Paradise".
Eftersom resultaten endast krävs för restaurangen "Paradise" kan du ange ett filter i GenerateAnswer-anropet på metadatan "Restaurangnamn". Följande exempel visar detta:
{
"question": "When does this hotel close?",
"top": 1,
"strictFilters": [ { "name": "restaurant", "value": "paradise"}]
}
Filtrera efter källa
Om du har flera innehållskällor i baza znanja och vill begränsa resultatet till en viss uppsättning källor kan du göra det med det reserverade nyckelordet source_name_metadata
enligt nedan.
"strictFilters": [
{
"name": "category",
"value": "api"
},
{
"name": "source_name_metadata",
"value": "boby_brown_docx"
},
{
"name": "source_name_metadata",
"value": "chitchat.tsv"
}
]
Logisk AND som standard
Om du vill kombinera flera metadatafilter i frågan lägger du till ytterligare metadatafilter i egenskapens strictFilters
matris. Som standard kombineras värdena logiskt (AND). En logisk kombination kräver att alla filter matchar QnA-paren för att paret ska returneras i svaret.
Detta motsvarar att använda strictFiltersCompoundOperationType
egenskapen med värdet AND
.
Logisk ELLER med egenskapen strictFiltersCompoundOperationType
När du kombinerar flera metadatafilter använder du egenskapen med värdet OR
för om du bara bryr dig om ett eller några av filtren som matchar strictFiltersCompoundOperationType
.
På så sätt kan din baza znanja returnera svar när ett filter matchar men inte returnerar svar som inte har några metadata.
{
"question": "When do facilities in this hotel close?",
"top": 1,
"strictFilters": [
{ "name": "type","value": "restaurant"},
{ "name": "type", "value": "bar"},
{ "name": "type", "value": "poolbar"}
],
"strictFiltersCompoundOperationType": "OR"
}
Metadataexempel i snabbstarter
Läs mer om metadata i snabbstarten för QnA Maker-portalen för metadata:
Använda fråge- och svarsresultat för att behålla konversationskontexten
Svaret på GenerateAnswer innehåller motsvarande metadatainformation för det matchade fråge- och svarsparet. Du kan använda den här informationen i klientprogrammet för att lagra kontexten för föregående konversation för användning i senare konversationer.
{
"answers": [
{
"questions": [
"What is the closing time?"
],
"answer": "10.30 PM",
"score": 100,
"id": 1,
"source": "Editorial",
"metadata": [
{
"name": "restaurant",
"value": "paradise"
},
{
"name": "location",
"value": "secunderabad"
}
]
}
]
}