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.

The ranking model process for a user query

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"
                }
            ]
        }
    ]
}

Następne kroki