我想使用 ITranscriptLogger 和 TranscriptMiddelWare 将整个聊天历史记录存储在 cosmos DB 中,但我很难做到这一点。我已阅读这篇 MS 文章,但我想将其存储在 Cosmos DB 而不是 Blob 存储中。另外,我正在尝试在 Startup.cs 中而不是在 Bot.cs 中实例化转录日志,并且我尝试根据此答案来实现它,但没有任何运气。也就是说,不会存储脚本,并且我的 Azure cosmos DB 中没有容器。我感谢任何帮助和反馈。
代码:
我已经创建了 TranscriptStore 类,并按照引用的 SO 答案中的说明创建并添加了中间件:
CosmosTranscriptStore.cs
public class CosmosTranscriptStore : ITranscriptLogger
{
private CosmosDbStorage _storage;
public CosmosTranscriptStore(CosmosDbStorageOptions config)
{
_storage = new CosmosDbStorage(config);
}
public async Task LogActivityAsync(IActivity activity)
{
// activity only contains Text if this is a message
var isMessage = activity.AsMessageActivity() != null ? true : false;
if …Run Code Online (Sandbox Code Playgroud)