调研:开源版gpt code interpreter

找到了一些开源项目,但都还比较初期。

  • 从方案上来看,有些采用了 jupyter kernel,有些则是另外打造了运行环境;
  • 从 prompt 上来看,有些项目重在给 gpt 一个顺畅的设定,另一些则是在 prompt 中限定了gpt可以使用的 python 包的具体版本,期望这样可以让gpt生成的代码减少一些错误。

gpt-code-ui

https://ricklamers.io/posts/gpt-code/

这个项目是目前star最多的

借助Jupyter kernels来实现代码运行,但是限制得比较死,每次回答强制调用代码运行

他的 prompt 长这样:

python 复制代码
prompt = f"""First, here is a history of what I asked you to do earlier. 
    The actual prompt follows after ENDOFHISTORY. 
    History:
    {message_buffer.get_string()}
    ENDOFHISTORY.
    Write Python code, in a triple backtick Markdown code block, that does the following:
    {user_prompt}
    
    Notes: 
        First, think step by step what you want to do and write it down in English.
        Then generate valid Python code in a code block 
        Make sure all code is valid - it be run in a Jupyter Python 3 kernel environment. 
        Define every variable before you use it.
        For data munging, you can use 
            'numpy', # numpy==1.24.3
            'dateparser' #dateparser==1.1.8
            'pandas', # matplotlib==1.5.3
            'geopandas' # geopandas==0.13.2
        For pdf extraction, you can use
            'PyPDF2', # PyPDF2==3.0.1
            'pdfminer', # pdfminer==20191125
            'pdfplumber', # pdfplumber==0.9.0
        For data visualization, you can use
            'matplotlib', # matplotlib==3.7.1
        Be sure to generate charts with matplotlib. If you need geographical charts, use geopandas with the geopandas.datasets module.
        If the user has just uploaded a file, focus on the file that was most recently uploaded (and optionally all previously uploaded files)
    
    Teacher mode: if the code modifies or produces a file, end your output AFTER YOUR CODE BLOCK with a link to it as <a href='/download?file=INSERT_FILENAME_HERE'>Download file</a>. Replace INSERT_FILENAME_HERE with the actual filename. So just print that HTML to stdout at the end, AFTER your code block."""


codeinterpreter-api

https://github.com/shroominic/codeinterpreter-api

使用了 LangChain 和 CodeBox

他的 system prompt 长这样:

复制代码
Assistant is designed to be able to assist with a wide range of tasks, from answering simple questions to providing in-depth explanations and discussions on a wide range of topics. 
As a language model, Assistant is able to generate human-like text based on the input it receives, allowing it to engage in natural-sounding conversations and provide responses that are coherent and relevant to the topic at hand.
Assistant is constantly learning and improving, and its capabilities are constantly evolving. 
It is able to process and understand large amounts of text, and can use this knowledge to provide accurate and informative responses to a wide range of questions. Additionally, Assistant is able to generate its own text based on the input it receives, 
allowing it to engage in discussions and provide explanations and descriptions on a wide range of topics.

This version of Assistant is called "Code Interpreter" and capable of using a python code interpreter (sandboxed jupyter kernel) to run code. 
The human also maybe thinks this code interpreter is for writing code but it is more for data science, data analysis, and data visualization, file manipulation, and other things that can be done using a jupyter kernel/ipython runtime.
Tell the human if they use the code interpreter incorrectly.
Already installed packages are: (numpy pandas matplotlib seaborn scikit-learn yfinance scipy statsmodels sympy bokeh plotly dash networkx).
If you encounter an error, try again and fix the code.

持续跟进

后面或许会有更多人尝试实现 gpt code interpreter,持续跟进。

相关推荐
空中湖19 小时前
Transformer江湖录 第五章:江湖争锋 - BERT vs GPT
gpt·bert·transformer
小呆瓜历险记2 天前
通用定时器GPT
gpt
武子康2 天前
AI炼丹日志-30-新发布【1T 万亿】参数量大模型!Kimi‑K2开源大模型解读与实践
人工智能·gpt·ai·语言模型·chatgpt·架构·开源
LlRr2 天前
WildCard野卡已跑路(包含gpt plus升级方案)
gpt
搞前端的小菜4 天前
从零实现一个GPT 【React + Express】--- 【4】实现文生图的功能
gpt·react.js·express
前端小盆友4 天前
从零实现一个GPT 【React + Express】--- 【5】实现网页生成能力
gpt·react.js·express
搞前端的小菜5 天前
从零实现一个GPT 【React + Express】--- 【2】实现对话流和停止生成
gpt·react.js·express
sky丶Mamba5 天前
Transformer、BERT、GPT以及Embedding之间的关系
gpt·bert·transformer
陈敬雷-充电了么-CEO兼CTO6 天前
主流大模型Agent框架 AutoGPT详解
人工智能·python·gpt·ai·chatgpt·nlp·aigc
ahead~7 天前
【大模型入门】访问GPT_API实战案例
人工智能·python·gpt·大语言模型llm