Kueri pangkalan pengetahuan untuk jawaban

Pangkalan pengetahuan harus diterbitkan. Setelah dipublikasikan, pangkalan pengetahuan dikueri pada titik akhir prediksi runtime menggunakan API generateAnswer. Kueri menyertakan teks pertanyaan, dan pengaturan lainnya, untuk membantu QnA Maker memilih kecocokan terbaik dengan jawaban.

Catatan

Layanan QnA Maker akan dihentikan pada 31 Maret 2025. Versi kemampuan pertanyaan dan jawaban yang lebih baru sekarang tersedia sebagai bagian dari Bahasa Azure AI. Untuk kemampuan menjawab pertanyaan dalam Language Service, lihat jawaban pertanyaan. Mulai 1 Oktober 2022, Anda tidak dapat membuat sumber daya QnA Maker baru. Untuk informasi tentang memigrasikan pangkalan pengetahuan QnA Maker yang ada ke jawaban atas pertanyaan, lihat panduan migrasi.

Cara QnA Maker memproses kueri pengguna untuk memilih jawaban terbaik

Pangkalan pengetahuan QnA Maker yang terlatih dan diterbitkan menerima kueri pengguna, dari bot atau aplikasi klien lainnya, di API GenerateAnswer. Diagram berikut ini mengilustrasikan proses saat kueri pengguna diterima.

The ranking model process for a user query

Proses Ranker

Proses dijelaskan dalam tabel berikut.

Langkah Tujuan
1 Aplikasi klien mengirimkan kueri pengguna ke API GenerateAnswer.
2 QnA Maker melakukan praproses kueri pengguna dengan deteksi bahasa, ejaan, dan pemecah kata.
3 Praprosesi ini diambil untuk mengubah kueri pengguna untuk hasil pencarian terbaik.
4 Kueri yang diubah ini dikirim ke Indeks Pencarian Azure AI, yang menerima top jumlah hasil. Jika jawaban yang benar tidak ada dalam hasil ini, tingkatkan nilai top sedikit. Umumnya, nilai 10 karena top bekerja dalam 90% kueri. Filter pencarian Azure menghentikan kata-kata dalam langkah ini.
5 QnA Maker menggunakan featurisasi berbasis syntactic dan semantik untuk menentukan kesamaan antara kueri pengguna dan hasil QnA yang diambil.
6 Model ranker yang dipelajari mesin menggunakan berbagai fitur, dari langkah 5, untuk menentukan skor keyakinan dan urutan peringkat baru.
7 Hasil baru dikembalikan ke aplikasi klien dalam urutan peringkat.

Fitur yang digunakan termasuk tetapi tidak terbatas pada semantik tingkat kata, kepentingan tingkat istilah dalam korpus, dan model semantik yang dipelajari secara mendalam untuk menentukan kesamaan dan relevansi antara dua string teks.

Permintaan dan respons HTTP dengan titik akhir

Ketika Anda menerbitkan pangkalan pengetahuan Anda, layanan ini membuat titik akhir HTTP berbasis REST yang dapat diintegrasikan ke dalam aplikasi Anda, biasanya bot obrolan.

Permintaan kueri pengguna untuk menghasilkan jawaban

Kueri pengguna adalah pertanyaan yang ditanyakan pengguna akhir tentang pangkalan pengetahuan, seperti How do I add a collaborator to my app? . Kueri sering dalam format bahasa alami atau beberapa kata kunci yang mewakili pertanyaan, seperti help with collaborators . Kueri dikirim ke pangkalan pengetahuan Anda dari permintaan HTTP di aplikasi klien Anda.

{
    "question": "How do I add a collaborator to my app?",
    "top": 6,
    "isTest": true,
    "scoreThreshold": 20,
    "strictFilters": [
    {
        "name": "QuestionType",
        "value": "Support"
    }],
    "userId": "sd53lsY="
}

Anda mengontrol respons dengan mengatur properti seperti scoreThreshold, top, dan strictFilters.

Gunakan konteks percakapan dengan fungsionalitas multi-turn untuk menjaga percakapan tetap akan memperbaiki pertanyaan dan jawaban, untuk menemukan jawaban yang benar dan terakhir.

Respons dari panggilan untuk menghasilkan jawaban

Respons HTTP adalah jawaban yang diambil dari pangkalan pengetahuan, berdasarkan kecocokan terbaik untuk kueri pengguna tertentu. Respon termasuk jawaban dan skor prediksi. Jika Anda meminta lebih dari satu jawaban teratas dengan properti top, Anda mendapatkan lebih dari satu jawaban teratas, masing-masing dengan skor.

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

Langkah berikutnya