ChatGPT-Plus及GPT-4实验性功能

7/24/2023 ChatGPT-PlusGPT-4GPT-4VChatGPT插件Code-InterpreterDALL·E3

# 1. ChatGPT Plus及GPT-4

# 1.1 ChatGPT Plus服务

# 1.1.1 ChatGPT Plus简介

ChatGPT Plus 是基于 ChatGPT 的月订阅升级方案,价格为20美刀 / 月,它可以提供更快的回应速度、更高的可用性以及优先使用到新功能的权限。

与原版 ChatGPT 相比,ChatGPT Plus 有以下三个最大的差异:

  • 使用 GPT-4 的权限:GPT-4 仅开放给订阅 ChatGPT Plus 的用户,未订阅的使用者只能用 GPT-3.5。但需注意,GPT-4 有每三小时使用 50 次的上限,即便是 ChatGPT Plus 的订阅用户也没办法一直使用 GPT-4。
  • 回应速度更快:ChatGPT Plus 回答问题的速度更快。
  • 优先使用新功能:ChatGPT Plus 的用户可以优先使用到新功能,例如:Custom instructions、Plugins 和 Code Interpreter 等功能。

# 1.1.2 开通ChatGPT Plus

2023.5.19,ChatGPT 官方 iOS APP 已上线,可以直接App Store充值ChatGPT Plus了,解决了付费难的问题。用美区Apple ID可以下载,国区商店里搜不到,网页版本的历史记录也是同步的,可以随时查看。使用时需要开着代理,不然无法访问,由于用的还是自己的 ChatGPT 账号,为了防止被封号,还是建议不要用亚洲节点。

ChatGPT的官方IOS-APP

这里使用ChatGPT官方iOS APP的方式开通ChatGPT Plus,通过美区Apple Store充值(支持:Visa、 MasterCard、 Discover、美国运通卡、PayPal,都没有的话可以去淘宝买美区礼品卡)。

开通ChatGPT-Plus

注意事项:

  • 如果点击订阅出现“In-app purchases are currently unavailable. Please try again later.”,更换节点即可。
  • 开通了ChatGPT plus之后,目前每3小时只能使用40次GPT-4(之前限额还是50的,OpenAI首届开发者大会之后将其调小了)

# 1.2 GPT-4大模型

# 1.2.1 GPT-4简介

GPT-4 是一个大规模的多模态模型,能够接受图像和文本输入并产生文本输出。 虽然在许多现实世界的场景中比人类表现差一些,但GPT-4 在各种专业和学术基准测试中表现出人类水平的性能,包括在模拟的律师考试中获得了排名前10%的分数。

# 1.2.2 GPT-4使用示例

评价模型好坏要测试逻辑题,生成式的题目各种大模型回答都不会太差,而逻辑性强的题目立马拉开差距。可以通过如下问题判断是不是 GPT-4 模型。

  • 鲁迅为什么暴打周树人?GPT-3.5 会一本正经的胡说八道。GPT-4 表示鲁迅和周树人是同一个人。
  • 我爸妈结婚时为什么没有邀请我?GPT-3.5 他们当时认为你还太小,所以没有邀请你。GPT-4 他们结婚时你还没出生。

GPT-4效果

注:如果使用GPT-4时遇到 There was a problem preparing your chat. Please refresh the page and try again. 错误,而GPT3.5可以正常使用,换代理节点即可。

# 1.2.3 GPT-4V使用示例

2023年10月,开放了GPT-4V的多模态识图能力,可以基于图片进行问答了。详细介绍 (opens new window)

GPT4的多模态识图能力

注:CogVLM (opens new window) 是多模态识图的开源实现。

CogVLM

# 1.2.4 合并版GPT-4使用示例

2023年11月6日,首届OpenAI开发者大会之后,所有功能被合并在了一起,使用时会自动判断,不用再选择用哪个了。以下是一个结合 GPT-4V 和 DALL·E 3 能力的使用示例。

合并版GPT-4使用示例

# 1.3 Copliot免费使用GPT-4

2023年12月底,微软的Copliot出iOS客户端了,在美区Apple Store下载(国区未上架),不需要登录,即可免费使用GPT-4,不过使用该应用时需要开代理(建议全局代理,我一开始使用规则分流告知不支持地区)。另外,安卓也有该客户端,也能免费使用GPT-4。

Copliot免费使用GPT-4

另注:底层是调用了 OpenAI API,所以如果你有 Github Copilot 账号的话,可以白嫖GPT-4 API了,需要填写 Github Copilot Token。

通过Copliot白嫖GPT-4的API

# 2. ChatGPT Plus实验性功能

# 2.1 开启实验性功能

需要ChatGPT Plus才可以使用,Settings——Beta features——开启所需要的实验性功能。

开启ChatGPT实验性功能

# 2.2 Custom instructions

Custom instructions 功能,可以让 ChatGPT 永远记住你是谁,你想干什么。官方详细介绍:custom-instructions-for-chatgpt (opens new window)

Custom-instructions功能

# 2.3 ChatGPT Plugins

# 2.3.1 基本介绍

ChatGPT插件是一种通过将ChatGPT模型集成到网站或应用程序中,使其能够自动回答用户提出的问题或提供相关信息的工具。它可以为用户提供快速、实时和个性化的响应,增强用户体验。

Plugin 的推出意味着 OpenAI 正在追求平台化。做个不恰当的比喻,如果把 OpenAI 相当于苹果公司,那么 GPT 模型相当于 iPhone,推出的插件系统则相当于 App Store。

ChatGPT Plugins 与 LangChain 的比较:

ChatGPT Plugins LangChain
自研模型是否可用 可以
是否开源 框架闭源,部分插件开源 完全开源
开发语言 任何编程语言 nodejs和python
程序本地运行 调试模式可用localhost 可以
权限控制 支持 支持

对于LangChain不够了解的话可以看下我的另一篇博客:LangChain及LangFlow使用指南 (opens new window)

# 2.3.2 插件商店

目前ChatGPT Plugins对全部 ChatGPT Plus 用户开放使用,但成为插件开发者需要加入ChatGPT Plugins Developer白名单。开发的插件通过OpenAI的审核后,会加入到Plugins Store中开放给全部的用户使用。

成为ChatGPT插件开发者,需要满足以下三个条件:

使用该功能需要GPT-4,模式选择Plugins,之后进入 Plugin store 安装你所需要的插件。

ChatGPT插件商店

# 2.3.3 使用示例

我们都知道ChatGPT的数学不太好,这里我们引入了 Wolfram 插件,再让它来解决数学问题。

ChatGPT使用Wolfram插件解决数学问题

我们也知道ChatGPT给出的论文地址经常是瞎编的,引入该插件之后,现在给出的论文链接都是真实可用的了。

Consensus论文检索ChatGPT插件

# 2.4 Code interpreter

# 2.4.1 基本介绍

2023年7月,OpenAI发布了一个强大功能 Code Interpreter,它的中文意思是“代码解释器”,不过它并不是用来解释代码的,而是用来执行代码,例如Python解释器就是用来执行Python代码的。在该模式下用户可以上传文件,Code Interpreter能根据用户的提示自己编写代码自己执行并输出结果。

该功能需要GPT-4,模式选择Code Interpreter(之后的更新里,Code Interpreter 改名为 Advanced Data Analysis,支持了多文件上传),以下是一些使用示例。

# 2.4.2 使用示例

[1] 基于文档问答

我们可以使用它来总结本地文档,比如我让它帮我总结一篇论文。

Prompt:总结一下这篇论文的主要思想【上传了yolov7的论文文件】

ChatGPT-Code-interpreter基于文档问答

[2] 生成二维码

我们可以使用它生成一个二维码,生成的二维码是可以扫的,点击“show work”能够看到具体的代码。

Prompt:请帮我生一个二维码,链接指向 https://www.eula.club/

ChatGPT-Code-interpreter生成二维码

[3] 处理图片

能对图片进行一些简单的处理,比如图片的裁剪、缩放、旋转、或提取图像的颜色信息,但是对于抠图或者是图片OCR等操作目前还不支持,也没有 Midjounery 那样的生成图片的能力。

Prompt:将图片转换成png格式【上传了jpeg格式的图片】

ChatGPT-Code-interpreter处理图片

[4] 数据分析

它的数据分析功能非常强大,会自己将问题进行分解,遇到问题时也可以自己修复。

Prompt:该文件是某化工生产过程每2h的浓度读数(逐行排列),使用ARIMA序列对这一生产过程进行10步预测。【上传了Excel数据文件】

ChatGPT-Code-interpreter数据分析

# 2.5 Browse with Bing

2023年10月,ChatGPT Plus订阅者支持使用Bing进行联网了,不再局限于 2021年 9月之前的数据了,也不再依赖于插件联网了。

ChatGPT使用Bing联网

# 2.6 DALL·E 3

2023年10月,ChatGPT Plus订阅者可以使用 DALL·E 3 文生图功能了。其他文生图的主流工具详见我的另一篇博客:使用Stable-Diffusion实现AI绘画 (opens new window)

Prompt: A paper craft art depicting a girl giving her cat a gentle hug. Both sit amidst potted plants, with the cat purring contentedly while the girl smiles. The scene is adorned with handcrafted paper flowers and leaves.

DALL·E3文生图效果

# 3. 代码解释器的开源实现

尽管 OpenAI 的 Code interpreter 非常强大,但它也有一些特定的限制。OpenAI的解决方案是托管的,它在受控的远程环境中运行,限制了开发人员对本地设置的控制。这导致了一些明显的限制,比如无法访问互联网、有限的预安装软件包、最大上传大小为100MB以及运行时间限制为120秒。而且,当环境终止时,任何生成的文件或链接都会丢失,对于长时间运行的任务可能会带来不便。

# 3.1 gpt-code-ui

# 3.1.1 项目简介

gpt-code-ui 是 OpenAI 的 ChatGPT 代码解释器的开源实现。其功能特性有:上传文件、文件下载、上下文感知(可以参考之前的消息)、生成代码、运行代码(Python内核)、模型切换(GPT-3.5和GPT-4)

项目地址:https://github.com/ricklamers/gpt-code-ui (opens new window)

# 3.1.2 实现原理

实现原理:它的架构并不算复杂,用Flask运行Web服务,代码运行部分借助Jupyter kernel process,通过Kernel manager在Flask和Jupyter之间通信。UI部分是React做的,用户输入后,将输入转换成Prompt,借助OpenAI对任务分解并生成Python代码在Jupyter中执行。

gpt-code-ui实现原理

# 3.1.3 项目部署

项目运行:我是在Debian11服务器上跑的,Python版本3.9.2。

$ pip3 install gpt-code-ui
$ gptcode
1
2

项目启动后,访问 http://ip:8080/ 地址,点击 Set OpenAl key 按钮,填写上API-KEY,这里我使用的模型是GPT-3.5。

# 3.1.4 使用示例

这里依旧让它生成一个二维码,执行后它告诉我少依赖。

gpt-code-ui使用效果-1

告诉它把那个依赖安装上,成功运行出了结果。

gpt-code-ui使用效果-2

# 3.1.5 总体评价

可以实现代码解释器的基本功能,但没有那么智能,遇到报错还需要人去告诉它怎么做,不像OpenAI的可以全自动实现,实际意义不大。

# 3.2 Open Interpreter

# 3.2.1 项目简介

Open Interpreter是一个开源工具,提供交互式和编程聊天功能,让用户可以通过在终端中运行解释器与其进行对话。开发人员可以编写任务和工作流程脚本,直接传递消息给解释器,以便更精确地控制。用户可以检查和配置系统消息,以满足个人偏好和项目要求的灵活性。

  • Open Interpreter 不仅仅是另一个编码解释器。它是一个专注于复杂任务的强大工具,允许语言模型在您的计算机上运行代码,以完整地编写应用程序、任务等。它是 OpenAI 代码解释器的实现,可以运行 GPT-4 和其他模型,支持 Python、JavaScript、Shell 等语言的代码。
  • Open Interpreter 的独特功能之一是其终端中类似聊天的界面,允许用户以更直观和用户友好的方式与之交互。该解释器不仅可以编写代码,还可以创建和编辑照片、视频、PDF 和其他文件。它可以控制网络浏览器进行网络搜索,并通过网络上的不同区域进行搜索,以实现并提供必要的链接。

项目地址:https://github.com/KillianLucas/open-interpreter (opens new window)

# 3.2.2 核心特点

Open Interpreter 的核心特点包括:

  • 互联网访问自由:在本地运行的 Open Interpreter 可以完全访问互联网,允许免费访问外部API和数据库,提高项目的灵活性。
  • 包和库选择:Open Interpreter允许使用任何包或库,使您能够选择最适合您项目的工具。
  • 无限的运行时间和文件大小:Open Interpreter没有执行时间或文件大小的限制,可以顺利进行大规模数据分析和计算处理。
  • 确保安全性:在执行代码之前,Open Interpreter需要用户确认,以防止执行未经授权的代码,提高安全性。
  • 开源免费:Open Interpreter是一个开源项目,对于初创公司和个人开发人员来说,降低成本是一个重要优势。
  • 支持多种编程语言:Open Interpreter不仅支持Python,还支持JavaScript、Bash等多种编程语言,适用于更广泛的应用程序。

# 3.2.3 竞品对比

与 OpenAI 的 Code Interpreter相比,Open Interpreter 提供了更多可能性,包括互联网访问、预装软件包没有限制、没有最大上传限制。此外,当环境终止时,状态不会被清除,从而允许用户继续使用以前的项目。

项目 Open Interpreter OpenAI Code Interpreter
上网 在本地工作,完全可访问 基于云托管,访问受限
可用软件包 可以使用任何包或库 仅预安装
执行时间和文件大小 无限制 有限的运行时间和文件大小
安全 需要用户确认以防止恶意代码 不同的用户验证流程
收费 免费(开源) $ 20 /月(付费计划)
支持各种编程语言 Python、JavaScript、Bash 等 仅限Python

# 3.2.4 安装配置

首先,安装 open-interpreter 依赖。

$ pip3 install open-interpreter
1

安装完成后,在 Terminal 输入 interpreter -y 就可以启动 Open Interpreter。默认会提示输入 OpenAI API key,配置了该项会使用 GPT-4 执行,否则使用本地 Code-LLama 执行。如果使用 Code-LLama 在本地运行它,模型大小从 3GB 到 30GB 不等。

我这里选择使用效果最佳的 GPT-4 去执行,OpenAI API key 的充值详见我的另一篇博客:ChatGPT智能问答AI使用指南 (opens new window)

$ interpreter -y 
1

Open-Interpreter配置API-KEY

# 3.2.5 使用示例

[1] 求解数学问题

Prompt:对x^2cos(2x)求积分

Open-Interpreter求解数学问题

注:结果不完全对,对它求不定积分,最后的结果里应该还有个 + C

[2] 联网支持

Prompt:请总结一下 https://about.fb.com/news/2023/08/code-llama-ai-for-coding/ 这篇文章,结果用中文输出

Open-Interpreter联网支持

注:处理的中间过程有大量报错,有时会陷入死循环,试了好几次才成功跑出来结果。

# 3.2.6 总体评价

有详细的步骤分解,遇到各种报错都可以自动解决,在使用GPT-4作为LLM时,效果已经于OpenAI官方的代码解释器很接近了。

注意运行时需要有人盯着,发现不对劲及时终止,防止遇到某些报错的时候,它解决不了,一直循环同一个解决方案,钱哗哗的就流走了。

Open-Interpreter循环同一方案解决报错的问题

由于中间过程有时会遇到大量的报错,在使用 GPT-4 作为 LLM 时,API Key 的成本还挺高的,尝试了几个复杂需求就花费了我 5.75 美刀。

测试Open-Interpreter的成本

# 4. 根据网页截图生成静态页面代码

# 4.1 screenshot-to-code简介

一个开源的 Web 应用,用户上传一张网页截图,它会通过 OpenAI API,给出该网页的 HTML/Tailwind/JS 代码实现。

screenshot-to-code

# 4.2 安装项目依赖并启动项目

# 4.2.1 拉取代码并安装pipx及poetry环境

从项目的Github仓库拉取项目代码。

$ git clone https://github.com/abi/screenshot-to-code.git
1

pipx:类似于 macOS 上的 brew,pipx 依赖 pip 和 venv,它只能在 python 3.6+ 的 Python 版本中才能使用。

poetry:如果想使用pyproject.toml,并通过pyproject.toml进行依赖包管理,目前pip还不支持,所以poetry是首选。

$ brew install pipx
$ pipx --version
$ pipx install poetry
$ pipx ensurepath   // 自动更新环境变量
$ poetry --version  // 需要重新打开终端
1
2
3
4
5

poetry环境

# 4.2.3 前后端安装依赖并启动

后端安装依赖并启动:

$ cd backend
$ echo "OPENAI_API_KEY=sk-your-key" > .env
$ poetry install
$ poetry shell
$ poetry run uvicorn main:app --reload --port 7000
1
2
3
4
5

前端安装依赖并启动:

$ cd frontend
$ yarn
$ yarn dev
1
2
3

# 4.3 使用项目

使用Chrome浏览器打开 http://localhost:5173 (opens new window) 地址,上传一张网页截图,它就会自动生成前端代码,但不完全一样,稍微复杂点儿的页面就缺胳膊少腿的,可以根据生成效果继续让它迭代调整。

screenshot-to-code生成的页面效果

在Code处可以查看代码,也可以将它下载下来。

screenshot-to-code生成的代码

总体评价:生成的效果还凑合,不过不是完全一致的,少了很多东西,现在只能出雏形,感觉这个东西适合懂点儿前端技术的产品经理或者UI设计快速抄原型用。

# 5. 参考资料

[1] GPT-4技术文档 from 知乎 (opens new window)

[2] GPT-4大模型硬核解读,看完成半个专家 from 36 kr (opens new window)

[3] ChatGPT Plus官方推荐新手教程 from AI理性派思考者 (opens new window)

[4] 国内开通Chat GPT Plus保姆级教程 from AI理性派思考者 (opens new window)

[5] 保姆级教程 | 手把手教你如何开通 ChatGPT Plus 试用 GPT-4 from 墨天轮 (opens new window)

[6] ChatGPT Code Interpreter 能做哪些事 from FOOFISH (opens new window)

[7] 编写我自己的 ChatGPT 代码解释器 from Rick Lamers' blog (opens new window)

[8] 调研:开源版gpt code interpreter from CSDN (opens new window)

[9] 了解ChatGPT插件-看看这一篇文章吧 from 稀土掘金 (opens new window)

[10] ChatGPT获得了「Wolfram」超能力 from 智源社区 (opens new window)

[11] ChatGPT上线“论文神器”插件!无需关键字即可搜索2亿文章,链接绝对保真 from 知乎 (opens new window)

[12] Open Interpreter:OpenAI Code Interpreter的开源实现|本地化|可联网 from 知乎 (opens new window)

[13] cocopilot-gpt: 将GitHub Copilot转为API使用 from CaoYunzhou (opens new window)

Last Updated: 1/6/2024, 4:05:53 PM