ChatGPT赋能低代码开发:打造智能应用的双重引擎

chatgpt,代码,开发,打造,智能,应用,双重,引擎 · 浏览次数 : 153

小编点评

**摘要** 文章介绍了ChatGPT如何与活字格数据库表和前端设计,以实现查询订单数据的功能。 **主要内容** 1. **ChatGPT函数** - ChatGPT的 functions 参数允许用户定义执行函数的逻辑。 - 现支持gpt-3.5-turbo-0613和gpt-4-0613两种引擎。 2. **函数调用** - 用户可以通过定义一系列函数,告诉GPT函数是什么时候用,做什么用,需要什么参数才能用等。 3. **参数说明** - 用户可以提供参数说明,帮助GPT理解函数参数的含义。 4. **示例** - 文章展示如何使用ChatGPT查询2023年6月的采购订单数据,并展示了前端页面的设计。 5. **后端设计** - 文章介绍了如何将ChatGPT连接到后端,并配置命令和参数的描述。 6. **功能实现** - 文章展示如何利用ChatGPT显示订单内容,并介绍了如何进行其他功能的尝试。

正文

摘要:本文摘自葡萄城低代码产品活字格的资深用户(格友超哥)所撰写的文章:《惊叹表现!活字格+ChatGPT:低代码开发智能应用的巨大潜力》

 

ChatGPT的functions函数使用方

自从OPENAI发布了最新的GPT引擎gpt-3.5-turbo-0613之后,我就对它的functions参数很感兴趣,利用GPT超强的语言理解能力,如果加上函数执行,我们就可以让AI不再是聊聊天、回答问题了,甚至能够直接帮我们完成工作任务。刚好今天周末,不如就动手试试,看能否达到我所想的效果。

开始之前,我们先要看一下官方文档,看看这个functions,是个什么神奇的参数,只有搞清楚了它的作用和原理,我们才知道如何利用它。

 

这是官方对Function calling的介绍,我们可以看到,目前支持gpt-3.5-turbo-0613和gpt-4-0613两种引擎。

再看看functions参数的格式和属性,我们可以看到,这里我们向GPT定义了一个名为"get_current_weather"的函数,并且在description中描述了这个函数的用途,在properties中,我们定义了两个参数,location和unit,这是向GPT表明,你如果调用这个函数,需要向函数提供两个参数,并且对两个参数都进行了描述。

看懂了functions参数,我们大概知道了原理,其实并不复杂,我们通过定义一系列函数,告诉GPT函数是什么时候用,做什么用,需要什么参数才能用等,GPT会根据与用户的聊天信息自行判断是否要“执行函数”。

为什么要给执行函数打上双引号呢?事实上GPT肯定是不能直接执行函数的,因为这只是个普通的HTTP请求,GPT也只是返回一个JSON格式的响应信息,那该如何实现执行函数的呢?

如何让ChatGPT调用函数

要搞懂这个,我们还得看看GPT给我们返回的数据长什么样子。

上面是一个正常的聊天回复信息,我们看到,message里面只有role和content两个属性,另外还新增了一个属性 finish_reason ,当它的值为“stop”,说明此次的对话无需执行函数,也说明GPT并没有调用函数的打算,接下来我们看看GPT打算调用函数时,会返回什么?

我们发送“请问北京现在天气怎么样”给GPT,看它的回答。

这里可以明显看到,finish_reason的值变成了“function_call”,开发人员通过判断finish_reason的值,就可以知道GPT是否要调用函数。

这下豁然开朗了,我们通过回复的内容,弄清楚GPT要调用什么函数,然后拿到GPT帮我们获取的参数,直接执行函数就可以了。

使用ChatGPT嵌入活字格

数据库表和前端设计

下面我们来给活字格装上AI的翅膀,我们先打开活字格9.0的版本,新建一个“订单数据表”,并填充模拟数据,另外再建一张消息记录表。

(订单数据表)

(表字段)

然后新建一个页面,制作一个简单类似搜索的页面,运行看看效果。


(运行效果)

