Soru-Cevap Oluşturma bilgi bankası yanıt alma

Not

Verilerinizde Azure Open AI, Soru-Cevap Oluşturma'ya benzer sonuçlar elde etmek için büyük dil modellerinden (LLM) yararlanır. Soru-Cevap Oluşturma projenizi Azure Open AI On Your Data'ya geçirmek istiyorsanız lütfen kılavuzumuzu inceleyin.

Not

Soru-Cevap Oluşturma hizmeti 31 Mart 2025'te kullanımdan kaldırılıyor. Soru ve yanıtlama özelliğinin daha yeni bir sürümü artık Azure AI Dili'nin bir parçası olarak kullanılabilir. Dil Hizmeti'nin içindeki soru yanıtlama özellikleri için bkz . soru yanıtlama. 1 Ekim 2022'den itibaren yeni Soru-Cevap Oluşturma kaynakları oluşturamayacaksınız. Mevcut Soru-Cevap Oluşturma bilgi bankası soru yanıtlamaya geçirme hakkında bilgi için geçiş kılavuzuna bakın.

Not

Bu belgeler en son sürüm için geçerli değildir. En son soru yanıtlama API'lerini kullanma hakkında bilgi edinmek için soru yanıtlama yazma kılavuzuna başvurun.

Bu cURL tabanlı hızlı başlangıç, bilgi bankası bir yanıt alma işleminde size yol gösterir.

Önkoşullar

  • Önceki hızlı başlangıçta meta veriler ve Chit sohbeti ile yapılandırılmış, sorular ve yanıtlar içeren eğitilmiş ve yayımlanmış bir bilgi bankası.

Not

bilgi bankası bir soruya yanıt oluşturmaya hazır olduğunuzda, bilgi bankası eğitipyayımlamanız gerekir. bilgi bankası yayımlandığında Yayımla sayfasında yanıt oluşturmak için HTTP isteği ayarları görüntülenir. cURL sekmesi, komut satırı aracından yanıt oluşturmak için gereken ayarları gösterir.

Yanıtı filtrelemek için meta verileri kullanma

Meta verileri temel alan bir yanıt sorgulamak için önceki hızlı bilgi bankası kullanın.

  1. bilgi bankası Ayarlar sayfasında CURL sekmesini seçerek bilgi bankası yanıt oluşturmak için kullanılan örnek cURL komutunu görebilirsiniz.

  2. Komutu düzenleyebilmek için komutu düzenlenebilir bir ortama (metin dosyası gibi) kopyalayın. soru değerini aşağıdaki gibi düzenleyerek meta verilerinin service:qna_maker Soru-Cevap çiftleri için filtre olarak kullanılmasını sağlayın.

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

    Soru, sizeiki Soru-Cevap çiftinin birini döndürebilen tek bir sözcük. Dizi, strictFilters yanıtın yalnızca yanıtlara indirgenmesini qna_maker söyler.

  3. Yanıt yalnızca filtre ölçütlerini karşılayan yanıtı içerir. Okunabilirlik için aşağıdaki cURL yanıtı biçimlendirilmiştir:

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

    Arama terimini karşılamayan ancak filtreyi karşılayan bir soru ve yanıt çifti varsa, döndürülemez. Bunun yerine genel yanıt No good match found in KB. döndürülür.

Hata ayıklama sorgusu özelliğini kullanma

Not

Herhangi bir bağımlılık için Debug özelliğinin kullanılmasını önermiyoruz. Bu özellik, ürün ekibine sorun giderme konusunda yardımcı olmak için eklenmiştir.

Hata ayıklama bilgileri, döndürülen yanıtın nasıl belirlendiğini anlamanıza yardımcı olur. Yararlı olsa da, gerekli değildir. Hata ayıklama bilgileriyle bir yanıt oluşturmak için özelliğini ekleyin debug :

