Я использую QnAMaker REST API в моей платформе Bot для запроса базы знаний.
Работает нормально, но я бы хотел отфильтровать «вопросы» на основе «источника», как указано в requestData
. Ссылаясь на документацию - https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/how-to/metadata-generateanswer-usage Я не видел никакой возможности сделать это. В документации говорится, что «источник» является лишь частью ответа, а не запроса.
Я попытался передать 'source' в качестве метаданных strictFilters
.
Dictionary<string, object> requestData = new Dictionary<string, object>
{
["question"] = question,
["top"] = top,
["strictFilters"] = new Dictionary<string, object>
{
["source"] = "test.tsv"
}
};
string requestBody = JsonConvert.SerializeObject(requestData);
kbId = _configuration[qnaKbName];
method = "/knowledgebases/" + kbId + "/generateAnswer/";
var uri = host + method;
var response = await Post(uri, requestBody);
return response;
Запрос в формате JSON-
{"question":"flexible working","top":5,"strictFilters":{"source":"test.tsv"}}
Это не работает, и я получаю ответ ниже -
{
"error": {
"code": "BadArgument",
"message": "Parameter is null"
}
}
Попробовал создать запрос JSON следующим образом -
{"question":"sabbatical","top":5,"strictFilters":[{"name":"source","value":"test.tsv"}]}
Получил ниже ответа-
{
"error": {
"code": "Unspecified",
"message": "Something happened. Please retry after some time."
}
}
Есть ли возможность сделать это? Пожалуйста, дайте мне знать, если я могу предоставить более подробную информацию ..