C# 如何跟踪LUIS服务每个最终用户的配额使用情况?
对于使用C#.NET制作的Microsoft Bot Framework应用程序,我想跟踪每个最终用户对LUIS AI的使用情况C# 如何跟踪LUIS服务每个最终用户的配额使用情况?,c#,botframework,azure-application-insights,azure-language-understanding,azure-bot-service,C#,Botframework,Azure Application Insights,Azure Language Understanding,Azure Bot Service,对于使用C#.NET制作的Microsoft Bot Framework应用程序,我想跟踪每个最终用户对LUIS AI的使用情况 我想知道Azure、LUIS服务、Application Insights、Microsoft Bot Framework(C#NET SDK)、Azure Bot服务/应用程序服务中是否有内置选项 此外,我还考虑了日志记录,是否可以仅在具有[LuisIntent]属性的方法中使用将消息记录到数据库的手动操作,这样就足够了?(我认为只跟踪涉及LUIS API调用的用户
[LuisIntent]
属性的方法中使用将消息记录到数据库的手动操作,这样就足够了?(我认为只跟踪涉及LUIS API调用的用户消息就足够了,不需要跟踪从用户到机器人的每条消息)请提供您的建议。否Azure/Luis中没有内置选项可用于跟踪每个用户对您的机器人的使用情况。第二,是的,您可以尝试记录每个用户与您的Luis服务的交互&关注配额使用情况,但为此,您还需要存储用户身份。请检查这里的快照,我也做了同样的操作。为了回答我是如何做到这一点的,我简单地添加了一个logger类,如下所示:
public static class Logger
{
/// <summary>
/// Log data into text file
/// </summary>
/// <param name="text"></param>
public static void Log(string text)
{
System.IO.File.AppendAllText(System.AppDomain.CurrentDomain.BaseDirectory + "\\Log\\Loginfo.txt", text +Environment.NewLine);
}
}
公共静态类记录器
{
///
///将数据记录到文本文件中
///
///
公共静态无效日志(字符串文本)
{
System.IO.File.AppendAllText(System.AppDomain.CurrentDomain.BaseDirectory+“\\Log\\Loginfo.txt”,text+Environment.NewLine);
}
}
此外,如果您希望跟踪api点击/密钥使用等基本详细信息,您可以移动到luis服务的仪表板选项卡并查看它
如果您将用户发送到中央数据库的每条消息都存储起来,并记录发送消息的人,岂不是更容易些。您还可以让同一个数据库存储您使用的LUIS模型在发送消息时使用的信息。例如,您可以在数据库中存储以下内容:1)用户信息(客户/用户编号)2)他们使用的路易斯模型,3)他们用于访问路易斯模型的应用程序“请检查此处的快照,我也做了同样的操作。”您可以添加有关如何制作OP的更多详细信息吗?@NicolasR我编辑了一个答案,请检查一下,如果有帮助请告诉我。