大数跨境
0
0

低代码(OutSystems)xChatGPT快速搭建AI聊天机器人

低代码(OutSystems)xChatGPT快速搭建AI聊天机器人 安畅Anchnet
2023-03-08
2


01 ChatGPT是什么?


近期火爆的全网的ChatGPT可谓是赚足了大家的眼球,那它到底是“何方神圣”能够引起这么大的反响?根据官网介绍(https://openai.com):ChatGPT是由人工智能实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,它是基于Transformer模型训练的大型语言模型,可以对文本进行理解和生成,并能在对话场景中提供准确、自然和连贯的回答。ChatGPT通过学习大量网络文本和语料库,从而具有丰富的知识和语言能力。

OpenAI官方称,ChatGPT在人类的帮助下创建并训练,是基于GPT-3.5技术模型的聊天机器人。人类训练师对该AI早期版本回答查询的方式进行排名和评级,然后这些信息被反馈到系统中,系统会根据训练师的偏好来调整答案——这是一种训练人工智能的标准方法,被称为强化学习。


ChatGPT于2022年11月发布后,OpenAI估值已涨至290亿美元,上线两个月后,用户数量已超过1亿。由于国内政策方面的原因,OPENAI暂不开放对国内用户注册,需要读者自行解决网络问题。


02 OutSystems低代码平台介绍


OutSystems 公司于 2001 年成立于葡萄牙里斯本,现总部位于美国波士顿,是一家以提供低代码平台服务和 可视化开发服务的公司。公司于 2018 年 6 月获得来自 KKR 和高盛的 3.6 亿美元联合投资,公司总估值超过 10 亿美元,一举成为全球低代码开发平台行业中的首家独角兽企业。

OutSystems 现代应用程序平台的高生产力、互联和 AI 辅助工具可帮助开发人员通过软件进行创新。它使组织能够构建应用程序来改变客户体验、提供工作场所创新、自动化流程或更快地实现核心系统的现代化。OutSystems 通过将低代码工具的强大功能与高级开发功能相结合,使整个应用程序的可视化开发成为可能,从而轻松与现有系统集成。


03 快速搭建自己的AI机器人


准备工作


  • OS账号:可以直接访问(https://www.outsystems.com)官网注册公有云账号,注册后在管理后台进行简单的配置,个人公有云环境就搭建好了。

  • OPENAI账号:OPENAI有地域限制为了规避国家法律法规及隐私政策,只对部分国家用户开放注册,读者可以在网上搜索到大量手把手教程教你注册。注册完账号后有几个注意点需要大家注意:


         - 新注册的用户有18美元的免费额度

         - 账号免费额度有效期不到半年,可以在个人中心查看有效期及使用情况

(https://platform.openai.com/account/usage)

         - 不要频繁查询问题会被官方拦截


可视化搭建智能机器人

首先,看一下用OS搭建的智能机器人的演示效果(支持响应式):




上面应用可以大概分为以下三个部分:


  • 在OS上搭建UI页面

  • 在OS上发布对接OPENAI的Service

  • UI页面与Service联动渲染


下面我们根据上述的模块划分,通过OutSystems低代码平台,分多个步骤依次开始搭建:

1. 可视化搭建应用界面



这里我们可以看到界面主要包含三部分:页面标题、聊天内容展示区域、聊天内容输入及发送部分。通过右侧的widget tree可以看到主要分别拖入contianer、button、list、area等组件完成界面的基本搭建。根据业务逻辑可以在tree中插入IF组件来控制部分组件的显示效果。


对于页面的样式我们可以通过组件的样式输入、配置区域微调或者css编辑按钮来美化我们的组件,如下图所示:




可以看到我们仅需要少量的代码,或者在配置区域微调就可以非常方便的搭建出所需的界面。


2. 配置数据变量及创建Service Module

接下来我们开始进行数据的绑定和创建Service模块,且将UI和Service连接起来(也可在一个module中实现)。


a. 新建一个消息List, 用于存储聊天记录


首先我们创建一个MsgRes类型的Structure,同时设置本地变量MsgList的类型。然后将设置的变量绑定到对应的容器,如下所示:



b. 配置Service Module

由于Open AI 接口返回太慢,我们希望在交互上更友好,采用了HTML5的新的特性SSE(Server-Sent Events)技术,此API兼容大多数主流浏览器(IE浏览器不兼容,可用使用简易轮询、 COMET 或者第三方库实现),还好Open AI也支持stream流式输出。由于SSE需要在Javascript中调用,所以这里只用到了处理文本的API,在服务器上是没有记录AI答复的文本,这会导致AI回答问题不能理解上下文,需要我们把所有的聊天记录传参给AI,这一块的逻辑我用了一个nodejsAPI在处理,前端只需要传入当前文本,历史聊天记录在服务端记录并处理。

a. 新建一个API的BASE配置


b. 接着设置API的结构


c. 在 service action 使用这里的API并暴露出去


d. 发布Sercive Moddule 并在UI Module 引入


3. 发送按钮绑定Service事件

我们给发送按钮绑定相应的事件来发起请求,通过Service返回结果更新聊天内容。



04 发布应用


我们通过在前端页面对Service进行逻辑处理完成开发后,可在配置界面顶部点击"Publish"按钮发布我们的应用。因为我们在开始选择了响应式模版,所以也同样可以在移动端进行浏览,具体操作如下图所示:


至此,一个基础版的AI智能聊天机器人应用就搭建完了。


05 总结

我们在搭建过程中可能会遇到一些问题,下面是常见问题的解决办法:


  • 机器人无法回复:这可能是因为 ChatGPT 机器人模型无法理解用户的问题。可以尝试把问题描述的更详细点。

  • 机器人回复不流畅:这可能是因为 ChatGPT 机器人模型生成的回复不够流畅或在服务器在境外所致。可以尝试调整模型的「temperature」参数,使生成的回复更加流畅

  • 机器人回复内容不准确:这可能是因为 ChatGPT 机器人模型无法理解用户的问题,或者因为模型没有学习到足够的知识。根据官网显示目前开源的语言模型为gpt-3,数据更新时间为2021年。所以2021年之后的问题机器人可能不知道,我们可以对其进行人工训练,让它回答的更准确。

  • Outsystems问题在他的官方社区基本都能找到解决方案(https://www.outsystems.com/community)。

  • SSE兼容问题,网上的建议如下:


【声明】内容源于网络
0
0
安畅Anchnet
安畅Anchnet是中国市场领先的云与AI托管服务商(Cloud&AI MSP),致力于帮助客户利用云与AI实现数字化转型创新。 目前正服务于零售、制造、大健康等各行业的3000多家企业级客户。
内容 355
粉丝 0
安畅Anchnet 安畅Anchnet是中国市场领先的云与AI托管服务商(Cloud&AI MSP),致力于帮助客户利用云与AI实现数字化转型创新。 目前正服务于零售、制造、大健康等各行业的3000多家企业级客户。
总阅读8
粉丝0
内容355