如何开发一款 ChatGPT 代码解释器插件

让没有 ChatGPT Plus 会员的小伙伴也能用上低配版代码解释器(Code Interpreter)功能,秘诀就是自己造轮子,话不多少,先看效果,然后我会讲解具体实现,最后送上源码。

效果演示

执行代码

按照需求写代码并自动进行代码功能测试验证,比如写一个限流算法

执行代码演示

执行代码演示

数据分析

获取国家统计局下载各省年度 GDP 数据,直接上传文件比较四个直辖市 GDP 数据

数据分析演示

数据分析演示

实现原理

代码解释器(Code Interpreter)实际上就是一个 REPL(读取-评估-打印循环),例如给它一个文件(例如 CSV 文件),然后可以要求它转换文件或从文件中提取一些信息,甚至使用该文件作为计算的输入。既然已经有 API(GPT-4 和 GPT-3.5) 可用于访问代码解释器的底层模型,再叠加 Prompt 工程,是存在构建自己本地版本的可能的,即 REPL + LLM ,一个通过执行代码来完成日常任务的个性化工具,下面就是应用架构 👇

应用架构图

应用架构图

Jupyter kernel process 解释
  1. Jupyter 内核与具体语言无关
  2. 它提供了一个计算内核,相当于一个可以执行代码的环境
  3. 这个内核通过一种协议与外界交互,这种协议将用户的标准输入(stdin)连接到内核的 REPL(Read Evaluate Print Loop,读取评估打印循环)
  4. 内核执行代码后,将执行结果、标准输出(stdout)和标准错误(stderr)反馈回来,显示给用户
  5. 通过这种协议,Jupyter 内核可以执行任何语言的代码,并将执行结果返回给用户

Jupyter 内核协议主要定义了

  • 消息类型:stdin、stdout 等不同类型的消息格式
  • 消息封装:使用 JSON 格式封装消息
  • 通信模式:请求-回复、推送等模式
  • 接口方法:内核需要实现的接口方法,如执行代码、代码完成等

在这一协议基础上,可以用任意通信机制来实现内核和客户端之间的交互,这里采用了 snakeMQ(Python 实现的消息队列库),理论上也可以用 HTTP 请求、用 WebSocket 等实现。

整体执行流程
  1. 用户在页面输入指令,发送到 Flask 应用后端
  2. 后台结合设计好的 Prompt 将用户的指令转换后发送到 LLM
  3. 获得 LLM 的响应(代码内容)后,Flask 通过 SmakeMQ 将代码内容发送到 Jupyter 内核
  4. Jupyter 执行后,将结果通过 Flask 接口返回到(Stream 流的方式)前端
  5. 页面展示结果
Python 包制作

最后将使用 React 构建的 SPA 打包到 Python 包中,再把这个 Python 包发布到 PyPI。这个思路借鉴了 Streamlit,但是技术细节上不同,Streamlit 原先用的是 CRACO 来配置 React 应用,这里使用更先进的 Vite 来打包 SPA。简单来说,就是将前端代码打包到后端 Python 包中,以实现前后端集成部署。

名词解释

  • SPA:Single Page Application 网页单页应用
  • CRACO:Create React App Configuration Override,一种工具,可以修改 Create React App 生成的默认配置,让开发者可以自定义配置
  • Vite:一种新型前端构建工具,能够显著提升前端开发体验
  • Streamlit:一个开源应用程序框架,旨在简化为机器学习和数据科学构建 Web 应用程序的过程
支持的功能列表
  • 文件上传
  • 文件下载
  • 多轮对话(上下文感知意图)
  • 生成代码
  • 运行代码(Jupyter 内核)
  • 模型切换(GPT-3.5 和 GPT-4)

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

资源分享

图片

大模型AGI学习包

图片

图片

资料目录

  1. 成长路线图&学习规划
  2. 配套视频教程
  3. 实战LLM
  4. 人工智能比赛资料
  5. AI人工智能必读书单
  6. 面试题合集

人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

图片

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩

图片

3.LLM

大家最喜欢也是最关心的LLM(大语言模型)

图片

人工智能\大模型入门学习大礼包》,可以扫描下方二维码免费领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值