云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

云存储_CDN技术_好用

小七 141 0

去年,SAP Conversational AI引入了版本控制作为其企业级产品的一部分,产业云,以帮助您在bot运行时实现对其的更改。为了让新开发人员更容易遵循健壮的工作流程,所有机器人程序现在都默认进行版本控制。

如果你对版本控制还不熟悉或者不知道如何有效地使用它,这篇文章将解释基本概念。如果你已经熟悉版本控制,这篇文章应该可以帮助你适应你的开发过程,并且在有专门角色的团队中从版本控制中获得更多的好处。

注意:本文假设你熟悉bot构建的基础知识。如果您还没有构建bot,请查看本教程,了解如何使用SAP Conversational AI构建您的第一个bot。

为什么–以零停机时间迭代您的聊天机器人

考虑以下场景:您刚刚发布了bot,并且用户定期参与。你想改进你的机器人,所以你创建了一个新的意图,但你没有意识到它与现有的技能触发冲突。有人和你的机器人说话,突然…没有反应。像这样进行实时编辑可能会产生不可预知的副作用并破坏您的机器人。

作为一种解决方法,您可以在每次实施更改时创建一个机器人副本(通过分叉)。但是,如果您想让用户可以使用更新的bot(或者在发现bug后回滚到以前的工作bot),会发生什么呢?您的面向用户的通道仍然连接到以前的bot,因此您需要重新指向它们—这意味着您需要挖掘应用程序代码,手动更改bot令牌,然后重新部署。相当复杂的过程!

概念-什么是版本和环境?

幸运的是,您可以通过版本和环境来简化此过程。版本允许您在不向用户公开工作草稿的情况下更新bot,而环境使您可以轻松部署新版本或回滚到以前版本的chatbot。

版本是同一bot项目中bot意图、实体、技能和配置的单独副本。您可以单独查看和编辑这些版本。在使用bot的某个版本时,所有更改仅自动保存到此版本,而不会影响其他版本。这允许您为生产(用户正在与之交谈的实时版本)和开发(您正在处理的未完成版本)创建单独的副本。

环境允许您控制如何将这些单独的版本暴露给用户。环境本质上是指向版本的指针。它将您的机器人的入口点(通道)与其所指向的版本连接起来。

当然,您可以轻松地将环境重新指向不同的版本–例如,当您希望将版本从开发升级到生产时。

工作流–如何使用版本和环境

我们如何将这些概念付诸实践?让我们看看一个我们认为很有效的工作流。

您创建或复制的每个新机器人都有一个v1版本和一个指向此版本的开发(Dev)环境。注意:如果您已经在为机器人使用版本控制,您可能会有一组自定义的版本和环境。

对于本例,我们将在默认设置的基础上进行构建,并将其扩展如下:

这里我们引入了额外的Prod和测试环境,构建云服务器,它们都连接到同一组通道(Webchat和Slack)。新版本的开发过程如下:

让我们一步一步地分解这个过程:

1.从更改开发版本开始-例如,实施新技能、改进机器人的培训数据或修复错误。

2.当您对开发版本的更改感到满意时,将您的版本从Dev升级到Test。您的测试环境现在应该指向Dev环境所指向的同一版本。

2.a如果您没有测试环境,请创建它以及bot将从中可用的通道。通常,您的测试环境应该反映您的生产环境。这意味着,如果用户可以在Slack上与你的机器人对话,你也应该用Slack频道测试你的机器人。

3.运行测试以确保你的机器人按预期工作。如果不是,请修复开发版本中的所有错误,然后重新运行测试。(取决于你的机器人的复杂性,这可能是一个手动或自动的步骤。)

3.专业提示:你可以使用测试环境的令牌从外部脚本向你的机器人发出请求(参见对话框端点)。

4.可选,在测试版本上运行基准测试,以确定bot训练数据的质量。请注意,要使用此功能,至少需要4个意图,每个意图包含30个表达式。你可以在这里了解更多关于培训分析的知识。

4.专业提示:当你的基准测试完成后,比较测试版本和生产版本的性能。这将帮助您发现任何问题,并向您展示自上次迭代以来,您的机器人有多大的改进。

5.当您准备发布时,网云服务器,首先创建一个新版本作为测试版本的快照-这可能需要几秒钟的时间,具体取决于您的机器人的大小。把它分配给你的开发环境,这样你就可以从那里继续下一次的机器人迭代了。

5.a你可以给你的新版本起任何名字,但是选择一个命名方案并坚持它是个好主意。(在本文中我们使用线性编号。)