Filtrování odpovědí s metadaty
QnA Maker umožňuje přidávat metadata ve formě párů klíč-hodnota do párů otázek a odpovědí. Tyto informace pak můžete použít k filtrování výsledků na dotazy uživatelů a k ukládání dalších informací, které je možné použít v následných konverzacích.
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í.
Ukládání otázek a odpovědí pomocí entity QnA
Je důležité pochopit, jak QnA Maker ukládá data otázek a odpovědí. Následující obrázek znázorňuje entitu QnA:
Každá entita QnA má jedinečné a trvalé ID. ID můžete použít k aktualizaci konkrétní entity QnA.
Použití metadat k filtrování odpovědí podle vlastních značek metadat
Přidání metadat umožňuje filtrovat odpovědi podle těchto značek metadat. Přidejte sloupec metadat z nabídky Možnosti zobrazení. Přidejte do znalostní báze metadata tak, že vyberete ikonu metadat a + přidáte pár metadat. Tento pár se skládá z jednoho klíče a jedné hodnoty.
Filtrování výsledků pomocí strictFilters pro značky metadat
Představte si otázku uživatele "Kdy se tento hotel zavře?", kde záměr je odvozen pro restauraci "Paradise".
Vzhledem k tomu, že výsledky jsou vyžadovány pouze pro restauraci "Paradise", můžete nastavit filtr ve volání GenerateAnswer na metadata "Název restaurace". Následující příklad ukazuje:
{
"question": "When does this hotel close?",
"top": 1,
"strictFilters": [ { "name": "restaurant", "value": "paradise"}]
}
Filtrovat podle zdroje
Pokud máte ve svém znalostní báze více zdrojů obsahu a chcete omezit výsledky na konkrétní sadu zdrojů, můžete to udělat pomocí vyhrazeného klíčového slovasource_name_metadata
, jak je znázorněno níže.
"strictFilters": [
{
"name": "category",
"value": "api"
},
{
"name": "source_name_metadata",
"value": "boby_brown_docx"
},
{
"name": "source_name_metadata",
"value": "chitchat.tsv"
}
]
Logický operátor AND ve výchozím nastavení
Pokud chcete v dotazu zkombinovat několik filtrů metadat, přidejte do pole strictFilters
vlastnosti další filtry metadat. Ve výchozím nastavení jsou hodnoty logicky sloučeny (AND). Logická kombinace vyžaduje, aby všechny filtry odpovídaly párům QnA, aby se dvojice vrátila v odpovědi.
To je ekvivalentní použití strictFiltersCompoundOperationType
vlastnosti s hodnotou AND
.
Logický operátor OR s použitím vlastnosti strictFiltersCompoundOperationType
Při kombinování několika filtrů metadat, pokud se zabýváte pouze jedním nebo některým z odpovídajících filtrů, použijte strictFiltersCompoundOperationType
vlastnost s hodnotou OR
.
To umožňuje znalostní báze vrátit odpovědi, když se některý filtr shoduje, ale nevrací odpovědi, které neobsahují 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"
}
Příklady metadat v rychlých startech
Další informace o metadatech na portálu QnA Maker najdete v rychlém startu pro metadata:
Zachování kontextu konverzace pomocí výsledků otázek a odpovědí
Odpověď na GenerateAnswer obsahuje odpovídající metadata odpovídající dvojice otázek a odpovědí. Tyto informace můžete použít v klientské aplikaci k uložení kontextu předchozí konverzace pro pozdější konverzace.
{
"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"
}
]
}
]
}