Udostępnij za pośrednictwem


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 października 2025 r. (rozszerzona od 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 możesz już tworzyć nowych zasobów usługi QnA Maker. Od 31 marca 2025 r. portal usługi QnA Maker nie jest już dostępny. 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 klasyfikowania modelu dla 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"
                }
            ]
        }
    ]
}

Następne kroki