Debug: {Enable:true}
  1. Daha fazla bilgi görmek için cURL komutunu debug özelliğini içerecek şekilde düzenleyin.

    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}}"
    
  2. Yanıt, yanıtla ilgili bilgileri içerir. Aşağıdaki JSON çıkışında, bazı hata ayıklama ayrıntıları kısa süre için üç noktayla değiştirilmiştir.

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

Test bilgi bankası kullanma

Test bilgi bankası yanıt almak istiyorsanız gövde özelliğini kullanınisTest.

özelliği bir boole değeridir.

isTest:true

cURL komutu şöyle görünür:

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 yanıtı, yayımlanan bilgi bankası sorgusuyla aynı şemayı kullanır.

Not

Test ve yayımlanan bilgi bankası tam olarak aynıysa, test dizini kaynaktaki tüm bilgi bankası arasında paylaşıldığından bazı küçük farklılıklar olabilir.

Chit-chat yanıtı sorgulamak için cURL kullanma

  1. cURL özellikli terminalde, kullanıcının soru gibi Thank you bir bot konuşma sonlandırma deyimini kullanın. Ayarlanacağı başka özellik yok.

    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'}"
    
  2. cURL komutunu çalıştırın ve puan ve yanıt dahil olmak üzere JSON yanıtını alın.

    {
      "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 sorusu bir genel konuşma sorusuyla tam olarak eşleştiği için Soru-Cevap Oluşturma tam olarak emindir ve 100 puan döndürür. Soru-Cevap Oluşturma tüm ilgili soruları ve Chit-chat meta veri etiketi bilgilerini içeren meta veri özelliğini de döndürdü.

Eşik ve varsayılan yanıtı kullanma

Yanıt için minimum eşik isteyebilirsiniz. Eşik karşılanmazsa, varsayılan yanıt döndürülür.

  1. threshold%80 veya daha iyi bir eşik ile yanıt size istemek için özelliğini ekleyin. Sorunun puanı %71 olduğundan bilgi bankası bu yanıtı bulmamalıdır. Sonuç, bilgi bankası oluştururken sağladığınız varsayılan yanıtı döndürür.

    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}"
    
  2. cURL komutunu çalıştırın ve JSON yanıtını alın.

    {
        "answers": [
            {
                "questions": [],
                "answer": "No good match found in KB.",
                "score": 0.0,
                "id": -1,
                "source": null,
                "metadata": []
            }
        ],
        "debugInfo": null,
        "activeLearningEnabled": true
    }
    

    Soru-Cevap Oluşturma bir puan 0döndürdü ve bu da güven olmadığı anlamına gelir. Ayrıca varsayılan yanıtı döndürdü.

  3. Eşik değerini %60 olarak değiştirin ve sorguyu yeniden isteyin:

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

    Döndürülen JSON yanıtı buldu.

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

Yapılandırılmamış veri kaynaklarını kullanma

Artık Soru-Cevap ayıklamak için kullanılamayan yapılandırılmamış belgeler ekleme özelliğini destekliyoruz. Kullanıcı, sorguya yanıt getirirken GenerateAnswer API'sine yapılandırılmamış veri kümelerini eklemeyi veya hariç tutmayı seçebilir. GA hizmetinde yapılandırılmamış veri kümelerini desteklemiyoruz, bu yalnızca özel soru yanıtlamaya dahildir.

Postman tabanlı bu hızlı başlangıç, bilgi bankası yanıt alma adımlarını gösterir.

Önkoşullar

  • Önceki hızlı başlangıçta meta veriler ve Chit sohbeti ile yapılandırılmış, sorular ve yanıtlar içeren eğitilmiş ve yayımlanmış bir bilgi bankası.

Not

bilgi bankası bir soruya yanıt oluşturmaya hazır olduğunuzda, bilgi bankası eğitipyayımlamanız gerekir. bilgi bankası yayımlandığında Yayımla sayfasında yanıt oluşturmak için HTTP isteği ayarları görüntülenir. Postman sekmesinde yanıt oluşturmak için gereken ayarlar gösterilir.

