Válasz kérése egy QNA Maker-tudásbázis

Feljegyzés

Az Azure Open AI On Your Data nagy nyelvi modelleket (LLM-eket) használ a QnA Makerhez hasonló eredmények előállításához. Ha migrálni szeretné a QnA Maker-projektet az Azure Open AI On Your Data szolgáltatásba, tekintse meg útmutatónkat.

Feljegyzés

A QnA Maker szolgáltatás 2025. március 31-én megszűnik. A kérdés- és válaszképesség újabb verziója már elérhető az Azure AI Language részeként. A Nyelvi szolgáltatáson belüli kérdések megválaszolási képességeiről a kérdések megválaszolása című témakörben olvashat. 2022. október 1-től nem hozhat létre új QnA Maker-erőforrásokat. A meglévő QnA Maker-tudásbázis kérdés megválaszolásához tekintse meg a migrálási útmutatót.

Feljegyzés

Ez a dokumentáció nem vonatkozik a legújabb kiadásra. A legújabb kérdésre válaszoló API-k használatáról a kérdésre válaszoló szerzői útmutatóban olvashat.

Ez a cURL-alapú rövid útmutató végigvezeti a tudásbázis válaszán.

Előfeltételek

  • Rendelkeznie kell
    • Legújabb cURL.
    • Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
  • Egy betanított és közzétett tudásbázis, amely az előző rövid útmutatóból származó kérdéseket és válaszokat tartalmazó, metaadatokkal és Csevegéssel konfigurált.

Feljegyzés

Ha készen áll arra, hogy választ adjon a kérdésre a tudásbázis, be kell tanítania és közzé kell tennie a tudásbázis. A tudásbázis közzétételekor a Közzététel lapon megjelennek a HTTP-kérés beállításai a válasz létrehozásához. A cURL lapon láthatók a parancssori eszköz válaszának létrehozásához szükséges beállítások.

Metaadatok használata a válasz szűréséhez

Az előző gyors tudásbázis használatával metaadatok alapján kérdezhet le választ.

  1. A tudásbázis Gépház lapján válassza a CURL lapot egy példa cURL-parancs megjelenítéséhez, amellyel választ hozhat létre a tudásbázis.

  2. Másolja a parancsot egy szerkeszthető környezetbe (például egy szövegfájlba), hogy szerkessze a parancsot. Szerkessze a kérdés értékét az alábbiak szerint, hogy a rendszer a QnA-párok szűrőjeként használja a metaadatokat 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'}]}"
    

    A kérdés csak egy szó, sizeamely a két QnA-pár bármelyikét visszaadhatja. A strictFilters tömb arra utasítja a választ, hogy csak a válaszokra csökkentse a qna_maker választ.

  3. A válasz csak a szűrési feltételeknek megfelelő választ tartalmazza. A következő cURL-válasz olvashatóságra lett formázva:

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

    Ha van olyan kérdés- és válaszpár, amely nem felelt meg a keresési kifejezésnek, de megfelelt a szűrőnek, az nem lesz visszaadva. Ehelyett a rendszer az általános választ No good match found in KB. adja vissza.

Hibakeresési lekérdezési tulajdonság használata

Feljegyzés

Nem javasoljuk, hogy függőségekhez használja a Hibakeresés tulajdonságot. Ez a tulajdonság hozzá lett adva, hogy segítsen a termékcsapatnak a hibaelhárításban.

A hibakeresési információk segítenek megérteni a visszaadott válasz meghatározásának módját. Bár hasznos, nem szükséges. Ha hibakeresési információkkal szeretne választ létrehozni, adja hozzá a tulajdonságot debug :

Debug: {Enable:true}
  1. Szerkessze a cURL parancsot a hibakeresési tulajdonság belefoglalásához további információk megjelenítéséhez.

    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. A válasz tartalmazza a válaszra vonatkozó információkat. A következő JSON-kimenetben néhány hibakeresési részletet három pontra cseréltek a rövidség kedvéért.

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

Teszt tudásbázis használata

Ha választ szeretne kapni a teszt tudásbázis, használja a isTest törzs tulajdonságot.

A tulajdonság logikai érték.

isTest:true

A cURL parancs a következőképpen néz ki:

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

A JSON-válasz ugyanazt a sémát használja, mint a közzétett tudásbázis lekérdezés.

Feljegyzés

Ha a teszt és a közzétett tudásbázis pontosan megegyeznek, akkor is előfordulhat némi eltérés, mivel a tesztindex meg van osztva az erőforrás összes tudásbázis között.

