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 do zapytań użytkowników i przechowywać dodatkowe informacje, które mogą być używane w kolejnych konwersacjach.
Uwaga
Usługa QnA Maker jest wycofywana 31 marca 2025 r. Nowsza wersja funkcji pytań i odpowiedzi jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure. Aby uzyskać 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 baza wiedzy usługi QnA Maker do odpowiadania na pytania, zapoznaj się z przewodnikiem migracji.
Przechowywanie pytań i odpowiedzi za pomocą jednostki pytań i odpowiedzi
Ważne jest, aby zrozumieć, jak usługa QnA Maker przechowuje dane pytania i odpowiedzi. Poniższa ilustracja przedstawia jednostkę pytań i pytań i pytań i pytań:
Każda jednostka pytań i pytań i pytań ma unikatowy i trwały identyfikator. Możesz użyć identyfikatora, aby zaktualizować określoną jednostkę pytań i odpowiedzi.
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 Wyświetl opcje . 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 implikowane dla restauracji "Paradise".
Ponieważ wyniki są wymagane tylko dla restauracji "Paradise", można ustawić filtr w wywołaniu GenerateAnswer na 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"
}
]
Wartość logiczna AND domyślnie
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 pytań i odpowiedzi, aby para została zwrócona w odpowiedzi.
Jest to równoważne użyciu strictFiltersCompoundOperationType
właściwości z wartością AND
.
Wartość logiczna OR używająca właściwości strictFiltersCompoundOperationType
W przypadku łączenia kilku filtrów metadanych, jeśli dotyczy to tylko jednego lub niektórych pasujących filtrów, 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żyj wyników pytań i odpowiedzi, aby zachować kontekst konwersacji
Odpowiedź na element GenerateAnswer zawiera odpowiednie metadane dopasowanej pary pytań i odpowiedzi. Te informacje można używać w aplikacji klienckiej do przechowywania kontekstu poprzedniej konwersacji do użycia w późniejszych 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"
}
]
}
]
}