الاستعلام عن قاعدة معارف للحصول على إجابات

يجب نشر قاعدة معارف. بمجرد النشر، يتم الاستعلام عن قاعدة معارف في نقطة نهاية التنبؤ بوقت التشغيل باستخدام واجهة برمجة تطبيقات generateAnswer. يتضمن الاستعلام نص السؤال والإعدادات الأخرى لمساعدة QnA Maker على تحديد أفضل تطابق ممكن للإجابة.

إشعار

ستتوقف خدمة QnA Maker في 31 مارس 2025. يتوفر الآن إصدار أحدث من إمكانية السؤال والإجابة كجزء من Azure الذكاء الاصطناعي Language. للحصول على إمكانيات الإجابة على الأسئلة داخل خدمة اللغة، راجع الإجابة على الأسئلة. اعتبارًا من 1 أكتوبر 2022، لن تتمكن من إنشاء موارد QnA Maker جديدة. للحصول على معلومات عن ترحيل قواعد معارف صانع QnA الحالية إلى الإجابة على الأسئلة، راجع دليل الترحيل .

كيفية معالجة QnA Maker لاستعلام مستخدم لتحديد أفضل إجابة

يتلقى قاعدة معارف QnA Maker المدرب والمنشر استعلام مستخدم، من روبوت أو تطبيق عميل آخر، في واجهة برمجة تطبيقات GenerateAnswer. يوضح الرسم التخطيطي التالي العملية عند تلقي استعلام المستخدم.

The ranking model process for a user query

معالجة المصنف

يتم شرح العملية في الجدول التالي.

الخطوة الغرض
1 يرسل تطبيق العميل استعلام المستخدم إلى واجهة برمجة تطبيقات GenerateAnswer.
2 يقوم QnA Maker بالمعالجة المسبقة لاستعلام المستخدم باستخدام الكشف عن اللغة والمدققات الإملائية وفواصل الكلمات.
3 يتم أخذ هذه المعالجة المسبقة لتغيير استعلام المستخدم للحصول على أفضل نتائج البحث.
4 يتم إرسال هذا الاستعلام الذي تم تغييره إلى فهرس بحث Azure الذكاء الاصطناعي، والذي يتلقى top عدد النتائج. إذا لم تكن الإجابة الصحيحة في هذه النتائج، تفضل بزيادة قيمة topً. بشكل عام، قيمة 10 للأعمال top في 90% من الاستعلامات. تقوم عوامل تصفية بحث Azure بإيقاف الكلمات في هذه الخطوة.
5 يستخدم QnA Maker التمييز القائم على التركيب والدلالي لتحديد التشابه بين استعلام المستخدم ونتائج QnA التي تم جلبها.
6 يستخدم نموذج المصنف الذي تم تعلمه آليًا الميزات المختلفة، بدءًا من الخطوة 5، لتحديد درجات الثقة وترتيب التصنيف الجديد.
7 يتم إرجاع النتائج الجديدة إلى تطبيق العميل بترتيب مرتب.

تتضمن الميزات المستخدمة على سبيل المثال لا الحصر الدلالات على مستوى الكلمات، وأهمية مستوى المصطلح في المجموعة، والنماذج الدلالية المستفادة بعمق لتحديد التشابه والصلة بين سلسلتين نصيتين.

طلب واستجابة HTTP مع نقطة النهاية

عند نشر قاعدة معارف، تنشئ الخدمة نقطة نهاية HTTP مستندة إلى REST يمكن دمجها في التطبيق الخاص بك، روبوت دردشة عادةً.

طلب استعلام المستخدم لإنشاء إجابة

استعلام المستخدم هو السؤال الذي يطرحه المستخدم النهائي على قاعدة معارف، مثل How do I add a collaborator to my app?. غالبًا ما يكون الاستعلام بتنسيق لغة طبيعية أو بعض الكلمات الأساسية التي تمثل السؤال، مثل help with collaborators. يتم إرسال الاستعلام إلى قاعدة معارف من طلب HTTP في تطبيق العميل الخاص بك.

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

يمكنك التحكم في الاستجابة عن طريق تعيين خصائص مثل scoreThresholdوأعلى و strictFilters.

استخدم سياق المحادثة مع وظائف متعددة الأدوار لإبقاء المحادثة مستمرة في تحسين الأسئلة والأجوبة، للعثور على الإجابة الصحيحة والنهائية.

الاستجابة من استدعاء لإنشاء إجابة

استجابة HTTP هي الإجابة التي تم استردادها من قاعدة معارف، استنادًا إلى أفضل تطابق لاستعلام مستخدم معين. تتضمن الاستجابة الإجابة ودرجة التنبؤ. إذا طلبت أكثر من إجابة علوية واحدة باستخدام الخاصية top، فستحصل على أكثر من إجابة هامة واحدة، لكل منها درجة.

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

الخطوات التالية