İstekler için Postman'i ayarlama

Bu hızlı başlangıçta Postman POST isteği için aynı ayarlar kullanılır, ardından sorgulamaya çalıştığınız şeye göre hizmete gönderilen POST gövdesi JSON'ı yapılandırır.

Postman'i yapılandırmak için bu yordamı kullanın, ardından POST gövdesi JSON'unu yapılandırmak için sonraki bölümleri okuyun.

  1. bilgi bankası Ayarlar sayfasında, bilgi bankası yanıt oluşturmak için kullanılan yapılandırmayı görmek için Postman sekmesini seçin. Postman'de kullanmak için aşağıdaki bilgileri kopyalayın.

    Veri Akışı Adı Ayar Amaç ve değer
    POST /knowledgebases/replace-with-your-knowledge-base-id/generateAnswer Bu, URL'nin HTTP yöntemi ve yoludur.
    Host https://YOUR-RESOURCE_NAME.azurewebsites.net/qnamaker Bu, URL'nin ana bilgisayarıdır. Tam generateAnswer URL'sini almak için Konak ve Post değerlerini birleştirir.
    Authorization EndpointKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Azure'a isteğinizi yetkilendirmek için üst bilgi değeri.
    Content-type application/json İçeriğinizin üst bilgi değeri.
    {"question":"<Your question>"} POST isteğinin JSON nesnesi olarak gövdesi. Bu değer, sorgunun amacına bağlı olarak aşağıdaki bölümlerde değişir.

    Önemli

    İşiniz bittiğinde anahtarı kodunuzdan kaldırmayı unutmayın ve asla herkese açık olarak göndermeyin. Üretim için Azure Key Vault gibi kimlik bilgilerinizi depolamanın ve bunlara erişmenin güvenli bir yolunu kullanın. Daha fazla bilgi için Azure AI hizmetleri güvenlik makalesine bakın.

  2. Postman'i açın ve yayımlanan bilgi bankası ayarlarınızla yeni bir temel POST isteği oluşturun. Aşağıdaki bölümlerde, sorguyu bilgi bankası olarak değiştirmek için POST gövdesi JSON'unu değiştirin.

Yanıtı filtrelemek için meta verileri kullanma

Önceki hızlı başlangıçta, iki farklı soru arasında ayrım yapmak için iki Soru-Cevap çiftine meta veriler eklenmiştir. Filtreyi yalnızca ilgili Soru-Cevap çifti ile kısıtlamak için sorguya meta verileri ekleyin.

  1. Postman'de, adını/değer çiftini strictFilters içeren özelliğini ekleyerek yalnızca sorgu JSON'unu service:qna_makerdeğiştirin. JSON gövdesi şu şekilde olmalıdır:

    {
        'question':'size',
        'strictFilters': [
            {
                'name':'service','value':'qna_maker'
            }
        ]
    }
    

    Soru, sizeiki sorudan ve yanıt çiftlerinden birini döndürebilen tek bir sözcük. Dizi, strictFilters yanıtın yalnızca yanıtlara indirgenmesini qna_maker söyler.

  2. Yanıt yalnızca filtre ölçütlerini karşılayan yanıtı içerir.

    Okunabilirlik için aşağıdaki yanıt biçimlendirildi:

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

    Arama terimini karşılamayan ancak filtreyi karşılayan bir soru ve yanıt çifti varsa, döndürülemez. Bunun yerine genel yanıt No good match found in KB. döndürülür.

Hata ayıklama sorgusu özelliğini kullanma

Not

Herhangi bir bağımlılık için Debug özelliğinin kullanılmasını önermiyoruz. Bu özellik, ürün ekibine sorun giderme konusunda yardımcı olmak için eklenmiştir.

