Filtrowanie odpowiedzi za pomocą metadanych
Usługa QnA Maker umożliwia dodawanie metadanych w postaci par klucz i wartość do par pytań i odpowiedzi. Następnie możesz użyć tych informacji, aby filtrować wyniki zapytań użytkowników i przechowywać dodatkowe informacje, które mogą być używane w kolejnych konwersacjach.
Uwaga
Usługa QnA Maker jest wycofana 31 marca 2025 r. Nowsza wersja funkcji pytań i odpowiedzi jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure. Aby uzyskać możliwości odpowiedzi na pytania w usłudze językowej, zobacz odpowiadanie na pytania. Od 1 października 2022 r. nie będzie można tworzyć nowych zasobów usługi QnA Maker. Aby uzyskać informacje na temat migrowania istniejących baz wiedzy usługi QnA Maker do odpowiadania na pytania, zapoznaj się z przewodnikiem migracji.
Przechowywanie pytań i odpowiedzi za pomocą jednostki QnA
Ważne jest, aby zrozumieć, jak usługa QnA Maker przechowuje dane pytań i odpowiedzi. Na poniższej ilustracji przedstawiono jednostkę QnA:
Każda jednostka QnA ma unikatowy i trwały identyfikator. Identyfikator służy do aktualizowania określonej jednostki QnA.
Używanie metadanych do filtrowania odpowiedzi według niestandardowych tagów metadanych
Dodawanie metadanych umożliwia filtrowanie odpowiedzi według tych tagów metadanych. Dodaj kolumnę metadanych z menu Opcje widoku . Dodaj metadane do baza wiedzy, wybierając ikonę metadanych, aby dodać parę metadanych+. Ta para składa się z jednego klucza i jednej wartości.
Filtrowanie wyników za pomocą filtrów strictFilters dla tagów metadanych
Rozważ pytanie użytkownika "Kiedy ten hotel jest blisko?", gdzie intencja jest dorozumiana dla restauracji "Paradise".
Ponieważ wyniki są wymagane tylko dla restauracji "Paradise", można ustawić filtr w wywołaniu GenerateAnswer metadanych "Nazwa restauracji". W poniższym przykładzie pokazano następujące kwestie:
{
"question": "When does this hotel close?",
"top": 1,
"strictFilters": [ { "name": "restaurant", "value": "paradise"}]
}
Filtruj według źródła
Jeśli masz wiele źródeł zawartości w baza wiedzy i chcesz ograniczyć wyniki do określonego zestawu źródeł, możesz to zrobić przy użyciu zastrzeżonego słowa kluczowegosource_name_metadata
, jak pokazano poniżej.
"strictFilters": [
{
"name": "category",
"value": "api"
},
{
"name": "source_name_metadata",
"value": "boby_brown_docx"
},
{
"name": "source_name_metadata",
"value": "chitchat.tsv"
}
]
Domyślnie logiczne I
Aby połączyć kilka filtrów metadanych w zapytaniu, dodaj dodatkowe filtry metadanych do tablicy strictFilters
właściwości. Domyślnie wartości są logicznie łączone (AND). Kombinacja logiczna wymaga, aby wszystkie filtry odpowiadały parom QnA, aby para została zwrócona w odpowiedzi.
Jest to równoważne użyciu strictFiltersCompoundOperationType
właściwości z wartością AND
.
Logiczne OR przy użyciu właściwości strictFiltersCompoundOperationType
W przypadku łączenia kilku filtrów metadanych, jeśli interesuje Cię tylko jeden lub niektóre pasujące filtry, użyj strictFiltersCompoundOperationType
właściwości z wartością OR
.
Dzięki temu baza wiedzy zwraca odpowiedzi, gdy wszystkie dopasowania filtru nie będą zwracać odpowiedzi, ale nie będą zwracać odpowiedzi, które nie mają metadanych.
{
"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"
}
Przykłady metadanych w przewodnikach Szybki start
Dowiedz się więcej o metadanych w przewodniku Szybki start dotyczącym metadanych w portalu usługi QnA Maker:
- Tworzenie — dodawanie metadanych do pary pytań i odpowiedzi
- Przewidywanie zapytań — filtrowanie odpowiedzi według metadanych
Używanie wyników pytań i odpowiedzi, aby zachować kontekst konwersacji
Odpowiedź na element GenerateAnswer zawiera odpowiednie informacje o metadanych dopasowanej pary pytań i odpowiedzi. Te informacje można użyć w aplikacji klienckiej do przechowywania kontekstu poprzedniej konwersacji do użycia w kolejnych konwersacjach.
{
"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"
}
]
}
]
}