这个页面用来与用户进行自然语言交互,前端我们暂时做到这儿。

后端设计

接下来设计后端,把ChatGPT对接部分做好。

为了方便使用,我提前将GPT的API封装成了插件,原理跟上面官方所说一致。

(封装后的插件)

设置好KEY和消息数据以后,我们利用插件的自动化命令配置好需要ChatGPT的执行的命令。

这里的每个命令都有一个描述,我们可以用自然语言告诉AI,什么时候该调用我,AI会自己决定调用哪一个命令,当然光有命令还不行,我们还得让AI提供参数给我们。

在参数的配置上,我们也有一个“参数说明”,也就是用来告诉GPT,这个参数是什么意思,GPT会根据用户的信息,自己来归纳和推测参数内容。

使用ChatGPT查询订单

好了,做到这儿,GPT后端部分也已经配置好,现在我们模拟一个场景出来,例如我想让GPT帮我们查询订单数据,我们可以这样定义:

首先定义一条命令如下,告诉GPT,这个命令是用来按条件查询多个订单数据。

(定义命令)

再给命令定义查询订单需要用到的一些关键参数,有了这些信息,我们后面就可以实现查询条件,从而根据条件筛选数据。

(参数定义)

判断GPT返回的function_call.name是不是等于GetOrderData:

(判断function_call.name)

如果是,就把获得的参数用来筛选数据:

(筛选数据)

最后把获取到的数据返回给前端:

(数据返回前端)

最后我们在前端补充一个页面,用来接收并显示查询返回的数据表中的数据。

最终实现的效果:

(查询2023年6月的采购订单数据)

可以看到GPT准确的理解了我们的意图,并且调用了我们预设好的命令,还提供了我们需要的日期、订单类型等参数。

通过这个简单的例子,我们可以验证AI与活字格结合的可行性,那么我们除了查询数据,还能不能做点更复杂的事情呢?

使用ChatGPT显示订单内容

所以接着我又做了另一个尝试,让AI根据我的要求找到某个订单,并显示该订单内容

这个尝试,我加入了更多的参数,由日期、订单类型、负责人等,然后修改了逻辑,把命令放到前端页面来执行。

(前端命令设置)

来看看运行效果:

(打开2023年6月8日超哥采购Iphone的订单)

看来是完全没有压力的,这时候我们初步已经学会怎么运用GPT的能力,来为我们完成特定任务了,下面我将继续完成一个更复杂、更实用的尝试。

使用ChatGPT发送邮件

我想让系统理解这样一句话,并帮我执行。

我是乔布斯,请帮我找出2023年6月份马斯克经手采购iphone的订单数据,发送邮件给超哥,并写一段话礼貌的催促他快点审核。

我来帮大家理理,想要完成这个任务,我们需要做些?

让AI知道我是谁;

▪ 需要找出2023年6月1日到6月30日范围内,负责人为"马斯克"、订单类型为"采购订单"的数据;

▪ 将上面数据导出为Excel;

▪ 找到超哥的邮箱,并将上面的数据作为附件;

▪ 编写一段话作为邮箱正文;

▪ 寻找系统用户中一个叫“超哥”的人,并拿到邮箱地址;

▪ 将邮件发送出去并返回。

梳理清楚了,我们就开始做逻辑,同样配置好命令和参数的描述

然后利用报表模块,设计一个简单的报表,绑定订单数据库

(报表模块)

最后做一下导出Excel+发送邮件的命令

(命令执行过程设计)

好了,我们来试试效果,我给大家做了个带讲解的视频

总结

ChatGPT与活字格的结合为软件设计带来了巨大的潜力,并给开发者带来了全新的思考和改变。AI的执行任务能力和自然语言交互使软件操作更加智能化和直观化。开发者将专注于与AI的对话和数据分析目标的设定,而无需担心底层的技术细节。我们期待ChatGPT和活字格技术的不断发展,推动低代码开发向智能开发的创新和突破,让我们迎接更加智能的软件时代。

与ChatGPT赋能低代码开发:打造智能应用的双重引擎相似的内容:

