虚拟助手模板中的内容主持人

时间:2019-09-03 15:16:50

标签: botframework

我安装了新启动的bot框架虚拟助手模板(C#),从此处https://github.com/microsoft/botframework-solutions/tree/master/templates/Virtual-Assistant-Template/csharp下载了该模板,并使用部署脚本进行了部署,默认设置运行良好。

根据https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-virtual-assistant-template?view=azure-bot-service-4.0#content-moderator上的文档,内容主持人是可选的,但已启用。它说:“提供了一个中间件组件,该组件通过TurnState对象上的TextModeratorResult屏幕和文本。”我看到已经为Content-moderator创建了认知服务,并且密钥出现在appsettings中,但是启动不会实例化对象,botservice也不会。

但是,我在代码中看不到任何证据。搜索诸如“ TextModeratorResult”,“ TurnState”,“ contentModerator”之类的键不会返回任何内容。

这是我们需要实例化的东西吗?有准则吗?

1 个答案:

答案 0 :(得分:0)

应该仅需添加一行即可使其正常工作。但是,似乎有一段时间没有对此进行过测试了,因为有一些步骤可以使它起作用。 我将提交PR来解决此问题 PR,但现在:

  1. 确保在"contentModerator": "key"中设置了appsettings.json。这应该在部署过程中自动发生。
  2. 从您的项目中删除Microsoft.Azure.CognitiveServices.ContentModerator NuGet软件包。它已被添加到Microsoft.Bot.Builder.Solutions中,并且两者都对我造成了“无法加载类型...”错误。
  3. <yourProject>/Adapters/DefaultAdapter.cs(如果使用的是Websocket,则为DefaultWebsocketAdapter.cs)中,添加(在中间件管道的其余部分附近):
Use(new ContentModeratorMiddleware(settings.ContentModerator.Key, "https://<yourCMRegion>"));

注意:您的终结点区域必须使用https://进行格式化,否则将无法正常工作。 我要滚动为此,我将修复程序发布到my PR

  1. 现在,您可以在`TurnContext.TurnState.TextModeratorResult中访问经过审核的数据。

enter image description here