Chit-chat-válasz lekérdezése a cURL használatával

  1. A cURL-kompatibilis terminálban használjon egy robotbeszélgetés-záró utasítást a felhasználótól, például Thank you a kérdést. Nincs más beállítási tulajdonság.

    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. Futtassa a cURL parancsot, és fogadja a JSON-választ, beleértve a pontszámot és a választ.

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

    Mivel a Thank you utasításhoz tartozó kérdés pontosan megegyezik egy csevegési kérdéssel, a QnA Maker 100-as pontszámmal teljesen biztos a válaszban. A QnA Maker az összes kapcsolódó kérdést és a Chit-chat metaadatcímkére vonatkozó információkat tartalmazó metaadat-tulajdonságot is visszaadta.

Küszöbérték és alapértelmezett válasz használata

A válaszhoz minimális küszöbértéket kérhet. Ha a küszöbérték nem teljesül, a rendszer az alapértelmezett választ adja vissza.

  1. Adja hozzá a threshold tulajdonságot, hogy size választ kérjen a 80%-os vagy annál jobb küszöbértékkel. A tudásbázis nem találja ezt a választ, mert a kérdés pontszáma 71%. Az eredmény a tudásbázis létrehozásakor megadott alapértelmezett választ adja vissza.

    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. Futtassa a cURL parancsot, és fogadja a JSON-választ.

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

    A QnA Maker egy pontszámot 0adott vissza, ami azt jelenti, hogy nincs megbízhatóság. Az alapértelmezett választ is visszaadta.

  3. Módosítsa a küszöbértéket 60%-ra, és kérje újra a lekérdezést:

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

    A visszaadott JSON megtalálta a választ.

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

Strukturálatlan adatforrások használata

Mostantól támogatjuk a strukturálatlan dokumentumok hozzáadását, amelyek nem használhatók a QNA-k kinyerésére. A felhasználó dönthet úgy, hogy a GenerateAnswer API-ban strukturálatlan adathalmazokat is belefoglal vagy kizár a lekérdezésre adott válasz lekérésekor. A ga szolgáltatásban nem támogatjuk a strukturálatlan adathalmazokat, ez csak az egyéni kérdések megválaszolása része.

Ez a Postman-alapú rövid útmutató végigvezeti a tudásbázis kapott válaszokon.

Előfeltételek

  • Rendelkeznie kell
  • Egy betanított és közzétett tudásbázis, amely az előző rövid útmutatóból származó kérdéseket és válaszokat tartalmazó, metaadatokkal és Csevegéssel konfigurált.

Feljegyzés

Ha készen áll arra, hogy választ adjon a kérdésre a tudásbázis, be kell tanítania és közzé kell tennie a tudásbázis. A tudásbázis közzétételekor a Közzététel lapon megjelennek a HTTP-kérés beállításai a válasz létrehozásához. A Postman lapon a válasz létrehozásához szükséges beállítások láthatók.

A Postman beállítása kérésekhez

Ez a rövid útmutató ugyanazokat a beállításokat használja a Postman POST-kéréshez , majd konfigurálja a szolgáltatásnak küldött POST törzs JSON-t a lekérdezni kívánt adatok alapján.

Ezzel az eljárással konfigurálhatja a Postmant, majd olvassa el a következő szakaszokat a POST törzs JSON konfigurálásához.

  1. A tudásbázis Gépház lapján válassza a Postman lapot a válasz létrehozásához használt konfiguráció megtekintéséhez a tudásbázis. Másolja ki a következő adatokat a Postmanben való használatra.

    Név Beállítás Cél és érték
    POST /knowledgebases/replace-with-your-knowledge-base-id/generateAnswer Ez az URL HTTP-metódusa és útvonala.
    Host https://YOUR-RESOURCE_NAME.azurewebsites.net/qnamaker Ez az URL-cím gazdagépe. Fűzze össze a Gazdagép és a Post értékeket a teljes generateAnswer URL-cím lekéréséhez.
    Authorization EndpointKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Az Azure-ba irányuló kérés engedélyezéséhez megadott fejlécérték.
    Content-type application/json A tartalom fejlécértéke.
    {"question":"<Your question>"} A POST-kérelem törzse JSON-objektumként. Ez az érték a lekérdezés rendeltetésétől függően változik az alábbi szakaszokban.

    Fontos

    Ne felejtse el eltávolítani a kulcsot a kódból, amikor elkészült, és soha ne tegye közzé nyilvánosan. Éles környezetben biztonságos módon tárolhatja és érheti el a hitelesítő adatait, például az Azure Key Vaultot. További információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.

  2. Nyissa meg a Postmant, és hozzon létre egy új alapszintű POST-kérést a közzétett tudásbázis beállításaival. A következő szakaszokban módosítsa a POST törzs JSON-t a lekérdezés tudásbázis való módosításához.

Metaadatok használata a válasz szűréséhez

