基于ChatGPT的自然语言开发框架PromptAppGPT:全自动编译、运行

2023-06-14 22:20:40 中国教育信息服务网

最近,CCF理论计算机科学技术委员会委员张长旺,开发了一个基于低代码提示语的快速应用开发框架PromptAppGPT,可以实现基于GPT的自然语言快速应用开发。

PromptAppGPT包含的功能有:低代码提示语(Prompt)应用开发、GPT文本生成、DALL-E图像生成、在线代码编辑器+编译器+运行器、自动用户界面生成、支持插件扩展等。


【资料图】

项目网站:https://promptappgpt.wangzhishi.net/

项目代码:https://github.com/mleoking/PromptAppGPT

PromptAppGPT提供多任务条件触发、结果验证和失败重试能力,可以让原本需要多步骤的手动生成任务变成自动完成。

同时,用户不再需要自己记忆和输入繁琐的Prompt咒语,只输入任务核心必要信息就可以轻松完成任务。

1. 项目特点

低代码提示语(Prompt)快速应用开发

支持GPT3/4执行器用于文本生成

支持用于图像生成的Dalle执行器

支持使用执行器(插件)扩展

内置在线代码编辑器、编译器和运行器

自动生成用户界面

英文和中文双语用户界面

2. 快速入门

2.1. 获取OpenAI的API密钥。

2.2. 访问网站PromptAppGPT网站,选择网络启动或下载程序:

https://promptappgpt.wangzhishi.net/

2.3. 设置OpenAI密钥/OpenAI Api Proxy/OpenAI GPT模型。

OpenAI密钥:从OpenAI获得的API密钥。

OpenAI Api Proxy:可以访问OpenAI API的代理网站,比如国内可以使用https://api.openai-proxy.com,最好有自己搭建的代理网站。

OpenAI GPT模型:gpt-4/gpt-3.5-turbo

2.4. 选择并运行一个应用程序。

2.5. 编辑并编译该应用程序。

3. APP实例

3.1. 旅游规划大师

APP代码:

自动生成的APP界面和运行结果:

成功生成一份详细的海南旅游计划

3.2. 智能图像生成器

APP代码:(包含使用GPT生成画图Prompt和使用Dalle画图两个步骤)

使用PromptAppGPT可以让原本需要两个步骤的手动图像生成任务变成自动完成。同时不需要用户自己输入繁琐的Prompt咒语,用户只要输入自己关心的画图描述就可以了。

自动生成的APP界面和运行结果:

App首先使用GPT生成画图Prompt图片。

然后App自动调用Dalle基于GPT输出的画图Prompt生成图片图片。

下图显示最终图片生成结果图片。

GPT帮助把原本的简单描述「一只大熊猫」扩充了很多英文细节描述,比如熊猫坐在竹叶上,在森林里面,熊猫有圆耳朵等等。

这些扩充的描述让后续DALL-E画图包含更多细节,更加生动。

3.3. 多语言翻译

APP代码:

自动生成的APP界面和运行结果:

成功将中文翻译成英文

4. 应用开发

PromptAppGPT应用基于YAML格式进行低代码开发。

下面是一个示例应用代码:

---author:Leoname:旅游规划大师description:旅游规划大师gptRound:singlefailedRetries:2sysTask:userTask:-executor:gptprompt:|我想去[$i{旅游目的地:@input}]玩,请你以专业导游的身份,帮我做一份为期[$i{旅游天数:@select#1/2/3/4/5/6/7}]天的旅游攻略。另外,我希望整个流程不用太紧凑,我更偏向于安静的地方,可以简单的游玩逛逛。我的预算在[$i{旅游预算(元):@select#1000/2000/3000/4000/5000/6000/7000}]元左右。extra:

author部分是作者的名字;name部分是应用的名字;description部分是应用的描述;gptRound部分决定了是使用gpt进行单轮(single)还是多轮(multiple)对话,对于大多数应用来说,其值应该是single;failedRetries部分设置了失败时的重试次数或输出无效。

sysTask部分是一个用-分隔的任务集合,设置执行者(gpt)的行为。对于许多应用程序,这个字段可以留空。

userTask部分包含用户定义的任务,用-分隔。每个任务必须定义prompt和executor属性,而trigger、outputer和validator的属性是可选的。该应用程序有序地循环浏览用户任务,使用前一个任务的输出来匹配每个任务的trigger,第一个通过trigger匹配的任务是当前运行的任务。

作者介绍

张长旺,高级研究员,CCF理论计算机科学技术委员会委员。 曾担任第37届AAAI人工智能会议(AAAI-23)的高级程序委员会(SPC)成员。

他分别于2011年和2015年获得伦敦大学学院(UCL)的硕士和博士学位。2016年至2017年在阿里巴巴从事LBS数据挖掘,2018年至2022年在腾讯从事广告推荐和用户画像。

目前的研究方向是信息检索(搜推广)、自然语言处理、大数据挖掘的研究与应用。

参考资料:

https://github.com/mleoking/PromptAppGPT