是否有可能使用 Microsoft Azure Bot Services 创建 Java 聊天机器人?
Posted
技术标签:
【中文标题】是否有可能使用 Microsoft Azure Bot Services 创建 Java 聊天机器人?【英文标题】:Is there any possibility to create a java chatbot using Microsoft Azure Bot Services? 【发布时间】:2019-02-26 02:43:54 【问题描述】:使用 MS Azure 机器人服务,我希望使用 Java 语言创建的聊天机器人托管在 Azure 上。 Azure 提供了三种使用 Bot Service 创建聊天机器人的选项:bot service、function bot 和 bot 频道注册。前两个允许仅使用模板(c#、node js)创建聊天机器人,但没有可用的 Java。最后一个建议使用 Azure 服务注册聊天机器人,但托管在任何地方。
有什么办法可以做到吗?
我想使用以下技术进行开发:
微软机器人框架 Microsoft Bot Framework REST API Azure 机器人服务 Azure 应用服务 路易斯.ai Java【问题讨论】:
【参考方案1】:您必须了解 Bot Framework 的历史和架构,才能了解过去/现在/将可用的内容。
简而言之:
架构
这是一张很好的老照片,但当你理解它时会很有趣:
该框架由几个部分组成:
您的代码(请参阅下面的开发语言)托管在 Web 应用程序中,因为它背后只是一个 API。这部分使用(开源)SDK与Connector进行通信,例如 bot 连接器(未开源,托管在 Microsoft 端),负责处理与“通道”的通信,即您的 bot 将暴露在哪里 频道 根据您的需求提供的其他内容:自定义 API、认知服务(例如,使用 LUIS 进行语言理解等)这些就是我们所说的组件。这些组件需要在某个地方运行,您还必须提供有关您要使用的通道的详细信息,这就是我们有以下内容的原因:
Azure Bot Service
和 Azure Functions bot
是 2 个资源,可让您创建托管代码所需的一切。您使用其中一种,但不能同时用于一个机器人。第一个用于“经典”开发,第二个用于 Azure Functions。
Bot Channel Registration
是用于设置您的机器人的强制性资源:在该资源中,您将指出您的代码端点是什么(因此您将指向您的 Azure 机器人服务或 Azure Functions 机器人端点),您将设置您需要的所有通道.还提供了一个快速测试器。
补充说明:Azure Bot Service
和 Azure Functions bot
是一种“帮手”:在 v3 框架开始时,它们并不存在,您可以通过直接创建一个应用服务 + 应用服务计划托管您的代码,以及一个机器人频道注册来定义您的频道。
开发语言
在版本 3(截至 2018 年 9 月的稳定版本)之前,Bot Framework SDK 提供 2 种语言版本:C#
和 Node.js
SDK 的第 4 版于 2018 年初公开发布,当时已切换到稳定版(至少对于 C#
和 js
)。它允许 4 种开发语言:
因此,对于 Java,请查看仍处于预览状态但可能很快会更改的专用存储库。
【讨论】:
【参考方案2】:这是一个最近的链接,教你如何使用 Java 创建本地机器人:https://docs.microsoft.com/en-us/azure/bot-service/java/bot-builder-java-quickstart?view=azure-bot-service-4.0
【讨论】:
感谢您的回答,但如何将此本地机器人部署到 MS Azure?是否需要使用 Azure Bot Service? @MishaSavchuk 将本地机器人部署到 MS Azure 时,必须使用 Azure 机器人服务。您可以在 MS Azure 中免费试用一个月。以上是关于是否有可能使用 Microsoft Azure Bot Services 创建 Java 聊天机器人?的主要内容,如果未能解决你的问题,请参考以下文章
是否有可能为 Azure 托管的 API 管理创建自定义小部件?