真低代碼!首個(gè)基于ChatGPT的自然語(yǔ)言開發(fā)框架PromptAppGPT:全自動(dòng)編譯、運(yùn)行、界面生成
最近,CCF理論計(jì)算機(jī)科學(xué)技術(shù)委員會(huì)委員張長(zhǎng)旺,開發(fā)了一個(gè)基于低代碼提示語(yǔ)的快速應(yīng)用開發(fā)框架PromptAppGPT,可以實(shí)現(xiàn)基于GPT的自然語(yǔ)言快速應(yīng)用開發(fā)。
PromptAppGPT包含的功能有:低代碼提示語(yǔ)(Prompt)應(yīng)用開發(fā)、GPT文本生成、DALL-E圖像生成、在線代碼編輯器+編譯器+運(yùn)行器、自動(dòng)用戶界面生成、支持插件擴(kuò)展等。
項(xiàng)目網(wǎng)站:https://promptappgpt.wangzhishi.net/
項(xiàng)目代碼:https://github.com/mleoking/PromptAppGPT
PromptAppGPT提供多任務(wù)條件觸發(fā)、結(jié)果驗(yàn)證和失敗重試能力,可以讓原本需要多步驟的手動(dòng)生成任務(wù)變成自動(dòng)完成。
同時(shí),用戶不再需要自己記憶和輸入繁瑣的Prompt咒語(yǔ),只輸入任務(wù)核心必要信息就可以輕松完成任務(wù)。
1. 項(xiàng)目特點(diǎn)
- 低代碼提示語(yǔ)(Prompt)快速應(yīng)用開發(fā)
- 支持GPT3/4執(zhí)行器用于文本生成
- 支持用于圖像生成的Dalle執(zhí)行器
- 支持使用執(zhí)行器(插件)擴(kuò)展
- 內(nèi)置在線代碼編輯器、編譯器和運(yùn)行器
- 自動(dòng)生成用戶界面
- 英文和中文雙語(yǔ)用戶界面
2. 快速入門
2.1. 獲取OpenAI的API密鑰。
2.2. 訪問(wèn)網(wǎng)站PromptAppGPT網(wǎng)站,選擇網(wǎng)絡(luò)啟動(dòng)或下載程序:
https://promptappgpt.wangzhishi.net/
2.3. 設(shè)置OpenAI密鑰/OpenAI Api Proxy/OpenAI GPT模型。
OpenAI密鑰:從OpenAI獲得的API密鑰。
OpenAI Api Proxy:可以訪問(wèn)OpenAI API的代理網(wǎng)站,比如國(guó)內(nèi)可以使用https://api.openai-proxy.com,最好有自己搭建的代理網(wǎng)站。
OpenAI GPT模型:gpt-4/gpt-3.5-turbo
2.4. 選擇并運(yùn)行一個(gè)應(yīng)用程序。
2.5. 編輯并編譯該應(yīng)用程序。
3. APP實(shí)例
3.1. 旅游規(guī)劃大師
APP代碼:
自動(dòng)生成的APP界面和運(yùn)行結(jié)果:
成功生成一份詳細(xì)的海南旅游計(jì)劃
3.2. 智能圖像生成器
APP代碼:(包含使用GPT生成畫圖Prompt和使用Dalle畫圖兩個(gè)步驟)
使用PromptAppGPT可以讓原本需要兩個(gè)步驟的手動(dòng)圖像生成任務(wù)變成自動(dòng)完成。同時(shí)不需要用戶自己輸入繁瑣的Prompt咒語(yǔ),用戶只要輸入自己關(guān)心的畫圖描述就可以了。
自動(dòng)生成的APP界面和運(yùn)行結(jié)果:
App首先使用GPT生成畫圖Prompt圖片。
然后App自動(dòng)調(diào)用Dalle基于GPT輸出的畫圖Prompt生成圖片圖片。
下圖顯示最終圖片生成結(jié)果圖片。
GPT幫助把原本的簡(jiǎn)單描述「一只大熊貓」擴(kuò)充了很多英文細(xì)節(jié)描述,比如熊貓坐在竹葉上,在森林里面,熊貓有圓耳朵等等。
這些擴(kuò)充的描述讓后續(xù)DALL-E畫圖包含更多細(xì)節(jié),更加生動(dòng)。
3.3. 多語(yǔ)言翻譯
APP代碼:
自動(dòng)生成的APP界面和運(yùn)行結(jié)果:
成功將中文翻譯成英文
4. 應(yīng)用開發(fā)
PromptAppGPT應(yīng)用基于YAML格式進(jìn)行低代碼開發(fā)。
下面是一個(gè)示例應(yīng)用代碼:
---
author: Leo
name: 旅游規(guī)劃大師
description: 旅游規(guī)劃大師
gptRound: single
failedRetries: 2
sysTask:
userTask:
- executor: gpt
prompt: |
我想去 [$i{旅游目的地:@input}] 玩,請(qǐng)你以專業(yè)導(dǎo)游的身份,幫我做一份為期 [$i{旅游天數(shù):@select#1/2/3/4/5/6/7}] 天的旅游攻略。
另外,我希望整個(gè)流程不用太緊湊,我更偏向于安靜的地方,可以簡(jiǎn)單的游玩逛逛。
我的預(yù)算在 [$i{旅游預(yù)算(元):@select#1000/2000/3000/4000/5000/6000/7000}] 元左右。
extra:
author部分是作者的名字;name部分是應(yīng)用的名字;description部分是應(yīng)用的描述;gptRound部分決定了是使用gpt進(jìn)行單輪(single)還是多輪(multiple)對(duì)話,對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō),其值應(yīng)該是single;failedRetries部分設(shè)置了失敗時(shí)的重試次數(shù)或輸出無(wú)效。
sysTask部分是一個(gè)用-分隔的任務(wù)集合,設(shè)置執(zhí)行者(gpt)的行為。對(duì)于許多應(yīng)用程序,這個(gè)字段可以留空。
userTask部分包含用戶定義的任務(wù),用-分隔。每個(gè)任務(wù)必須定義prompt和executor屬性,而trigger、outputer和validator的屬性是可選的。該應(yīng)用程序有序地循環(huán)瀏覽用戶任務(wù),使用前一個(gè)任務(wù)的輸出來(lái)匹配每個(gè)任務(wù)的trigger,第一個(gè)通過(guò)trigger匹配的任務(wù)是當(dāng)前運(yùn)行的任務(wù)。
作者介紹
張長(zhǎng)旺,高級(jí)研究員,CCF理論計(jì)算機(jī)科學(xué)技術(shù)委員會(huì)委員。 曾擔(dān)任第37屆AAAI人工智能會(huì)議(AAAI-23)的高級(jí)程序委員會(huì)(SPC)成員。
他分別于2011年和2015年獲得倫敦大學(xué)學(xué)院(UCL)的碩士和博士學(xué)位。2016年至2017年在阿里巴巴從事LBS數(shù)據(jù)挖掘,2018年至2022年在騰訊從事廣告推薦和用戶畫像。
目前的研究方向是信息檢索(搜推廣)、自然語(yǔ)言處理、大數(shù)據(jù)挖掘的研究與應(yīng)用。
參考資料:https://github.com/mleoking/PromptAppGPT