如何在Azure Bot Framework上使用多元文化的Luis应用程序?

时间:2019-06-18 19:47:31

标签: azure botframework luis

我有两个具有多种文化(语言)的luis应用程序,并且网站上有一个bot框架网聊,如何捕捉浏览器语言来使用luis应用程序?例如,如果我使用德语浏览器,则要使用德语Luis,如果要英语,则要使用英语Luis。

1 个答案:

答案 0 :(得分:0)

使用反向通道将导航器语言发送到您的机器人,并将此信息存储在机器人端的上下文中。

然后将这些存储的信息用于您的LUIS呼叫。

请参阅以下示例:https://github.com/microsoft/BotFramework-WebChat/blob/master/samples/15.d.backchannel-send-welcome-event/README.md

他们在以下情况中传递了导航器语言:

const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
  if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
    // When we receive DIRECT_LINE/CONNECT_FULFILLED action, we will send an event activity using WEB_CHAT/SEND_EVENT
    dispatch({
      type: 'WEB_CHAT/SEND_EVENT',
      payload: {
        name: 'webchat/join',
        value: { language: window.navigator.language }
      }
    });
  }

在机器人方面,获取信息:

if (turnContext.Activity.Type == ActivityTypes.Event)
{
    if (turnContext.Activity.Name == "webchat/join")
    {
        // HERE, USE THE VALUE PASSED
    }
}