Wykonywanie zapytań dotyczących baza wiedzy w celu uzyskania odpowiedzi
Należy opublikować baza wiedzy. Po opublikowaniu baza wiedzy jest odpytywane w punkcie końcowym przewidywania środowiska uruchomieniowego przy użyciu interfejsu API generateAnswer. Zapytanie zawiera tekst pytania i inne ustawienia, aby ułatwić usłudze QnA Maker wybranie najlepszego możliwego dopasowania do odpowiedzi.
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.
Jak usługa QnA Maker przetwarza zapytanie użytkownika, aby wybrać najlepszą odpowiedź
Przeszkolony i opublikowany baza wiedzy usługi QnA Maker odbiera zapytanie użytkownika z bota lub innej aplikacji klienckiej w interfejsie API GenerateAnswer. Na poniższym diagramie przedstawiono proces odbierania zapytania użytkownika.
Proces rangatora
Proces został wyjaśniony w poniższej tabeli.
Krok | Przeznaczenie |
---|---|
1 | Aplikacja kliencka wysyła zapytanie użytkownika do interfejsu API GenerateAnswer. |
2 | Usługa QnA Maker wstępnie przetwarza zapytanie użytkownika za pomocą funkcji wykrywania języka, pisowni i dzielenia wyrazów. |
3 | To wstępne przetwarzanie jest wykonywane w celu zmiany zapytania użytkownika w celu uzyskania najlepszych wyników wyszukiwania. |
100 | To zmienione zapytanie jest wysyłane do indeksu usługi Azure AI Search, który otrzymuje top liczbę wyników. Jeśli prawidłowa odpowiedź nie znajduje się w tych wynikach, zwiększ wartość nieznacznie top . Ogólnie rzecz biorąc, wartość 10 dla top działa w 90% zapytań. Filtry usługi Azure Search zatrzymują słowa w tym kroku. |
5 | Usługa QnA Maker używa cech opartych na składni i semantyce w celu określenia podobieństwa między zapytaniem użytkownika a pobranymi wynikami pytań i odpowiedzi. |
6 | Model klasyfikatora nauczonego maszynowo używa różnych funkcji z kroku 5, aby określić wyniki ufności i nową kolejność klasyfikacji. |
7 | Nowe wyniki są zwracane do aplikacji klienckiej w kolejności sklasyfikowanej. |
Używane funkcje obejmują, ale nie są ograniczone do semantyki na poziomie wyrazów, znaczenia na poziomie terminów w korpusie i głęboko poznanych modeli semantycznych w celu określenia podobieństwa i istotności między dwoma ciągami tekstowymi.
Żądanie HTTP i odpowiedź z punktem końcowym
Podczas publikowania baza wiedzy usługa tworzy punkt końcowy HTTP oparty na protokole REST, który można zintegrować z aplikacją, często czatbot.
Żądanie zapytania użytkownika w celu wygenerowania odpowiedzi
Zapytanie użytkownika to pytanie, które użytkownik końcowy zadaje baza wiedzy, na przykład How do I add a collaborator to my app?
. Zapytanie jest często w formacie języka naturalnego lub kilka słów kluczowych reprezentujących pytanie, takie jak help with collaborators
. Zapytanie jest wysyłane do baza wiedzy z żądania HTTP w aplikacji klienckiej.
{
"question": "How do I add a collaborator to my app?",
"top": 6,
"isTest": true,
"scoreThreshold": 20,
"strictFilters": [
{
"name": "QuestionType",
"value": "Support"
}],
"userId": "sd53lsY="
}
Odpowiedź można kontrolować, ustawiając właściwości, takie jak scoreThreshold, top i strictFilters.
Użyj kontekstu konwersacji z funkcją wieloerytową, aby zachować możliwość uściślinia pytań i odpowiedzi, aby znaleźć poprawną i ostateczną odpowiedź.
Odpowiedź z wywołania w celu wygenerowania odpowiedzi
Odpowiedź HTTP to odpowiedź pobrana z baza wiedzy na podstawie najlepszego dopasowania dla danego zapytania użytkownika. Odpowiedź zawiera odpowiedź i wynik przewidywania. Jeśli poprosisz o więcej niż jedną odpowiedź z właściwością top
, otrzymasz więcej niż jedną odpowiedź, z których każda ma wynik.
{
"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"
}
]
}
]
}