Bot Framework v4 c# - 如何保存用户和聊天机器人之间的整个聊天对话

Bot Framework v4 c# - How to save entire chat conversation between user and chatbot

我想在 cosmos db 中保存用户和聊天机器人之间发生的整个对话。

我试过了this link但是它只保存了用户数据

并且还尝试使用 ,但这正在为用户和 bot

之间的每个 activity 创建新项目

我想要一些东西,比如应该在 cosmos db 中为特定用户创建一个项目,该项目具有机器人和用户之间的完整对话历史记录

谁能告诉我该怎么做

谢谢

如果您只创建一个文档来保存对话历史记录,我不会这样做,因为文档有 2MB 的限制,而且如果 bot 框架实例崩溃,对话历史记录也有可能丢失同时将对话历史记录保存在内存中。

正如@Mark 提到的,不建议只创建一个文档来保存对话历史记录。

GetTranscriptActivitiesAsync - 此方法提取所有对话。这带来了所有 activity 的一部分。

在上面的屏幕截图中,您可以看到与对话相关的所有活动。

只是一个想法 - 你可以迭代它们中的每一个,你可以将它们组合起来并保存在一个文件中。

遇到这个 sample - 此处将整个对话历史发送回聊天。