ChatGPT赋能低代码开发:打造智能应用的双重引擎

摘要:本文摘自葡萄城低代码产品活字格的资深用户(格友超哥)所撰写的文章:《惊叹表现!活字格+ChatGPT:低代码开发智能应用的巨大潜力》。 ChatGPT的functions函数使用方 自从OPENAI发布了最新的GPT引擎gpt-3.5-turbo-0613之后,我就对它的functions参数

笔精墨妙,妙手丹青,微软开源可视化版本的ChatGPT:Visual ChatGPT,人工智能AI聊天发图片,Python3.10实现

说时迟那时快,微软第一时间发布开源库Visual ChatGPT,把 ChatGPT 的人工智能AI能力和Stable Diffusion以及ControlNet进行了整合。常常被互联网人挂在嘴边的“赋能”一词,几乎已经变成了笑话,但这回,微软玩了一次真真正正的AI“赋能”,彻底打通了人工智能“闭环

搭载AI之后的表格插件又有哪些新的改变

摘要:本文由葡萄城技术团队于博客园原创并首发。葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 在[《大火的ChatGPT与SpreadJS结合会有哪些意想不到的效果》](https://www.grapecity.com.cn/blogs/chatgpt-meets-spreadjs

如何使用ChatGPT来自动化Python任务

1.概述 最近,比较火热的ChatGPT很受欢迎。今天,笔者为大家来介绍一下ChatGPT能做哪些事情。 2.内容 ChatGPT是一款由OpenAI开发的专门从事对话的AI聊天机器人。它的目标是让AI系统更加自然的与之交互,但它也可以在我们编写代码的时候提供一些帮助。 2.1 使用ChatGPT来

两条命令搞定 ChatGPT API 的调用问题

自2022年11月30日 OpenAI 发布 ChatGPT 以来,虽然时有唱衰的声音出现,但在OpenAI不断推陈出新,陆续发布了OpenAPI、GPT-4、ChatGPT Plugins之后,似乎让大家看到了一个聊天机器人往操作系统入口进军的升纬之路。 ChatGPT能被认为是操作系统级别的入口

【转帖】ChatGPT重塑Windows!微软王炸更新:操作系统全面接入,Bing也能用插件了

https://cloud.tencent.com/developer/article/2291078?areaSource=&traceId= 金磊 丰色 西风 发自 凹非寺 量子位 | 公众号 QbitAI 一夜之间,微软彻底重新定义了PC交互。 因为这一次,它把Bing和ChatGPT插件的能

一款能“干掉” ChatGPT 的应用「GitHub 热点速览」

据说有了它,ChatGPT 就可以靠边站了。因为 Auto-GPT 能更加主动地完成你给他的指定任务,不用做更多的人为干涉,它的推理能力比 ChatGPT 更强,有人用它解放双手做了个 React 网站。当然除了升级的 Auto-GPT 之外,还有 DeepSpeed,它能极大地降低训练成本。这两个

解放双手!ChatGPT助力编写JAVA框架

亲爱的Javaer们,在平时编码的过程中,你是否曾想过编写一个Java框架去为开发提效?但是要么编写框架时感觉无从下手,不知道从哪开始。要么有思路了后对某个功能实现的技术细节不了解,空有想法而无法实现。如果你遇到了这些问题,看完这篇文章你也能用ChatGPT编写一个简单的JAVA框架。

ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验

本文期望通过本地化部署一个基于LLM模型的应用,能让大家对构建一个完整的应用有一个基本认知。包括基本的软硬环境依赖、底层的LLM模型、中间的基础框架及最上层的展示组件,最终能达到在本地零编码体验的目的。

chatgpt接口开发笔记1:completions接口

chatgpt接口开发笔记1:completions接口 序:写这一系列文章的动机来源于在部署Chanzhaoyu/**chatgpt-web**项目时发现,体验并不好,会存在多人同时提问时回答会夹断,上下文接不上的现象。同时希望搭建的项目能实现前后端分离。于是用webapi写了一套后端接口。我会把