Получение результата ответа из Когнитивного поиска Azure

Есть ли у кого-нибудь пример получения ответа из семантического поиска в Когнитивном поиске Azure с использованием С#.

Это то, что у меня есть, но я могу получить от него AnswerResult.

          SearchOptions options;
    SearchResults<Hotel> response;

   

    options = new SearchOptions()
    {
        QueryType = Azure.Search.Documents.Models.SearchQueryType.Semantic,
        QueryLanguage = QueryLanguage.EnUs,
        SemanticConfigurationName = "my-semantic-config",
        QueryCaption = QueryCaptionType.Extractive,
        QueryCaptionHighlightEnabled = true
    };
    options.Select.Add("HotelName");
    options.Select.Add("Category");
    options.Select.Add("Description");

    // response = srchclient.Search<Hotel>("*", options);
    response = srchclient.Search<Hotel>("Who is the manager of Triple Landscape Hotel?", options);

Я пробовал и вижу ответ в остальном, но я немного новичок в его использовании С#

1 ответ

Чтобы получить доступ к семантическому ответу с помощью .NET SDK для Когнитивного поиска Azure, вам необходимо пройтиQueryAnswer = QueryAnswerType.Extractiveна ваш . Затем вы можете просмотреть свойство Answers следующим образом:

Сначала обновите свойSearchOptions:

      options = new SearchOptions()  
{  
    // Other options...  
    QueryAnswer = QueryAnswerType.Extractive // Add this line to enable query answer  
};

Затем пройдитесь по извлеченным ответам в словаре после выполнения поиска:

      if (response.Answers != null && response.Answers.TryGetValue("extractive", out var extractiveAnswers))  
{  
    Console.WriteLine("Query Answer:");  
    foreach (AnswerResult result in extractiveAnswers)  
    {  
        Console.WriteLine($"Answer Highlights: {result.Highlights}");  
        Console.WriteLine($"Answer Text: {result.Text}\n");  
    }  
} 

Этот код проверяет, есть лиresponse.Answersне являетсяnullи извлекает извлеченные ответы перед их циклическим просмотром.

Другие вопросы по тегам