الحصول على إجابة من قاعدة معارف QNA Maker
إشعار
يستخدم Azure OpenAI On Your Data نماذج لغة كبيرة (LLMs) لإنتاج نتائج مماثلة ل QnA Maker. إذا كنت ترغب في ترحيل مشروع QnA Maker إلى Azure OpenAI على بياناتك، فيرجى الاطلاع على دليلنا.
إشعار
ستتوقف خدمة QnA Maker في 31 مارس 2025. يتوفر الآن إصدار أحدث من إمكانية السؤال والإجابة كجزء من Azure الذكاء الاصطناعي Language. للحصول على إمكانيات الإجابة على الأسئلة داخل خدمة اللغة، راجع الإجابة على الأسئلة. اعتبارًا من 1 أكتوبر 2022، لن تتمكن من إنشاء موارد QnA Maker جديدة. للحصول على معلومات عن ترحيل قواعد معارف صانع QnA الحالية إلى الإجابة على الأسئلة، راجع دليل الترحيل .
إشعار
لا تنطبق تلك الوثائق على أحدث إصدار. للتعرّف على استخدام أحدث واجهات برمجة التطبيقات للإجابة عن الأسئلة، راجع دليل تأليف الإجابة عن الأسئلة.
يرشدك هذا التشغيل السريع المستند إلى cURL للحصول على إجابة من قاعدة معارفك.
المتطلبات الأساسية
- يجب أن يكون لديك
- أحدث cURL.
- في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
- مورد QnA Maker أُنشئ في مدخل Azure. تذكر معرف Microsoft Entra والاشتراك واسم مورد QnA الذي حددته عند إنشاء المورد.
- قاعدة معارف مدربة ومنشورة مع الأسئلة والأجوبة، من التشغيل السريع السابق، مُكوَّنة باستخدام بيانات التعريف والدردشة التلقائية.
إشعار
عندما تكون مستعداً لإنشاء إجابة عن سؤال من قاعدة معارفك، عليك تدريب وونشر قاعدة المعارف. عند نشر قاعدة معارفك، تعرض صفحة النشر إعدادات طلب HTTP لإنشاء إجابة. تعرض علامة التبويب cURL الإعدادات المطلوبة لإنشاء إجابة من أداة سطر الأوامر.
استخدام بيانات التعريف لتصفية الإجابة
استخدم قاعدة المعارف من التشغيل السريع السابق للاستعلام عن إجابة استناداً إلى بيانات التعريف.
من صفحة إعدادات قاعدة المعارف، حدد علامة التبويب CURL للاطلاع على مثال للأمر cURL المُستخدم لإنشاء إجابة من قاعدة المعارف.
انسخ الأمر إلى بيئة قابلة للتحرير (مثل ملف نصي) حتى تتمكن من تحرير الأمر. حرّر قيمة السؤال كما يلي بحيث تُستخدم بيانات التعريف لـ
service:qna_maker
كعامل تصفية لإقرانات الأسئلة والأجوبة.curl -X POST https://replace-with-your-resource-name.azurewebsites.net/qnamaker/knowledgebases/replace-with-your-knowledge-base-id/generateAnswer -H "Authorization: EndpointKey replace-with-your-endpoint-key" -H "Content-type: application/json" -d "{'top':30, 'question':'size','strictFilters': [{'name':'service','value':'qna_maker'}]}"
السؤال كلمة واحدة فقط هي
size
، والتي يمكن أن ترجع أياً من إقرانيْ الأسئلة والأجوبة. يأمر الصفيفstrictFilters
الاستجابة بالاقتصار على إجاباتqna_maker
فقط.لا تتضمن الاستجابة سوى الإجابة التي تفي بمعايير التصفية. تم تنسيق استجابة cURL التالية لتوفير قابلية القراءة:
{ "answers": [ { "questions": [ "How large a knowledge base can I create?", "What is the max size of a knowledge base?", "How many GB of data can a knowledge base hold?" ], "answer": "The size of the knowledge base depends on the SKU of Azure search you choose when creating the QnA Maker service. Read [here](../concepts/azure-resources.md) for more details.", "score": 68.76, "id": 3, "source": "https://learn.microsoft.com/azure/ai-services/qnamaker/troubleshooting", "metadata": [ { "name": "link_in_answer", "value": "true" }, { "name": "service", "value": "qna_maker" } ], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": null }
إذا وُجد إقران لسؤال وجواب لم يطابق مصطلح البحث ولكنه يطابق عامل التصفية، فلن يتم إرجاعه. بدلاً من ذلك، يتم إرجاع إجابة
No good match found in KB.
العامة.
استخدام خاصية استعلام تتبع الأخطاء
إشعار
لا نوصي باستخدام خاصية تتبع الأخطاء لأية تبعية. أُضيفت هذه الخاصية لمساعدة فريق المنتج في استكشاف الأخطاء وإصلاحها.
تساعدك معلومات تتبع الأخطاء على فهم كيفية تحديد الإجابة التي تم إرجاعها. وهذا مفيد، لكنه ليس ضرورياً. لإنشاء إجابة باستخدام معلومات تتبع الأخطاء، أضف الخاصية debug
:
Debug: {Enable:true}
حرّر الأمر cURL بحيث تتضمن خاصية تتبع الأخطاء للاطلاع على مزيد من المعلومات.
curl -X POST https://replace-with-your-resource-name.azurewebsites.net/qnamaker/knowledgebases/replace-with-your-knowledge-base-id/generateAnswer -H "Authorization: EndpointKey replace-with-your-endpoint-key" -H "Content-type: application/json" -d "{'question':'size', 'Debug':{'Enable':true}}"
تتضمن الاستجابة المعلومات ذات الصلة حول الإجابة. في إخراج JSON التالي، تم استبدال بعض تفاصيل تتبع الأخطاء بعلامة حذف للإيجاز.
{ "answers": [ { "questions": [ "How do I share a knowledge base with others?" ], "answer": "Sharing works at the level of a QnA Maker service, that is, all knowledge bases in the service will be shared.", "score": 56.07, "id": 5, "source": "https://learn.microsoft.com/azure/ai-services/qnamaker/troubleshooting", "metadata": [], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": { "userQuery": { "question": "How do I programmatically update my Knowledge Base?", "top": 1, "userId": null, "strictFilters": [], "isTest": false, "debug": { "enable": true, "recordL1SearchLatency": false, "mockQnaL1Content": null }, "rankerType": 0, "context": null, "qnaId": 0, "scoreThreshold": 0.0 }, "rankerInfo": { "specialFuzzyQuery": "how do i programmatically~6 update my knowledge base", "synonyms": "what s...", "rankerLanguage": "English", "rankerFileName": "https://qnamakerstore.blob.core.windows.net/qnamakerdata/rankers/ranker-English.ini", "rankersDirectory": "D:\\home\\site\\wwwroot\\Data\\QnAMaker\\rd0003ffa60fc45.24.0\\RankerData\\Rankers", "allQnAsfeatureValues": { "WordnetSimilarity": { "5": 0.54706300120043716,... }, ... }, "rankerVersion": "V2", "rankerModelType": "TreeEnsemble", "rankerType": 0, "indexResultsCount": 25, "reRankerResultsCount": 1 }, "runtimeVersion": "5.24.0", "indexDebugInfo": { "indexDefinition": { "name": "064a4112-bd65-42e8-b01d-141c4c9cd09e", "fields": [... ], "scoringProfiles": [], "defaultScoringProfile": null, "corsOptions": null, "suggesters": [], "analyzers": [], "tokenizers": [], "tokenFilters": [], "charFilters": [], "@odata.etag": "\"0x8D7A920EA5EE6FE\"" }, "qnaCount": 117, "parameters": {}, "azureSearchResult": { "continuationToken": null, "@odata.count": null, "@search.coverage": null, "@search.facets": null, "@search.nextPageParameters": null, "value": [...], "@odata.nextLink": null } }, "l1SearchLatencyInMs": 0, "qnaL1Results": {...} }, "activeLearningEnabled": true }
استخدام قاعدة معارف تجريبية
إذا أردت الحصول على إجابة من قاعدة المعارف التجريبية، فاستخدم خاصية نص isTest
.
الخاصية قيمة منطقية.
isTest:true
يبدو الأمر cURL بالشكل التالي:
curl -X POST https://replace-with-your-resource-name.azurewebsites.net/qnamaker/knowledgebases/replace-with-your-knowledge-base-id/generateAnswer -H "Authorization: EndpointKey replace-with-your-endpoint-key" -H "Content-type: application/json" -d "{'question':'size', 'IsTest':true}"
تستخدم استجابة JSON المخطط نفسه الذي يستخدمه استعلام قاعدة المعارف المنشور.
إشعار
إذا كانت قواعد المعارف التجريبية والمنشورة هي نفسها تماماً، فقد يظل هناك بعض التباين الطفيف لأن فهرس الاختبار مشترك بين جميع قواعد المعارف في المورد.
استخدام cURL للاستعلام عن إجابة للمحادثات التلقائية
في المحطة الطرفية المُمكَّنة لـ cURL، استخدم عبارة إنهاء محادثة مع روبوت الدردشة من المستخدم، مثل
Thank you
، باعتبارها السؤال. لا توجد أي خصائص أخرى مطلوب تعيينها.curl -X POST https://replace-with-your-resource-name.azurewebsites.net/qnamaker/knowledgebases/replace-with-your-knowledge-base-id/generateAnswer -H "Authorization: EndpointKey replace-with-your-endpoint-key" -H "Content-type: application/json" -d "{'question':'thank you'}"
شغّل أمر cURL واستلم استجابة JSON، شاملةً الدرجة والإجابة.
{ "answers": [ { "questions": [ "I thank you", "Oh, thank you", "My sincere thanks", "My humblest thanks to you", "Marvelous, thanks", "Marvelous, thank you kindly", "Marvelous, thank you", "Many thanks to you", "Many thanks", "Kthx", "I'm grateful, thanks", "Ahh, thanks", "I'm grateful for that, thank you", "Perfecto, thanks", "I appreciate you", "I appreciate that", "I appreciate it", "I am very thankful for that", "How kind, thank you", "Great, thanks", "Great, thank you", "Gracias", "Gotcha, thanks", "Gotcha, thank you", "Awesome thanks!", "I'm grateful for that, thank you kindly", "thank you pal", "Wonderful, thank you!", "Wonderful, thank you very much", "Why thank you", "Thx", "Thnx", "That's very kind", "That's great, thanks", "That is lovely, thanks", "That is awesome, thanks!", "Thanks bot", "Thanks a lot", "Okay, thanks!", "Thank you so much", "Perfect, thanks", "Thank you my friend", "Thank you kindly", "Thank you for that", "Thank you bot", "Thank you", "Right on, thanks very much", "Right on, thanks a lot", "Radical, thanks", "Rad, thanks", "Rad thank you", "Wonderful, thanks!", "Thanks" ], "answer": "You're welcome.", "score": 100.0, "id": 75, "source": "qna_chitchat_Professional.tsv", "metadata": [ { "name": "editorial", "value": "chitchat" } ], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": null, "activeLearningEnabled": true }
نظراً لأن سؤال
Thank you
مطابق تماماً لأحد أسئلة المحادثات التلقائية، فإن QnA Maker واثق تماماً بدرجة 100. كما أرجَع QnA Maker جميع الأسئلة ذات الصلة، إلى جانب خاصية بيانات التعريف التي تتضمن معلومات علامة بيانات تعريف المحادثات التلقائية.
استخدام الحد والإجابة الافتراضية
يمكنك طلب حد أدنى للإجابة. وإذا لم يتم استيفاء الحد، يتم إرجاع الإجابة الافتراضية.
أضف الخاصية
threshold
لطلب إجابة لـsize
بحد 80% أو أفضل. يُفترض ألا تجد قاعدة المعارف هذه الإجابة لأن درجة السؤال 71%. ترجِع النتيجة الإجابة الافتراضية التي قدمتها عند إنشاء قاعدة المعارف.curl -X POST https://replace-with-your-resource-name.azurewebsites.net/qnamaker/knowledgebases/replace-with-your-knowledge-base-id/generateAnswer -H "Authorization: EndpointKey replace-with-your-endpoint-key" -H "Content-type: application/json" -d "{'question':'size', 'scoreThreshold':80.00}"
شغّل أمر cURL واستلم استجابة JSON.
{ "answers": [ { "questions": [], "answer": "No good match found in KB.", "score": 0.0, "id": -1, "source": null, "metadata": [] } ], "debugInfo": null, "activeLearningEnabled": true }
أرجَع QnA Maker درجة
0
، مما يعني عدم الثقة. كما أرجَع الإجابة الافتراضية.غيّر قيمة الحد إلى 60% وأعِد طلب الاستعلام:
curl -X POST https://replace-with-your-resource-name.azurewebsites.net/qnamaker/knowledgebases/replace-with-your-knowledge-base-id/generateAnswer -H "Authorization: EndpointKey replace-with-your-endpoint-key" -H "Content-type: application/json" -d "{'question':'size', 'scoreThreshold':60.00}"
لقد وجد JSON الذي تم إرجاعه الإجابة.
{ "answers": [ { "questions": [ "How large a knowledge base can I create?", "What is the max size of a knowledge base?", "How many GB of data can a knowledge base hold?" ], "answer": "The size of the knowledge base depends on the SKU of Azure search you choose when creating the QnA Maker service. Read [here](../concepts/azure-resources.md) for more details.", "score": 71.1, "id": 3, "source": "https://learn.microsoft.com/azure/ai-services/qnamaker/troubleshooting", "metadata": [ { "name": "link_in_answer", "value": "true" }, { "name": "server", "value": "qna_maker" } ], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": null, "activeLearningEnabled": true }
استخدام مصادر البيانات غير المنظمة
ندعم الآن القدرة على إضافة مستندات غير منظمة لا يمكن استخدامها لاستخراج أسئلة وإجابات. يمكن للمستخدم أن يختار إما تضمين أو استبعاد مجموعات البيانات غير المنظمة في واجهة برمجة تطبيقات GenerateAnswer عند إحضار استجابة للاستعلام. لا ندعم مجموعات البيانات غير المنظمة في خدمة GenerateAnswer، وهذا مشمول فقط في الإجابة المخصصة عن الأسئلة.
يرشدك هذا التشغيل السريع المستند إلى ملحق Visual Studio Code REST إلى الحصول على إجابة من قاعدة المعارف (KB).
المتطلبات الأساسية
- يجب أن يكون لديك
- أحدث ملحق عميل ل Visual Studio Code REST.
- في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
- مورد QnA Maker أُنشئ في مدخل Azure. تذكر معرف Microsoft Entra والاشتراك واسم مورد QnA الذي حددته عند إنشاء المورد.
- قاعدة معارف مدربة ومنشورة مع الأسئلة والأجوبة، من التشغيل السريع السابق، مُكوَّنة باستخدام بيانات التعريف والدردشة التلقائية.
إشعار
عندما تكون مستعداً لإنشاء إجابة عن سؤال من قاعدة معارفك، عليك تدريب وونشر قاعدة المعارف. عند نشر قاعدة معارفك، تعرض صفحة النشر إعدادات طلب HTTP لإنشاء إجابة. تعرض علامة التبويب Postman الإعدادات المطلوبة لإنشاء إجابة.
إعداد ملحق عميل Visual Studio Code REST للطلبات
يستخدم هذا التشغيل السريع نفس الإعدادات لطلب POST لملحق عميل Visual Studio Code REST ثم يقوم بتكوين نص POST JSON المرسل إلى الخدمة استنادا إلى ما تحاول الاستعلام عن.
استخدم هذا الإجراء لتكوين ملحق عميل VISUAL Studio Code REST، ثم اقرأ كل قسم لاحق لتكوين نص POST JSON.
من صفحة إعدادات قاعدة المعارف، حدد علامة التبويب Postman للاطلاع على التكوين المُستخدم لإنشاء إجابة من قاعدة المعارف. انسخ المعلومات التالية لاستخدامها في ملحق عميل VISUAL Studio Code REST.
الاسم الإعدادات الغرض والقيمة POST
/knowledgebases/replace-with-your-knowledge-base-id/generateAnswer
هذا أسلوب HTTP ومسار عنوان URL. Host
https://YOUR-RESOURCE_NAME.azurewebsites.net/qnamaker
وهذا مضيف عنوان URL. عليك سلسلة قيم Host وPost للحصول على عنوان URL الكامل لـ GenerateAnswer. Authorization
EndpointKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
قيمة العنوان لتخويل طلبك إلى Azure. Content-type
application/json
قيمة العنوان لمحتواك. {"question":"<Your question>"}
نص طلب POST ككائن JSON. ستتغير هذه القيمة في كل قسم من الأقسام التالية وفقاً للغرض المنوط بالاستعلام. هام
تذكر إزالة المفتاح من التعليمة البرمجية عند الانتهاء، وعدم توزيعها علناً. للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي للحصول على مزيد من المعلومات.
استخدم ملحق عميل VISUAL Studio Code REST لإنشاء طلب POST أساسي جديد مع إعدادات قاعدة المعارف (KB) المنشورة. في الأقسام التالية، غيّر JSON لنص POST لتغيير الاستعلام إلى قاعدة معارفك.
استخدام بيانات التعريف لتصفية الإجابة
في التشغيل السريع السابق، أُضيفت بيانات التعريف إلى إقرانين من الأسئلة والأجوبة للتمييز بين سؤالين مختلفين. أضف بيانات التعريف إلى الاستعلام لتقييد عامل التصفية إلى إقران السؤال والجواب ذي الصلة فقط.
في ملحق عميل VISUAL Studio Code REST، قم بتغيير الاستعلام JSON فقط عن طريق إضافة الخاصية
strictFilters
مع زوج الاسم/القيمة لservice:qna_maker
. يُفترض أن يكون JSON للنص كما يلي:{ 'question':'size', 'strictFilters': [ { 'name':'service','value':'qna_maker' } ] }
السؤال كلمة واحدة فقط هي
size
، والتي يمكن أن ترجع أياً من إقرانيْ الأسئلة والأجوبة. يأمر الصفيفstrictFilters
الاستجابة بالاقتصار على إجاباتqna_maker
فقط.لا تتضمن الاستجابة سوى الإجابة التي تفي بمعايير التصفية.
تم تنسيق الاستجابة التالية لتوفير قابلية القراءة:
{ "answers": [ { "questions": [ "How large a knowledge base can I create?", "What is the max size of a knowledge base?", "How many GB of data can a knowledge base hold?" ], "answer": "The size of the knowledge base depends on the SKU of Azure search you choose when creating the QnA Maker service. Read [here](../concepts/azure-resources.md) for more details.", "score": 68.76, "id": 3, "source": "https://learn.microsoft.com/azure/ai-services/qnamaker/troubleshooting", "metadata": [ { "name": "link_in_answer", "value": "true" }, { "name": "service", "value": "qna_maker" } ], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": null }
إذا وُجد إقران لسؤال وجواب لم يطابق مصطلح البحث ولكنه يطابق عامل التصفية، فلن يتم إرجاعه. بدلاً من ذلك، يتم إرجاع إجابة
No good match found in KB.
العامة.
استخدام خاصية استعلام تتبع الأخطاء
إشعار
لا نوصي باستخدام خاصية تتبع الأخطاء لأية تبعية. أُضيفت هذه الخاصية لمساعدة فريق المنتج في استكشاف الأخطاء وإصلاحها.
تساعدك معلومات تتبع الأخطاء على فهم كيفية تحديد الإجابة التي تم إرجاعها. وهذا مفيد، لكنه ليس ضرورياً. لإنشاء إجابة باستخدام معلومات تتبع الأخطاء، أضف الخاصية debug
:
في ملحق عميل VISUAL Studio Code REST، قم بتغيير نص JSON فقط عن طريق إضافة الخاصية
debug
. يُفترض أن يكون JSON كما يلي:{ 'question':'size', 'Debug': { 'Enable':true } }
تتضمن الاستجابة المعلومات ذات الصلة حول الإجابة. في إخراج JSON التالي، تم استبدال بعض تفاصيل تتبع الأخطاء بعلامة حذف.
{ "answers": [ { "questions": [ "How do I share a knowledge base with others?" ], "answer": "Sharing works at the level of a QnA Maker service, that is, all knowledge bases in the service will be shared.", "score": 56.07, "id": 5, "source": "https://learn.microsoft.com/azure/ai-services/qnamaker/troubleshooting", "metadata": [], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": { "userQuery": { "question": "How do I programmatically update my Knowledge Base?", "top": 1, "userId": null, "strictFilters": [], "isTest": false, "debug": { "enable": true, "recordL1SearchLatency": false, "mockQnaL1Content": null }, "rankerType": 0, "context": null, "qnaId": 0, "scoreThreshold": 0.0 }, "rankerInfo": { "specialFuzzyQuery": "how do i programmatically~6 update my knowledge base", "synonyms": "what s...", "rankerLanguage": "English", "rankerFileName": "https://qnamakerstore.blob.core.windows.net/qnamakerdata/rankers/ranker-English.ini", "rankersDirectory": "D:\\home\\site\\wwwroot\\Data\\QnAMaker\\rd0003ffa60fc45.24.0\\RankerData\\Rankers", "allQnAsfeatureValues": { "WordnetSimilarity": { "5": 0.54706300120043716,... }, ... }, "rankerVersion": "V2", "rankerModelType": "TreeEnsemble", "rankerType": 0, "indexResultsCount": 25, "reRankerResultsCount": 1 }, "runtimeVersion": "5.24.0", "indexDebugInfo": { "indexDefinition": { "name": "064a4112-bd65-42e8-b01d-141c4c9cd09e", "fields": [... ], "scoringProfiles": [], "defaultScoringProfile": null, "corsOptions": null, "suggesters": [], "analyzers": [], "tokenizers": [], "tokenFilters": [], "charFilters": [], "@odata.etag": "\"0x8D7A920EA5EE6FE\"" }, "qnaCount": 117, "parameters": {}, "azureSearchResult": { "continuationToken": null, "@odata.count": null, "@search.coverage": null, "@search.facets": null, "@search.nextPageParameters": null, "value": [...], "@odata.nextLink": null } }, "l1SearchLatencyInMs": 0, "qnaL1Results": {...} }, "activeLearningEnabled": true }
استخدام قاعدة معارف تجريبية
إذا أردت الحصول على إجابة من قاعدة المعارف التجريبية، فاستخدم خاصية نص isTest
.
في ملحق عميل VISUAL Studio Code REST، قم بتغيير نص JSON فقط عن طريق إضافة الخاصية isTest
. يُفترض أن يكون JSON كما يلي:
{
'question':'size',
'isTest': true
}
تستخدم استجابة JSON المخطط نفسه الذي يستخدمه استعلام قاعدة المعارف المنشور.
إشعار
إذا كانت قواعد المعارف التجريبية والمنشورة هي نفسها تماماً، فقد يظل هناك بعض التباين الطفيف لأن فهرس الاختبار مشترك بين جميع قواعد المعارف في المورد.
الاستعلام عن إجابة للمحادثات التلقائية
في ملحق عميل VISUAL Studio Code REST، قم بتغيير النص الأساسي JSON فقط إلى عبارة نهاية المحادثة من المستخدم. يُفترض أن يكون JSON كما يلي:
{ 'question':'thank you' }
تتضمن الاستجابة الدرجة والإجابة.
{ "answers": [ { "questions": [ "I thank you", "Oh, thank you", "My sincere thanks", "My humblest thanks to you", "Marvelous, thanks", "Marvelous, thank you kindly", "Marvelous, thank you", "Many thanks to you", "Many thanks", "Kthx", "I'm grateful, thanks", "Ahh, thanks", "I'm grateful for that, thank you", "Perfecto, thanks", "I appreciate you", "I appreciate that", "I appreciate it", "I am very thankful for that", "How kind, thank you", "Great, thanks", "Great, thank you", "Gracias", "Gotcha, thanks", "Gotcha, thank you", "Awesome thanks!", "I'm grateful for that, thank you kindly", "thank you pal", "Wonderful, thank you!", "Wonderful, thank you very much", "Why thank you", "Thx", "Thnx", "That's very kind", "That's great, thanks", "That is lovely, thanks", "That is awesome, thanks!", "Thanks bot", "Thanks a lot", "Okay, thanks!", "Thank you so much", "Perfect, thanks", "Thank you my friend", "Thank you kindly", "Thank you for that", "Thank you bot", "Thank you", "Right on, thanks very much", "Right on, thanks a lot", "Radical, thanks", "Rad, thanks", "Rad thank you", "Wonderful, thanks!", "Thanks" ], "answer": "You're welcome.", "score": 100.0, "id": 75, "source": "qna_chitchat_Professional.tsv", "metadata": [ { "name": "editorial", "value": "chitchat" } ], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": null, "activeLearningEnabled": true }
نظراً لأن سؤال
Thank you
مطابق تماماً لأحد أسئلة المحادثات التلقائية، فإن QnA Maker واثق تماماً بدرجة 100. كما أرجَع QnA Maker جميع الأسئلة ذات الصلة، إلى جانب خاصية بيانات التعريف التي تتضمن معلومات علامة بيانات تعريف المحادثات التلقائية.
استخدام الحد والإجابة الافتراضية
يمكنك طلب حد أدنى للإجابة. وإذا لم يتم استيفاء الحد، يتم إرجاع الإجابة الافتراضية.
في ملحق عميل VISUAL Studio Code REST، قم بتغيير النص الأساسي JSON فقط إلى عبارة نهاية المحادثة من المستخدم. يُفترض أن يكون JSON كما يلي:
{ 'question':'size', 'scoreThreshold':80.00 }
يجب ألا تجد قاعدة معارف هذه الإجابة لأن درجة السؤال 71%، وبدلاً من ذلك ترجِع الإجابة الافتراضية التي قدمتها عند إنشاء قاعدة المعارف.
استجابة JSON التي تم إرجاعها، شاملةً الدرجة والإجابة، هي:
{ "answers": [ { "questions": [], "answer": "No good match found in KB.", "score": 0.0, "id": -1, "source": null, "metadata": [] } ], "debugInfo": null, "activeLearningEnabled": true }
أرجَع QnA Maker درجة
0
، مما يعني عدم الثقة. كما أرجَع الإجابة الافتراضية.غيّر قيمة الحد إلى 60% وأعِد طلب الاستعلام:
{ 'question':'size', 'scoreThreshold':60.00 }
لقد وجد JSON الذي تم إرجاعه الإجابة.
{ "answers": [ { "questions": [ "How large a knowledge base can I create?", "What is the max size of a knowledge base?", "How many GB of data can a knowledge base hold?" ], "answer": "The size of the knowledge base depends on the SKU of Azure search you choose when creating the QnA Maker service. Read [here](../concepts/azure-resources.md) for more details.", "score": 71.1, "id": 3, "source": "https://learn.microsoft.com/azure/ai-services/qnamaker/troubleshooting", "metadata": [ { "name": "link_in_answer", "value": "true" }, { "name": "server", "value": "qna_maker" } ], "context": { "isContextOnly": false, "prompts": [] } } ], "debugInfo": null, "activeLearningEnabled": true }
يمكنك استخدام مصادر البيانات غير المنظمة.
ندعم الآن القدرة على إضافة مستندات غير منظمة لا يمكن استخدامها لاستخراج أسئلة وإجابات. يمكن للمستخدم أن يختار إما تضمين أو استبعاد مجموعات البيانات غير المنظمة في واجهة برمجة تطبيقات GenerateAnswer عند إحضار استجابة للاستعلام. لا ندعم مجموعات البيانات غير المنظمة في خدمة GenerateAnswer. وهي مدعوم فقط في الإجابة المخصصة عن الأسئلة.
الخطوات التالية
تعرّف على المزيد حول بيانات التعريف: