首页 > 其他分享 >PromptAppGPT:基于ChatGPT的自然语言开发框架

PromptAppGPT:基于ChatGPT的自然语言开发框架

时间:2023-06-26 11:33:26浏览次数:64  
标签:PromptAppGPT smartphone prompt executor GPT query ChatGPT 自然语言

近日首个自研全开源自然语言低代码GPT应用快速开发框架PromptAppGPT迎来重要更新。
框架简介可以参考往期文章: 真低代码!首个基于ChatGPT的自然语言开发框架PromptAppGPT:全自动编译、运行、界面生成
图片
项目网站:https://promptappgpt.wangzhishi.net/
项目代码:https://github.com/mleoking/PromptAppGPT
PromptAppGPT框架更新后增加了对网页搜索、图片搜索、网页抓取、JavaScript代码执行等多个重要执行组件的内置支持。
新的执行组件的加入和本次其他机制优化使得PromptAppGPT具备了几十行低代码实现AutoGPT这种AI自动助手的能力。
更新后PromptAppGPT将AI全自动助手的开发和运行门槛都降到了最低: 人人都可以自然语言开发, 直接打开网址点击就可以运行,不用安装任何依赖组件。
本次更新增加的My AutoGPT程序就是基于PromptAppGPT开发AI全自动助手类APP的示例。

基于PromptAppGPT 的 My AutoGPT的代码

 

---
author: Leo
name: My AutoGPT
description: Use gpt   and executors to autonomously achieve whatever goal you set.
gptRound: multiple
failedRetries: 2
autoRun: true
 
sysTask:
  - executor: gpt
    prompt: |
      Constraints:
      1. If you are unsure how you previously   did something or want to recall past events, thinking about similar events   will help you remember.
      2. No user assistance
      3. Exclusively use the commands listed   in double quotes e.g. "command name"
 
      Commands:
      1. Webpage Search:   "doSearchWeb", args: "query":   "<keywords_to_search>"
      2. Image Search:   "doSearchImage", args: "query":   "<keywords_to_search>"
      3. Task Complete:   "doCompleteTask", args: "output":   "<task_output>"
 
      Resources:
      1. Internet access for searches and   information gathering.
      2. GPT-3.5 powered Agents for   delegation of simple tasks.
 
      Performance Evaluation:
      1. Continuously review and analyze your   actions to ensure you are performing to the best of your abilities.
      2. Constructively self-criticize your   big-picture behavior constantly.
      3. Reflect on past decisions and   strategies to refine your approach.
      4. Every command has a cost, so be   smart and efficient. Aim to complete tasks in the least number of steps.
 
      You should only respond in JSON format   as described below
      Response Format:
      {
          "thoughts": {
              "text":   "thought",
              "reasoning":   "reasoning",
              "plan": "- short   bulleted\n- list that conveys\n- long-term plan",
              "criticism":   "constructive self-criticism",
              "speak":   "thoughts summary to say to user"
          },
          "command": {
              "name": "command   name",
              "args": {
                  "arg name":   "value"
              }
          }
      }
 
userTask:
  - trigger: doSearchWeb
    executor: bingWeb
    prompt: |
      query: $e{"query":   "(.*)"}
      limit: 2
    outputer: $e{RawInput} doGptNext
  - trigger: doSearchImage
    executor: bingImage
    prompt: |
      query: $e{"query":   "(.*)"}
      limit: 2
    outputer: $e{RawInput} doGptNext
  - trigger: doGptNext
    executor: gpt
    prompt: Determine which next command to   use, and respond using the format specified above.
  - trigger: doCompleteTask
    executor: log
    prompt: |
       $i{Task   Complete:@textarea=$e{"output": "(.*)"}}
  - executor: gpt
    prompt: |
      $i{My Objectives:@textarea=Objectives:
      1. Recommend the best smartphone for   business professionals in 2023.
      2. Explain why the smartphone is   recommended and show the smartphone's image.}
代码中,sysTask部分描述了助手需要遵守的约束(Constraints), 可以运行的命令(Commands),可以使用的资源(Resources),性能评估方法(Performance Evaluation),输出内容和格式规范。
userTask部分配置了助手运行需要的5种任务各自的触发条件(trigger),执行器(executor)和执行输入(prompt)。

My AutoGPT运行过程

图片
首先输入要助手完成的目标:
1. Recommend the best smartphone for business professionals in 2023.
  为商务人士推荐2023年最好的智能手机
2. Explain why the   smartphone is recommended and show the smartphone's image.
  解释智能手机的推荐理由并展示手机图片
然后点击运行。这个时候程序就开始全自动目标拆解和完成的过程:
图片
第一步,调用GPT作决策判断需要先进行网页搜索,找出2023年对于商务人士最好的智能手机列表。
第二步, 调用bingWeb搜索给出两个网页,并得出2023年商务人士最优智能手机候选: iPhone 14 Pro Max, Samsung Galaxy S22 Ultra, Google Pixel 7 Pro, Samsung Galaxy Z Fold 4, Oppo Find X5 Pro。
第三步,调用GPT作决策判断,下一步需要进一步搜索上面得到两个网页(TechRepublic vs TechRadar)观点的异同。
第四步,调用bingWeb获得了两篇报道观点异同信息。

图片

第五步,调用GPT做决策判断,通过以上步骤输入,GPT判断出iPhone 14 Pro Max是2023年对商务人士最好的智能手机; 然后GPT决策下一步需要调用图像搜索来获得这个手机的图片。
第六步,调用bingImage搜索得出iPhone 14 Pro Max的两张图片。

图片

第七步,调用GPT作决策判断,在两张图片中选择了第一张更好看的深蓝色的图片,并做出下一步决策是要完成任务(doCompleteTask)。

图片

第八步,任务完成,结果推荐了iPhone 14 Pro Max手机,并给出了推荐理由和手机的图片链接。
我们看到基于PromptAppGPT的My AutoGPT应用已经展露出大语言模型对于目标进行自动拆解、决策、利用工具、和综合最终结果的能力。
 
更新后的PromptAppGPT带有更多的插件和机制,将能支持低代码开发更加智能的大语言模型应用。
参考资料:
https://github.com/mleoking/PromptAppGPT

标签:PromptAppGPT,smartphone,prompt,executor,GPT,query,ChatGPT,自然语言
From: https://www.cnblogs.com/botai/p/PromptAppGPT.html

相关文章

  • 自然语言处理 Paddle NLP - 检索式文本问答-理论
    问答系统(QuestionAnsweringSystem,QA)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。问答系统是人工智能.抽取式阅读理解:它的答案一定是段落里的一个片段,所以在训练前,先要......
  • 零代码量化投资:用ChatGPT提取企业PDF年报中的多页表格
    企业PDF年报中有很多信息,里面表格很多,所以经常需要提取其中的表格。用ChatGPT来编程实现,非常简单。案例1:提取鑫铂股份募集说明书中的行业主要法律法规及政策表格在ChatGPT输入提示语如下:写一段Python代码,实现提取PDF文件中表格的功能。具体步骤如下:打开PDF文件,文件路径是:F:\金属材......
  • 文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题
    五、一个已排好序的数组是一个最小堆吗?文心一言:一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点x,其父节点y的值都小于等于x的值。而一个已排好序的数组只是一个有序数组,它满足任意的元素都是按从小到大的顺序排列的,但并不一定满......
  • 文心一言 VS 讯飞星火 VS chatgpt (47)-- 算法导论6.1 5题
    五、一个已排好序的数组是一个最小堆吗?文心一言:一个已排好序的数组不一定是一个最小堆。最小堆是一种特殊的二叉树,它满足以下性质:对于任意节点x,其父节点y的值都小于等于x的值。而一个已排好序的数组只是一个有序数组,它满足任意的元素都是按从小到大的顺序排列的,但并不一定......
  • !!最新ChatGPT Plus开通!!
    大纲:1.使用美国AppleID(没有的话自己注册一个)2.支付宝充值礼品卡到美区AppleID3.升级到ChatGPTPlus4.使用体验一、注册美区ID假设你已经拥有可以下载app的美区账号(账单地址记得选免税州-AK)​然后注册完打开AppStore,右上角的头像登录一下,进行切换新的AppleID。搜索“C......
  • 利用chatgpt解决单主机多实例模式Redis主从配置的报错问题:Error condition on socket
    今天在配置redis主从配置时,从实例报错:ErrorconditiononsocketforSYNC:Connectionrefused我是在单体机上配置三个实例,实现redis的一主二从。1.首先,创建三个文件夹,名字分别叫7001、7002、7003(我喜欢将应用安装在tmp下)#进入/tmp目录cd/tmp#创建目录mkdir70017......
  • ChatGPT 最好的替代品
    前两天我们邀请了微软工程师为我们揭秘ChatGPT,直播期间有个读者问到:有了ChatGPT,BERT未来还有发展前途吗?我想起来最近读过的一篇博客“最好的ChatGPT替代品”。不过聊到这俩模型,就不得不提到Transformer。作为当下最先进的深度学习架构之一,Transformer被广泛应用于自然语言......
  • 零代码量化投资:用ChatGPT下载沪深300成分股历史数据
    很多量化策略都会以沪深300成分股作为股票池。因此,沪深300成分股历史数据会经常用到。在ChatGPT输入如下提示语,就可以下载沪深300成分股历史数据:沪深300成分股:query_hs300_stocks()方法说明:通过API接口获取沪深300成分股信息,更新频率:每周一更新。返回类型:pandas的DataFrame类型。使......
  • 第六节:基于.Net的OpenAI包测试使用ChatGPT的各种Api
    一.前置1. 说明 支持多种语言,详见:https://platform.openai.com/docs/libraries/community-libraries 以.Net为例,主要有三个包  OpenAI           https://github.com/OkGoDoIt/OpenAI-API-dotnet  Betalgo.OpenAI     https://g......
  • 文心一言 VS 讯飞星火 VS chatgpt (46)-- 算法导论6.1 4题
    四、假设一个最大堆的所有元素都不相同,那么该堆的最小元素应该位于哪里?文心一言:最大堆的最小元素位于堆的根结点。由于最大堆的性质,根结点是堆中所有元素的最大值,因此它也是堆中所有元素的最小值。讯飞星火:假设一个最大堆的所有元素都不相同,那么该堆的最小元素应该位于根节点。因......