从原理到实现教你做一个Code Interpreter

2023-12-03 19:44

本文主要是介绍从原理到实现教你做一个Code Interpreter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

▼最近直播超级多,预约保你有收获

近期直播:基于从原理到实现教你做出一个 Code Interpreter

 1

Code Interpreter 技术架构剖析 

Code Interpreter 是“一个实验性的 ChatGPT 模型”,它将 Python 代码写入 Jupyter Notebook,并在 SandBox 沙箱中执行,该沙箱具有以下几个特性:

第一、其他用户以及互联网隔离,无法上网;

第二、支持最多 100MB 文件上传/下载;

第三、预装了 343 个库;

第四、支持持久会话。

f9bf29a6c7d6ca59161666c64a350d2d.png

通过反向工程(如上图)我们看到 Code Interpreter 的底层基座并不是基于 GPT-4,而是采用了新的微调大模型 gpt-4-code-interpreter,针对代码生成进行了微调。

此外,Code Interpreter 本质上一种 AI Agent(如下图),借助 LLM 大模型的推理能力,实现了代码的生成、代码的运行、代码的异常处理等落地执行工作。

26d629e8780ff1bcbaf2878fca9e1e80.png

Code Interpreter = LLM + Planning + Memory + Use Tools.

dc36365b0350e0fa8f765cdd9d27603c.png

Code Interpreter 有输入模块,支持输入文本、文件、图片、视频等结构化和非结构化数据。

Code Interpreter 的规划能力借助 ReAct 思维链模式来把代码生成、代码运行等复杂工作拆分成简单工作。比如针对用户 Prompt 先思考(Thought)给出执行步骤,然后进行行动(Action),最后通过观察(Observation)执行结果是否完成复杂任务。

Code Interpreter 的使用工具主要是 Python 的 SandBox 沙箱环境,用于 Python 代码的自动执行。

Code Interpreter 在执行过程中借助于 Memory 记忆能力实现子任务的通信和协作。

总之,掌握好 Coder Interpreter 的技术架构和实现原理,对于 IT 人来说是一项非常重要的技能,它可以让您的 LLM 业务研发更高效和创新。

2

超干货 Code Interpreter 技术实战直播

为了帮助同学们掌握好 AI Agent 技术架构和应用案例实战,明晚20点,我会开一场直播和同学们深度聊聊:

    第一、Code Interpreter 应用场景解析

    第二、Code Interpreter 技术架构深度剖析

    第三、基于 LangChain 实现 Code Interpreter 

    第四、Code Interpreter 架构实践中的难点及解决方案

请同学点击下方按钮预约直播,咱们明晚20点不见不散哦~~

近期直播:基于从原理到实现教你做出一个 Code Interpreter

END

这篇关于从原理到实现教你做一个Code Interpreter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/450655

相关文章

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放

SpringMVC前后端传值的几种实现方式

《SpringMVC前后端传值的几种实现方式》本文主要介绍了SpringMVC前后端传值的方式实现,包括使用HttpServletRequest、HttpSession、Model和ModelAndV... 目录一、从Controller层到JSP界面1、使用HttpServletRequest的方式2、使

树莓派启动python的实现方法

《树莓派启动python的实现方法》本文主要介绍了树莓派启动python的实现方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、RASPBerry系统设置二、使用sandroidsh连接上开发板Raspberry Pi三、运