Отделите запрос Cognitive Search от взаимодействия с ChatGPT без потери цитирований.

Служба Azure OpenAI позволяет передаватьAzureChatExtensionConfigurationи заставить его выполнить когнитивный поисковый запрос к вашим данным, передав результаты в ChatGPT для «контекста».

Можно ли разделить эти два этапа? Я хочу запустить часть когнитивного поиска, получить x результатов, затем передать их ChatGPT и заставить его использовать этот контекст. Однако я хочу, чтобы в результатах чата были те же цитаты/ссылки, что и в первом подходе.

т.е. при первом подходе я могу использовать результат JSON для получения цитат следующим образом:Choices[0].Message.AzureExtensionsContext.Messages[0].Content

Это дает мне список объектов Citation:

      private class Citation
{
    public string Id { get; set; }
    public string Title { get; set; }
    public string FilePath { get; set; }
    public string Url { get; set; }
    public string Content { get; set; }
}

Кроме того, в самом содержимом сообщения (т. е.Choices[0].Message.Content), будут ссылки на цитирование в формате[doc1],[doc2], и т. д...

Я не хочу терять эту функциональность, но я хочу вставить немного больше логики в разрыв между когнитивным поиском и вызовом ChatGPT - например, проверка списка результатов и, если их недостаточно, получение каких-либо других действие.

Возможно ли это, или структура ответа со стороныGetChatCompletionsAsyncсAzureChatExtensionsOptionsкакая-то собственная внутренняя функция Azure OpenAI?

0 ответов

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