Hata ayıklama bilgileri, döndürülen yanıtın nasıl belirlendiğini anlamanıza yardımcı olur. Yararlı olsa da, gerekli değildir. Hata ayıklama bilgileriyle bir yanıt oluşturmak için özelliğini ekleyin debug :

  1. Postman'de özelliğini ekleyerek yalnızca gövde JSON'unu debug değiştirin. JSON şu şekilde olmalıdır:

    {
        'question':'size',
        'Debug': {
            'Enable':true
        }
    
    }
    
  2. Yanıt, yanıtla ilgili bilgileri içerir. Aşağıdaki JSON çıkışında bazı hata ayıklama ayrıntıları üç noktayla değiştirilmiştir.

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

Test bilgi bankası kullanma

Test bilgi bankası yanıt almak istiyorsanız gövde özelliğini kullanınisTest.

Postman'de özelliğini ekleyerek yalnızca gövde JSON'unu isTest değiştirin. JSON şu şekilde olmalıdır:

{
    'question':'size',
    'isTest': true
}

JSON yanıtı, yayımlanan bilgi bankası sorgusuyla aynı şemayı kullanır.

Not

Test ve yayımlanan bilgi bankası tam olarak aynıysa, test dizini kaynaktaki tüm bilgi bankası arasında paylaşıldığından bazı küçük farklılıklar olabilir.

Chit-chat yanıtı sorgulama

  1. Postman'de yalnızca gövde JSON'unu kullanıcıdan gelen bir konuşma sonu deyimiyle değiştirin. JSON şu şekilde olmalıdır:

    {
        'question':'thank you'
    }
    
  2. Yanıt, puanı ve yanıtı içerir.

    {
      "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 sorusu bir genel konuşma sorusuyla tam olarak eşleştiği için Soru-Cevap Oluşturma tam olarak emindir ve 100 puan döndürür. Soru-Cevap Oluşturma tüm ilgili soruları ve Chit-chat meta veri etiketi bilgilerini içeren meta veri özelliğini de döndürdü.

Eşik ve varsayılan yanıtı kullanma

Yanıt için minimum eşik isteyebilirsiniz. Eşik karşılanmazsa, varsayılan yanıt döndürülür.

  1. Postman'de yalnızca gövde JSON'unu kullanıcıdan gelen bir konuşma sonu deyimiyle değiştirin. JSON şu şekilde olmalıdır:

    {
        'question':'size',
        'scoreThreshold':80.00
    }
    

    Sorunun puanı %71 olduğundan bilgi bankası bu yanıtı bulmamalı ve bunun yerine bilgi bankası oluştururken sağladığınız varsayılan yanıtı döndürmelidir.

    Puan ve yanıt dahil olmak üzere döndürülen JSON yanıtı:

    {
        "answers": [
            {
                "questions": [],
                "answer": "No good match found in KB.",
                "score": 0.0,
                "id": -1,
                "source": null,
                "metadata": []
            }
        ],
        "debugInfo": null,
        "activeLearningEnabled": true
    }
    

    Soru-Cevap Oluşturma bir puan 0döndürdü ve bu da güven olmadığı anlamına gelir. Ayrıca varsayılan yanıtı döndürdü.

  2. Eşik değerini %60 olarak değiştirin ve sorguyu yeniden isteyin:

    {
        'question':'size',
        'scoreThreshold':60.00
    }
    

    Döndürülen JSON yanıtı buldu.

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

Yapılandırılmamış veri kaynaklarını kullanın.

Artık Soru-Cevap ayıklamak için kullanılamayan yapılandırılmamış belgeler ekleme özelliğini destekliyoruz. Kullanıcı, sorguya yanıt getirirken GenerateAnswer API'sine yapılandırılmamış veri kümelerini eklemeyi veya hariç tutmayı seçebilir. GA hizmetinde yapılandırılmamış veri kümelerini desteklemiyoruz. Yalnızca özel soru yanıtlamada desteklenir.

Sonraki adımlar

Meta veriler hakkında daha fazla bilgi edinin: