Я программно создаю QnA, используя C #. Я хочу программно получить ответ на вопрос, для этого я использовал документацию, предоставленную Microsoft по следующей ссылке:
https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/quickstarts/csharp#GetAnswers
Однако, если я буду следовать инструкциям там:
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace QnAMaker
{
class Program
{
// NOTE: Replace this with a valid host name.
static string host = "ENTER HOST HERE";
// NOTE: Replace this with a valid endpoint key.
// This is not your subscription key.
// To get your endpoint keys, call the GET /endpointkeys method.
static string endpoint_key = "ENTER KEY HERE";
// NOTE: Replace this with a valid knowledge base ID.
// Make sure you have published the knowledge base with the
// POST /knowledgebases/{knowledge base ID} method.
static string kb = "ENTER KB ID HERE";
static string service = "/qnamaker";
static string method = "/knowledgebases/" + kb + "/generateAnswer/";
static string question = @"
{
'question': 'Is the QnA Maker Service free?',
'top': 3
}
";
async static Task<string> Post(string uri, string body)
{
using (var client = new HttpClient())
using (var request = new HttpRequestMessage())
{
request.Method = HttpMethod.Post;
request.RequestUri = new Uri(uri);
request.Content = new StringContent(body, Encoding.UTF8, "application/json");
request.Headers.Add("Authorization", "EndpointKey " + endpoint_key);
var response = await client.SendAsync(request);
return await response.Content.ReadAsStringAsync();
}
}
async static void GetAnswers()
{
var uri = host + service + method;
Console.WriteLine("Calling " + uri + ".");
var response = await Post(uri, question);
Console.WriteLine(response);
Console.WriteLine("Press any key to continue.");
}
static void Main(string[] args)
{
GetAnswers();
Console.ReadLine();
}
}
}
Вместо ответа я получаю ресурс, который не найден. В то время как другие методы, обновляющие базу знаний, хорошо работают с одним и тем же uri, кто-нибудь знает, почему это происходит?