调研:开源版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,持续跟进。

相关推荐
hunteritself1 天前
Sam Altman:年底将有重磅更新,但不是GPT-5!
人工智能·gpt·深度学习·chatgpt·openai·语音识别
知来者逆2 天前
基于ChatGPT 的人工智能代理挖掘化学文献的演变探索
人工智能·gpt·语言模型·自然语言处理·chatgpt·gpt-4v
搬砖的小码农_Sky3 天前
ChatGPT中的“GPT”是什么含义?
人工智能·gpt·深度学习·chatgpt·agi
云起无垠4 天前
第73期 | GPTSecurity周报
人工智能·gpt·安全
obullxl4 天前
深入解析 Transformers 框架(四):Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解
人工智能·gpt·ai·transformers·qwen2.5·bpe
李歘歘4 天前
万字长文解读深度学习——GPT、BERT、T5
gpt·深度学习·bert·t5
知来者逆4 天前
Gen-RecSys——一个通过生成和大规模语言模型发展起来的推荐系统
人工智能·gpt·语言模型·自然语言处理·llm·推荐算法·多模态
WCF向光而行5 天前
【GPT使用技巧】用AI出一门课
人工智能·gpt·chatgpt
努力学习的啊张5 天前
ChatGPT 新体验:AI 搜索功能与订阅支付指南
java·人工智能·gpt·opencv·ai·chatgpt·eclipse
z千鑫5 天前
【人工智能】利用大语言模型(LLM)实现机器学习模型选择与实验的自动化
人工智能·gpt·机器学习·语言模型·自然语言处理·自动化·codemoss