Botframework 我们能否构建一个产品,使最终用户能够在自托管环境中使用bot框架创建对话聊天bot?

Botframework 我们能否构建一个产品,使最终用户能够在自托管环境中使用bot框架创建对话聊天bot?,botframework,Botframework,我想开发一个产品,简化使用Microsoft BotFramework SDK创建对话聊天机器人的方式。因为我们完全可以在本地构建和托管web应用程序 那么,我们可以在自托管环境中使用bot框架构建类似的东西吗 以下是Microsoft Bot Framework的链接:基于答案,在此处提供更完整的答案。由于存在具有internet连接的选项,我绝对建议使用Azure Bot注册将解决方案创建为“常规”Bot框架Bot。重要的是,有两种方法可以做到这一点——最明显的方法是为bot创建“注册”,但

我想开发一个产品,简化使用Microsoft BotFramework SDK创建对话聊天机器人的方式。因为我们完全可以在本地构建和托管web应用程序

那么,我们可以在自托管环境中使用bot框架构建类似的东西吗


以下是Microsoft Bot Framework的链接:

基于答案,在此处提供更完整的答案。由于存在具有internet连接的选项,我绝对建议使用Azure Bot注册将解决方案创建为“常规”Bot框架Bot。重要的是,有两种方法可以做到这一点——最明显的方法是为bot创建“注册”,但也默认将其托管在Azure Web应用程序中,这会带来相当大的成本。但是,还有另一种选择,只创建一个“Bot通道”注册,这意味着您可以在Azure中注册一个Bot,但不一定在Azure中托管

我在中详细描述了这一点,您希望在Azure中使用“Bot频道注册”,而不是“Web应用程序Bot”。然后,在“设置”屏幕上,您可以定义bot的实际地址(有关设置屏幕的视图,请参阅)

所以,总的来说,这应该会有所帮助-基本上机器人只需要有一个HTTPS,互联网可访问的端点。不过,也就是说,你可以在Azure功能中托管你的机器人程序,而不是在Azure Web应用程序中托管,而且成本大大降低(美分比美元,尤其是在流量较低的情况下)。这需要做一点工作,特别是当默认示例默认为更标准的选项时,但它工作得相当好


顺便说一句,我最近发布了一个新的博客,我有一篇文章描述了到目前为止我所学到的关于机器人如何工作的一些知识,作为这篇文章的一部分,我很高兴知道这些。请参阅。

根据答案,在此处填写更完整的答案。由于存在具有internet连接的选项,我绝对建议使用Azure Bot注册将解决方案创建为“常规”Bot框架Bot。重要的是,有两种方法可以做到这一点——最明显的方法是为bot创建“注册”,但也默认将其托管在Azure Web应用程序中,这会带来相当大的成本。但是,还有另一种选择,只创建一个“Bot通道”注册,这意味着您可以在Azure中注册一个Bot,但不一定在Azure中托管

我在中详细描述了这一点,您希望在Azure中使用“Bot频道注册”,而不是“Web应用程序Bot”。然后,在“设置”屏幕上,您可以定义bot的实际地址(有关设置屏幕的视图,请参阅)

所以,总的来说,这应该会有所帮助-基本上机器人只需要有一个HTTPS,互联网可访问的端点。不过,也就是说,你可以在Azure功能中托管你的机器人程序,而不是在Azure Web应用程序中托管,而且成本大大降低(美分比美元,尤其是在流量较低的情况下)。这需要做一点工作,特别是当默认示例默认为更标准的选项时,但它工作得相当好


顺便说一句,我最近发布了一个新的博客,我有一篇文章描述了到目前为止我所学到的关于机器人如何工作的一些知识,作为这篇文章的一部分,我很高兴知道这些。请参阅。

如果不需要连接到类似频道的团队,您确实可以完全在本地/自托管环境中构建一个机器人

背景 基本上,机器人通过以下方式进行通信:

User interaction with DirectLine Client (like Web Chat) ->
    DirectLine API receives data and sends to bot ->
        Bot hosted anywhere receives message
注:

WebChat只是一个DirectLine客户端。如果您想构建自己的WebChat,您可以自己构建。但是,如果您真的想自己托管,那么所有这些都可以让您托管自己的
webchat.js
文件

台阶 考虑到这一点,您只需要:

  • 类似于直连客户端(在调用
    createDirectLine
    时,使用自己的端点指定
    domain
    属性),或者您可以

  • 您拥有类似()的DirectLineAPI实现

  • 把你的机器人放在某个地方

  • 安全 使用这种方法,您将无法使用典型的appId/密码设置

    您可以通过以下方式手动实现我们的安全协议


    尽管可以手动实现安全协议,但我们建议重用

    您确实可以完全在本地/自托管环境中构建机器人,前提是您不需要连接到类似通道的团队

    背景 基本上,机器人通过以下方式进行通信:

    User interaction with DirectLine Client (like Web Chat) ->
        DirectLine API receives data and sends to bot ->
            Bot hosted anywhere receives message
    
    注:

    WebChat只是一个DirectLine客户端。如果您想构建自己的WebChat,您可以自己构建。但是,如果您真的想自己托管,那么所有这些都可以让您托管自己的
    webchat.js
    文件

    台阶 考虑到这一点,您只需要:

  • 类似于直连客户端(在调用
    createDirectLine
    时,使用自己的端点指定
    domain
    属性),或者您可以

  • 您拥有类似()的DirectLineAPI实现

  • 把你的机器人放在某个地方

  • 安全 使用这种方法,您将无法使用典型的appId/密码设置

    您可以通过以下方式手动实现我们的安全协议


    即使可以手动实现安全协议,我们建议重新使用

    由于MS团队集成的要求,我们正在从一个具有我们自己的DirectLine服务器的完全内部部署解决方案迁移到Azure Bot通道注册。

    我们正在从一个具有我们自己的DirectLine服务器的完全内部部署解决方案迁移到Azure Bot通道由于MS团队集成的要求而进行注册。

    要确认,您的意思是