Válasz kérése a GenerateAnswer API-val
Ha egy felhasználó kérdésére előrejelzett választ szeretne kapni, használja a GenerateAnswer API-t. Amikor közzétesz egy tudásbázis, a Közzététel lapon megtekintheti az API használatával kapcsolatos információkat. Az API-t úgy is konfigurálhatja, hogy metaadatcímkék alapján szűrje a válaszokat, és tesztelje a végpont tudásbázis a tesztlekérdezés sztring paraméterével.
Megjegyzé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 Nyelv részeként. A Language Service-ben a kérdések megválaszolására vonatkozó képességekért tekintse meg a kérdések megválaszolását. 2022. október 1-től nem hozhat létre új QnA Maker-erőforrásokat. A meglévő QnA Maker-tudásbázisok kérdésmegoldásra való migrálásával kapcsolatos információkért tekintse meg a migrálási útmutatót.
Válasz-előrejelzések lekérése a GenerateAnswer API-val
A GenerateAnswer API-t a robotban vagy az alkalmazásban használva lekérdezheti a tudásbázis egy felhasználói kérdéssel, hogy a legjobb egyezést kapja a kérdés- és válaszpárokból.
Megjegyzés
Ez a dokumentáció nem vonatkozik a legújabb kiadásra. A legújabb kérdés-válasz API-k használatáról a kérdésre adott válaszok rövid útmutatójában tájékozódhat.
Közzététel a GenerateAnswer-végpont lekéréséhez
Miután közzétette a tudásbázis a QnA Maker portálján vagy az API használatával, lekérheti a GenerateAnswer-végpont részleteit.
A végpont részleteinek lekérése:
Jelentkezzen be itt: https://www.qnamaker.ai.
A Saját tudásbázisok területen válassza a Kód megtekintése lehetőséget a tudásbázis.
A GenerateAnswer végpont részleteinek lekérése.
A végpont adatait a tudásbázis Beállítások lapján is lekérheti.
GenerateAnswer kéréskonfiguráció
Meghívja a GenerateAnswert egy HTTP POST-kéréssel. A GenerateAnswer meghívását bemutató mintakódért tekintse meg a rövid útmutatókat.
A POST kérés a következőket használja:
- Kötelező URI-paraméterek
- A biztonsághoz szükséges fejléctulajdonság,
Authorization
, - Kötelező törzstulajdonságok.
A GenerateAnswer URL formátuma a következő:
https://{QnA-Maker-endpoint}/knowledgebases/{knowledge-base-ID}/generateAnswer
Ne felejtse el beállítani a HTTP-fejléc tulajdonságát Authorization
a sztring EndpointKey
értékével egy záró szóközzel, majd a Beállítások lapon található végpontkulcsmal.
Egy JSON-példatörzs a következőképpen néz ki:
{
"question": "qna maker and luis",
"top": 6,
"isTest": true,
"scoreThreshold": 30,
"rankerType": "" // values: QuestionOnly
"strictFilters": [
{
"name": "category",
"value": "api"
}],
"userId": "sd53lsY="
}
További információ a rankerType típusról.
Az előző JSON csak olyan válaszokat kért, amelyek 30%-nál vagy a küszöbérték felett vannak.
GenerateAnswer-válasz tulajdonságai
A válasz egy JSON-objektum, amely tartalmazza a válasz megjelenítéséhez szükséges összes információt, és ha elérhető, a beszélgetés következő sorát.
{
"answers": [
{
"score": 38.54820341616869,
"Id": 20,
"answer": "There is no direct integration of LUIS with QnA Maker. But, in your bot code, you can use LUIS and QnA Maker together. [View a sample bot](https://github.com/Microsoft/BotBuilder-CognitiveServices/tree/master/Node/samples/QnAMaker/QnAWithLUIS)",
"source": "Custom Editorial",
"questions": [
"How can I integrate LUIS with QnA Maker?"
],
"metadata": [
{
"name": "category",
"value": "api"
}
]
}
]
}
Az előző JSON 38,5%-os pontszámú válaszsal válaszolt.
Csak a kérdések egyeztetése szöveg alapján
Alapértelmezés szerint a QnA Maker kérdéseket és válaszokat keres. Ha csak a kérdések között szeretne keresni, a válasz létrehozásához használja a RankerType=QuestionOnly
GenerateAnswer-kérelem POST törzsében található értéket.
A közzétett tudásbázisban kereshet a használatával isTest=false
, vagy a teszt kb-ban a használatával isTest=true
.
{
"question": "Hi",
"top": 30,
"isTest": true,
"RankerType":"QuestionOnly"
}
A QnA Maker használata robottal C nyelven#
A robot-keretrendszer hozzáférést biztosít a QnA Maker tulajdonságaihoz a getAnswer API-val:
using Microsoft.Bot.Builder.AI.QnA;
var metadata = new Microsoft.Bot.Builder.AI.QnA.Metadata();
var qnaOptions = new QnAMakerOptions();
metadata.Name = Constants.MetadataName.Intent;
metadata.Value = topIntent;
qnaOptions.StrictFilters = new Microsoft.Bot.Builder.AI.QnA.Metadata[] { metadata };
qnaOptions.Top = Constants.DefaultTop;
qnaOptions.ScoreThreshold = 0.3F;
var response = await _services.QnAServices[QnAMakerKey].GetAnswersAsync(turnContext, qnaOptions);
Az előző JSON csak olyan válaszokat kért, amelyek 30%-nál vagy a küszöbérték felett vannak.
A QnA Maker használata robottal a Node.js
A robot-keretrendszer hozzáférést biztosít a QnA Maker tulajdonságaihoz a getAnswer API-val:
const { QnAMaker } = require('botbuilder-ai');
this.qnaMaker = new QnAMaker(endpoint);
// Default QnAMakerOptions
var qnaMakerOptions = {
ScoreThreshold: 0.30,
Top: 3
};
var qnaResults = await this.qnaMaker.getAnswers(stepContext.context, qnaMakerOptions);
Az előző JSON csak olyan válaszokat kért, amelyek 30%-nál vagy a küszöbérték felett vannak.
Pontos válaszok a GenerateAnswer API-val
Pontos válasz funkciót csak a QnA Maker által felügyelt verzióval kínálunk.
Gyakori HTTP-hibák
Code | Magyarázat |
---|---|
2xx | Siker |
400 | A kérelem paraméterei helytelenek, ami azt jelenti, hogy a szükséges paraméterek hiányoznak, helytelen formátumúak vagy túl nagyok |
400 | A kérelem törzse helytelen, ami azt jelenti, hogy a JSON hiányzik, helytelen formátumú vagy túl nagy |
401 | Érvénytelen kulcs |
403 | Tiltott – nem rendelkezik a megfelelő engedélyekkel |
404 | A tudásbázis nem létezik |
410 | Ez az API elavult, és már nem érhető el |
Következő lépések
A Publish (Közzététel) lap a Postman vagy a cURL használatával történő válaszhoz is tartalmaz információkat.