未生成Azure QnaMaker聊天日志

时间:2018-11-12 10:22:14

标签: qnamaker

GenerateAnswer API描述了userId(如果在请求中发送)将记录在聊天日志中,据我看来,聊天日志似乎没有生成。

默认情况下会生成聊天记录吗?还是需要配置资源或进行配置更改以使日志生效?

如果有任何文档详细描述了QnA Maker的日志记录方面,请问我能找到Azure文档吗?

谢谢

1 个答案:

答案 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/sql/database-engine/configure-windows/sql-server-2016-express-localdb?view=sql-server-2017

https://docs.microsoft.com/en-us/dotnet/api/system.guid.newguid?view=netframework-4.7.2