Az előző rövid útmutatóban metaadatokat adtak hozzá két QnA-párhoz, hogy különbséget tüntessenek két különböző kérdés között. Adja hozzá a metaadatokat a lekérdezéshez, hogy a szűrőt csak a megfelelő QnA-párra korlátozza.

  1. A Postmanben módosítsa csak a lekérdezés JSON-értékét úgy, hogy hozzáadja a strictFilters tulajdonságot a név/érték párhoz service:qna_maker. A törzs JSON-jának a következőnek kell lennie:

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

    A kérdés csak egy szó, sizeamely a két kérdés és válaszpár bármelyikét visszaadhatja. A strictFilters tömb arra utasítja a választ, hogy csak a válaszokra csökkentse a qna_maker választ.

  2. A válasz csak a szűrési feltételeknek megfelelő választ tartalmazza.

    A következő válasz olvashatóságra lett formázva:

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

    Ha van olyan kérdés- és válaszpár, amely nem felelt meg a keresési kifejezésnek, de megfelelt a szűrőnek, az nem lesz visszaadva. Ehelyett a rendszer az általános választ No good match found in KB. adja vissza.

Hibakeresési lekérdezési tulajdonság használata

Feljegyzés

Nem javasoljuk, hogy függőségekhez használja a Hibakeresés tulajdonságot. Ez a tulajdonság hozzá lett adva, hogy segítsen a termékcsapatnak a hibaelhárításban.

A hibakeresési információk segítenek megérteni a visszaadott válasz meghatározásának módját. Bár hasznos, nem szükséges. Ha hibakeresési információkkal szeretne választ létrehozni, adja hozzá a tulajdonságot debug :

  1. A Postmanben módosítsa csak a JSON törzset a debug tulajdonság hozzáadásával. A JSON-nak a következőnek kell lennie:

    {
        'question':'size',
        'Debug': {
            'Enable':true
        }
    
    }
    
  2. A válasz tartalmazza a válaszra vonatkozó információkat. A következő JSON-kimenetben néhány hibakeresési részlet három pontra cserélődött.

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

Teszt tudásbázis használata

Ha választ szeretne kapni a teszt tudásbázis, használja a isTest törzs tulajdonságot.

A Postmanben módosítsa csak a JSON törzset a isTest tulajdonság hozzáadásával. A JSON-nak a következőnek kell lennie:

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

A JSON-válasz ugyanazt a sémát használja, mint a közzétett tudásbázis lekérdezés.

Feljegyzés

Ha a teszt és a közzétett tudásbázis pontosan megegyeznek, akkor is előfordulhat némi eltérés, mivel a tesztindex meg van osztva az erőforrás összes tudásbázis között.

Csevegési válasz lekérdezése

  1. A Postmanben csak a JSON törzsét módosítsa a felhasználó beszélgetés-záró utasítására. A JSON-nak a következőnek kell lennie:

    {
        'question':'thank you'
    }
    
  2. A válasz tartalmazza a pontszámot és a választ.

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

    Mivel a Thank you utasításhoz tartozó kérdés pontosan megegyezik egy csevegési kérdéssel, a QnA Maker 100-as pontszámmal teljesen biztos a válaszban. A QnA Maker az összes kapcsolódó kérdést és a Chit-chat metaadatcímkére vonatkozó információkat tartalmazó metaadat-tulajdonságot is visszaadta.

Küszöbérték és alapértelmezett válasz használata

A válaszhoz minimális küszöbértéket kérhet. Ha a küszöbérték nem teljesül, a rendszer az alapértelmezett választ adja vissza.

  1. A Postmanben csak a JSON törzsét módosítsa a felhasználó beszélgetés-záró utasítására. A JSON-nak a következőnek kell lennie:

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

    A tudásbázis nem találja ezt a választ, mert a kérdés pontszáma 71%, és ehelyett a tudásbázis létrehozásakor megadott alapértelmezett választ adja vissza.

    A visszaadott JSON-válasz, beleértve a pontszámot és a választ is:

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

    A QnA Maker egy pontszámot 0adott vissza, ami azt jelenti, hogy nincs megbízhatóság. Az alapértelmezett választ is visszaadta.

  2. Módosítsa a küszöbértéket 60%-ra, és kérje újra a lekérdezést:

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

    A visszaadott JSON megtalálta a választ.

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

Strukturálatlan adatforrások használata.

Mostantól támogatjuk a strukturálatlan dokumentumok hozzáadását, amelyek nem használhatók a QNA-k kinyerésére. A felhasználó dönthet úgy, hogy a GenerateAnswer API-ban strukturálatlan adathalmazokat is belefoglal vagy kizár a lekérdezésre adott válasz lekérésekor. A GA szolgáltatásban nem támogatjuk a strukturálatlan adathalmazokat. Ez csak egyéni kérdések megválaszolásakor támogatott.

Következő lépések

További információ a metaadatokról: