GenerateAnswer API描述了userId(如果在请求中发送)将记录在聊天日志中,据我看来,聊天日志似乎没有生成。
默认情况下会生成聊天记录吗?还是需要配置资源或进行配置更改以使日志生效?
如果有任何文档详细描述了QnA Maker的日志记录方面,请问我能找到Azure文档吗?
谢谢
答案 0 :(得分:2)
QnA Maker默认情况下不生成聊天记录。他们目前不提供任何用于存储聊天记录的API。
假设您以同时显示问题和答案的聊天机器人的形式使用它,则可以创建一个本地存储的数据库实例,例如SQL Server 2016。
然后通过基于用户访问时间生成唯一的GUID,将每个聊天记录存储在一个表中,主键为“ GUID”,后跟“问题”,“答案”和“时间”。
潜在答案模型示例
namespace Frontend.Data {
public class Message {
[Key]
public string MessageId { get; set; }
public string ConversationId { get; set; }
public string Question { get; set; }
public string Answer { get; set; }
public DateTime MessageReceivedAtDateTime { get; set; }
public Message(string messageId, string conversationId, string question, string answer, string datestring) {
MessageId = messageId;
ConversationId = conversationId;
Answer = answer;
Question = question;
MessageReceivedAtDateTime = DateTimeOffset.Parse(datestring).UtcDateTime;
}
public Message() {}
}
但是,当用户退出程序时,您可能不得不修改问题和答案。
根据您实施QnA Maker的语言,您可能需要调整其中的一些更改
https://docs.microsoft.com/en-us/dotnet/api/system.guid.newguid?view=netframework-4.7.2