Обновить значение ChatMessageContent в ответе семантического ядра.C#

Место общения программистов C#
Anonymous
Обновить значение ChatMessageContent в ответе семантического ядра.

Сообщение Anonymous »

У меня есть простой чат-бот, созданный с использованием семантического ядра:

Код: Выделить всё

 var response = _chatCompletionService.GetChatMessageContentAsync(
chatHistory,
executionSettings: execSettings,
kernel: kernel);
В некоторых случаях я хочу проверить ответ модели и заменить текстовое содержимое перефразированной версией (взятой из другого вызова _chatCompletionService, но не связанной с исходным разговором).
Я делаю это следующим образом:

Код: Выделить всё

return new ChatMessageContent(
role: response.Role,
content: rephrasedContent)
а затем я сохраняю это сообщение в ChatHistory. Интересно, лучший ли это вариант или нет, поскольку я теряю ModelId, InnerContent и другие поля из исходного ответа LLM. Однако оставить этот вариант также кажется неидеальным, поскольку он может привести к несоответствию между обновленным содержимым и остальными полями исходного ответа.
Будем благодарны за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/798 ... l-response

Вернуться в «C#»