# 十分钟利用SAP BTP的低代码平台SAP Build Apps构建Chat-GPT应用
原创 三号技师小宝 [ 建广技师 ](javascript:void\(0\);)
__ _ _ _ _
大家好,好久不见。本文主要介绍如何利用SAP BTP的LCNC低代码平台SAP Build
Apps创建一个基于OpenAI模型的的问答对话应用。整个过程很简单,如果有兴趣后续我们可以继续发布更多的关于围绕SAP
BTP以及OpenAI和其他相关平台的一些小案例,欢迎大家踊跃留言,谢谢。
为了让更多同学更好的对于SAP BTP以及OpenAI有所了解我们先做一下相关的基础介绍,以便大家更容易的理解相关的概念以及工具。
**首先什么是Chat-GPT?**
**Chat-GPT** :
Chat-GPT是一种基于GPT(Generative Pre-trained
Transformer)模型的对话生成模型。GPT是一种基于深度学习的语言模型,由OpenAI开发。它在大规模的文本数据上进行了预训练,可以生成与输入上下文相关的自然语言响应。
Chat-GPT是在GPT模型的基础上进行特定任务的微调,以用于对话生成。它可以用于构建聊天机器人、智能助手和其他对话系统。Chat-
GPT通过学习大量对话数据集,能够理解和生成人类语言,并具备一定程度的语义理解和上下文处理能力。
Chat-GPT在对话过程中可以接收用户的输入,并生成相应的回复。它可以进行简单的问答、提供建议、解决问题、进行闲聊等。Chat-
GPT的优点在于其能够根据上下文进行连贯的对话生成,并且能够适应不同的对话主题和风格。
然而,需要注意的是,Chat-
GPT仅仅是一个基于模式匹配和统计的模型,它缺乏真正的理解和推理能力。它的回复是基于先前观察到的模式和训练数据的统计概率,而不是真正的理解和推理。因此,在某些情况下,Chat-
GPT的回复可能不准确或不合理。
** 那么Chat-GPT是基于什么框架开发的? **
以下来自Chat-GPT自己的回答: Chat-
GPT是基于Transformers框架开发的。Transformers是一个用于自然语言处理(NLP)任务的开源框架,由Hugging
Face团队开发和维护。它提供了许多预训练的语言模型,包括GPT模型。
Transformers框架基于PyTorch和TensorFlow等主流深度学习框架,为使用和部署各种NLP模型提供了简便的接口和功能。它提供了用于文本分类、命名实体识别、机器翻译、文本生成等多个NLP任务的模型和工具。
在Chat-
GPT中,基于Transformers框架,开发者可以使用预训练的GPT模型,并在特定的对话数据上进行微调,以使模型适应对话生成任务。Transformers框架提供了用于加载和微调模型的API,以及用于处理对话数据和生成对话的工具。
通过使用Transformers框架,开发者可以更加方便地构建和训练对话系统,并利用GPT模型的强大能力来生成连贯的对话回复。该框架的广泛应用和活跃的开发社区使得Chat-
GPT等对话生成模型的开发和创新变得更加容易和高效。
** Pytorch: **Meta 开源的主流学习框架** **
** Tensorflow :谷歌开源的向更加易用发展的主流学习框架 **
如果有兴趣的同学可以自己去关注和学习有关Pytorch和TensorFlow相关信息,以及Chat-GPT相关的信息,在这里就不做过多的赘述了。
接下来,我们的主角SAP Build登场了。 ** SAP Build是什么? **
SAP Build 是一款低代码开发解决方案,能够帮助用户加速开发应用和实现流程自动化。
它主要由三部分构成: ** SAP Build Apps、 SAP Build Process Automation、 **
** SAP Build Work Zone **
1\. 无代码开发构建应用
借助 SAP Build Apps,无需编码即可构建企业应用。开发人员、IT 技术人员和业务人员均可在SAP
Build低代码开发平台上实现无代码开发,快捷按需构建应用。
2\. 利用低代码开发平台实现流程自动化 借助 SAP Build Process Automation
解决方案,你能够利用简单的拖放功能,实现工作流程和任务自动化。借助低代码平台开发的应用配置灵活、复用性高,且低代码开发更贴合企业快速迭代应用的需求。
3\. 应用SAP Build Work Zone 构建业务站点 SAP Build Work Zone
工具利用低代码平台帮助你设计极具吸引力的站点,支持用户在各个企业应用之间快速完成工作。应用SAP Build Work
Zone这款低代码业务站点开发解决方案,个人用户和团队都能更高效地使用 SAP 应用、流程和自助服务。
SAP Build Apps之前叫AppGyver是被SAP收购的一家公司,以前一直专注于做LCNC工具,功能很强大,易于上手。而 SAP Build
Process Automation之前就是我们用的IRPA,用来做自动化和流程相关的工具。 SAP Build Work
Zone我感觉是整合了之前的LaunchPad Service和Success Factors
WorkZone用来作为企业及个人工作平台和门户。个人理解,如有纰漏欢迎指正。
** 那么首先我们要事先准备好相关的事前工作: **
注册账号直接注册就可以了但是要注意的是要验证手机号码,一个手机号码只能绑定一个账号。
我们今天使用SAP的BTP Trial环境,由于之前的法兰克福的数据中心不能试用了,现在一般我们都是使用US
East的区域(AWS),要注意的是,Trial环境AWS和Azure两个云厂商所提供的服务有所不同,所以可能会出现有些服务在不同的区域出现不可用或不提供服务的情况出现。
点击创建账户,就会自动执行相关的工作了,这个过程可能需要等几分钟。
创建完成后是这个样子的:
当然我们也可以重新分配删除和创建子账户。
点击子账户后进入我们的cockpit,左侧是菜单右侧是相关的主要信息 然后我们主要是启用我们需要用到的服务:SAP Build Apps,要注意的是SAP
Build Apps要使用 Cloud Identity Services,所以在创建SAP Build Apps之前,要先创建 Identity
Services的instance。
我们进入到 Service Marketplace然后搜索Identity找到Cloud Identity
Service服务,然后点击右上角的创建,创建后的实例会在 Instances and Subscriptions显示。
这时我们就看见了我们创建的实例了。点击标识2的打开新窗口按钮或者标识3的Go to application都可以进入到应用中。
初始创建时会让我们创建个管理员帐号,这里要注意的是这个过程也得需要等一会,相关的工作才会完成.
然后我们需要进入 Trust Configuration配置一下 Custom Identity Provider for
Applications并确保它是激活状态:
然后进行登录,登录界面如下:
登录之后的界面
我们就可以查看和管理用户、权限、身份认证、应用资源接入的相关信息了。 接下来我们就是创建SAP Build Apps实例了。
同样的我们也可以在MarketPlace里创建SAP Build Apps的实例
或者我们可以进入 ** Boosters ** 然后搜索Build
Apps然后点击Start,这个相当于系统会执行一个脚本将我们要做的相关的工作都会按照步骤进行执行。
创建完SAP Build Apps实例后可以在 Instances and Subscriptions查看已经创建的实例
然后我们进入Users分配权限,将Build Apps权限分配给用户
接下来我们进入到SAP Build Apps应用中开始我们最重要的工作了:
首先我们先创建一个应用,点击创建按钮,然后选择构建应用程序
然后选择Web和移动应用程序
按照图示步骤输入名称描述点击按钮创建
**如下所示就是我们SAP Build Apps的主界面了**
这里主要包括几部分:
1.项目名称以及当前我们所在的page,以方便我们区分现在正在操作的是哪个page
2.顶部工具栏,这个是切换主工作区的,包含UI画布,lauch(预览和发布应用),主题配色管理,数据变量管理等等一列功能,我们可以点击按钮进行切换
3.组件面板,其中有个marketplace可以安装一些复杂的组件,当然我们也可以用基础组件自己封装也是可以的。
4.画布的大小,这个可以用来实时显示当前应用在不同的设备上显示的状态,因为SAP Build
Apps构建的是跨平台的应用,所以我们只需要构建一次应用,在不同的平台上都可以进行部署和发布。
5.画布工作区,在这里可以编排组件的UI。 6.属性编辑区,编辑当前组件的一些属性和style以及layout布局。
7.切换view工作视图和variable编辑视图。 8。当前的组件树,查看当前的组件之间的排列以及他们之间的关系。
还有一个最下面的logic,这个也很重要,这个是用来编辑处理整个逻辑流的区域面板。
** 接下来我们要进入构建APP的工作了: ** 首先我们先创建一个图片然后点击图片资源路径按钮
然后我们分别创建InputField、Text、Button、spinner
接下来我们切换到variable创建3个变量分别用来绑定question和answer以及加载的spinner:注意数据类型
绑定后的状态如下:
同样的不收绑定answer和spinner:
绑定answer:
selectable绑定thinkinprocess 然后点击advance Properties->绑定visible:我们选择formula:
可以选择变量,双击会自动补全,同时我们可以看见不同的variable及function
注意spinner绑定visible
选中button然后点击add logic 同 button:
然后我们添加一个set page variable并将
同时将thinkinprogress设置为true
然后在marketplace中搜索http request并进行install
.textContent = new Date().getFullYear();