OpenCodeInterpreter
OpenCodeInterpreter 是一套开源代码生成系统,旨在缩小大型语言模型与 GPT-4 代码解释器等高端专有系统之间的差距。它不仅仅停留在生成代码文本,更通过集成“代码执行”与“迭代优化”功能,让模型能够运行生成的代码、捕获错误并自动修正,从而显著提升了解决复杂编程任务的准确率。
这一工具主要解决了传统代码大模型“只写不跑”的痛点。以往模型生成的代码若存在逻辑错误或环境依赖问题,往往需要人工介入调试;而 OpenCodeInterpreter 引入了执行反馈机制,模拟了人类开发者“编写 - 运行 - 调试”的闭环工作流,大幅降低了代码出错率。数据显示,在引入执行反馈后,其模型在 HumanEval 和 MBPP 等权威基准测试中的表现得到了质的飞跃,其中 33B 版本曾在 BigCode 榜单上名列前茅。
OpenCodeInterpreter 非常适合软件开发者、AI 研究人员以及需要自动化代码辅助的技术团队使用。开发者可将其集成到工作流中辅助编程或调试,研究人员则能利用其开源的模型权重(涵盖 1.3B 至 33B 多种规模)及配套的 Code-Feedback 数据集,深入探索代码智能领域。该项目完全开源,提供了从模型、数据到本地部署指南的完整资源,是构建本地化智能编程助手的理想选择。
使用场景
数据分析师小李需要处理一份包含脏数据的销售 CSV 文件,要求清洗异常值并绘制趋势图,同时验证计算逻辑的准确性。
没有 OpenCodeInterpreter 时
- 代码执行靠猜:生成的代码若存在语法错误或依赖缺失,只能盲目复制报错信息反复询问,无法直接运行验证。
- 调试循环漫长:遇到逻辑漏洞(如除零错误)时,需人工逐行排查,多次“生成 - 复制 - 本地运行 - 反馈”的循环极度耗时。
- 结果不可控:模型无法感知代码实际运行结果,常产生看似合理但计算错误的“幻觉”代码,导致分析结论偏差。
- 复杂任务断裂:涉及多步数据处理(清洗->转换->绘图)时,一旦中间步骤出错,整个流程需推倒重来,缺乏自动修正能力。
使用 OpenCodeInterpreter 后
- 即时执行反馈:OpenCodeInterpreter 内置执行环境,生成代码后立即运行并捕获报错,直接基于真实错误日志进行修正。
- 自动迭代优化:面对运行失败,它能利用执行反馈自动重写代码,无需人工干预即可解决依赖冲突或逻辑漏洞。
- 结果精准可信:通过“生成 - 执行 - 修正”的闭环,确保输出的图表和数据统计完全基于实际运行结果,消除逻辑幻觉。
- 全流程自动化:在处理复杂的多步任务时,即使中间环节出错,也能自主回溯并修复,一气呵成完成从清洗到可视化的全过程。
OpenCodeInterpreter 通过将代码执行与迭代修正融入生成过程,把原本碎片化、高试错成本的编程辅助,升级为能自主闭环解决复杂问题的智能结对伙伴。
运行环境要求
- 未说明
未说明 (需根据所选模型大小自行配置,如运行 33B/70B 模型通常需要多卡或高显存 GPU)
未说明

快速开始
OpenCodeInterpreter:将代码生成与执行、精炼相结合
[🏠首页] |[📄arXiv] | [🤗HF论文] | [📊数据集] | [🤖模型] | [🛠️代码]
🌟 即将推出的功能
🔔新闻
🏆[2024-03-13]:我们的33B模型已在BigCode排行榜上荣登榜首!
💡[2024-03-06]:我们已将OpenCodeInterpreter-DS系列模型的成绩提交至EvalPlus!
💡[2024-03-01]:我们开源了基于StarCoder2基础的OpenCodeInterpreter-SC2系列模型!
🛠️[2024-02-29]:我们的官方在线演示已在HuggingFace Spaces上部署!请查看演示页面!
🛠️[2024-02-28]:我们开源了演示的本地部署代码,并附带设置指南。
✨[2024-02-26]:我们开源了OpenCodeInterpreter-DS-1.3b模型。
📘[2024-02-26]:我们开源了CodeFeedback-Filtered-Instruction数据集。
🚀[2024-02-23]:我们开源了项目中使用的名为Code-Feedback的数据集。
🔥[2024-02-19]:我们已开源OpenCodeInterpreter系列的所有模型!欢迎大家试用我们的模型,并期待您的参与!😆
简介
OpenCodeInterpreter是一套开源的代码生成系统,旨在弥合大型语言模型与GPT-4 Code Interpreter等复杂专有系统之间的差距。它通过集成执行和迭代精炼功能,显著提升了代码生成能力。
模型
OpenCodeInterpreter系列的所有模型均已开源至Hugging Face。您可通过以下链接访问我们的模型:OpenCodeInterpreter模型。
OpenCodeInterpreter模型系列体现了编码模型性能的演进,尤其突出了执行反馈集成所带来的显著提升。为量化这些改进,我们在两个关键基准——HumanEval和MBPP——上进行了详细对比。此次对比不仅展示了各基准上的单独性能指标,还提供了整体性能提升的综合视图。下表简洁地概括了性能数据,清晰地呈现了执行反馈如何提升模型在代码解释与执行任务中的能力。
| 基准 | HumanEval (+) | MBPP (+) | 平均值 (+) |
|---|---|---|---|
| OpenCodeInterpreter-DS-1.3B | 65.2 (61.0) | 63.4 (52.4) | 64.3 (56.7) |
| + 执行反馈 | 65.2 (62.2) | 65.2 (55.6) | 65.2 (58.9) |
| OpenCodeInterpreter-DS-6.7B | 76.2 (72.0) | 73.9 (63.7) | 75.1 (67.9) |
| + 执行反馈 | 81.1 (78.7) | 82.7 (72.4) | 81.9 (75.6) |
| + 合成人类反馈 | 87.2 (86.6) | 86.2 (74.2) | 86.7 (80.4) |
| + 合成人类反馈(Oracle) | 89.7 (86.6) | 87.2 (75.2) | 88.5 (80.9) |
| OpenCodeInterpreter-DS-33B | 79.3 (74.3) | 78.7 (66.4) | 79.0 (70.4) |
| + 执行反馈 | 82.9 (80.5) | 83.5 (72.2) | 83.2 (76.4) |
| + 合成人类反馈 | 88.4 (86.0) | 87.5 (75.9) | 88.0 (81.0) |
| + 合成人类反馈(Oracle) | 92.7 (89.7) | 90.5 (79.5) | 91.6 (84.6) |
| OpenCodeInterpreter-CL-7B | 72.6 (67.7) | 66.4 (55.4) | 69.5 (61.6) |
| + 执行反馈 | 75.6 (70.1) | 69.9 (60.7) | 72.8 (65.4) |
| OpenCodeInterpreter-CL-13B | 77.4 (73.8) | 70.7 (59.2) | 74.1 (66.5) |
| + 执行反馈 | 81.1 (76.8) | 78.2 (67.2) | 79.7 (72.0) |
| OpenCodeInterpreter-CL-34B | 78.0 (72.6) | 73.4 (61.4) | 75.7 (67.0) |
| + 执行反馈 | 81.7 (78.7) | 80.2 (67.9) | 81.0 (73.3) |
| OpenCodeInterpreter-CL-70B | 76.2 (70.7) | 73.0 (61.9) | 74.6 (66.3) |
| + 执行反馈 | 79.9 (77.4) | 81.5 (69.9) | 80.7 (73.7) |
| OpenCodeInterpreter-GM-7B | 56.1 (50.0) | 39.8 (34.6) | 48.0 (42.3) |
| + 执行反馈 | 64.0 (54.3) | 48.6 (40.9) | 56.3 (47.6) |
| OpenCodeInterpreter-SC2-3B | 65.2 (57.9) | 62.7 (52.9) | 64.0 (55.4) |
| + 执行反馈 | 67.1 (60.4) | 63.4 (54.9) | 65.3 (57.7) |
| OpenCodeInterpreter-SC2-7B | 73.8 (68.9) | 61.7 (51.1) | 67.8 (60.0) |
| + 执行反馈 | 75.6 (69.5) | 66.9 (55.4) | 71.3 (62.5) |
| OpenCodeInterpreter-SC2-15B | 75.6 (69.5) | 71.2 (61.2) | 73.4 (65.4) |
| + 执行反馈 | 77.4 (72.0) | 74.2 (63.4) | 75.8 (67.7) |
注:“(+)”表示扩展版的HumanEval和MBPP基准得分。为确保公平比较,此处展示的添加执行反馈后的结果均基于一次反馈迭代的结果,而非无限制的多次迭代。这一方法突显了执行反馈对各基准性能提升的即时影响。
数据收集
依托于包含6.8万次多轮交互的数据集Code-Feedback,OpenCodeInterpreter结合执行反馈与人工反馈,实现了代码的动态精炼。 如需了解更多关于数据收集流程的信息,请参阅位于数据收集下的README文件。
评估
我们的评估框架主要采用HumanEval和MBPP及其扩展版本HumanEval+和MBPP+,并借助EvalPlus框架进行更全面的评估。 有关具体的评估方法,请参阅评估README,以获取更多详细信息。
演示
我们很高兴地推出我们的开源演示,它使用户能够在本地轻松生成并执行由我们的大语言模型(LLM)生成的代码。在演示中,用户可以利用 LLM 的强大功能生成代码并在本地运行,同时获得自动化的执行反馈。LLM 会根据这些反馈动态调整代码,从而确保更流畅的编码体验。此外,用户还可以与 LLM 模型进行基于聊天的交互,提供反馈以进一步优化生成的代码。
要开始探索该演示并亲身体验其功能,请参阅 OpenCodeInterpreter 演示 README 文件中的说明。祝编码愉快!
快速入门
进入工作区:
git clone https://github.com/OpenCodeInterpreter/OpenCodeInterpreter.git cd demo创建一个新的 conda 环境:
conda create -n demo python=3.10激活您创建的 demo 环境:
conda activate demo安装依赖:
pip install -r requirements.txt创建具有写入权限的 Hugging Face 访问令牌 在此处。我们的代码仅会使用此令牌在您自己的 Hugging Face 账户下创建并推送内容到名为
opencodeinterpreter_user_data的特定仓库中。如果您在自己的设备上部署此演示,则我们无法访问您的任何数据。将访问令牌添加到环境变量中:
export HF_TOKEN="您的 Hugging Face 访问令牌"运行 Gradio 应用程序:
python3 chatbot.py --path "opencodeinterpreter 模型家族的模型名称。例如:m-a-p/OpenCodeInterpreter-DS-6.7B"
视频
联系方式
如果您有任何疑问,请随时提交问题或通过电子邮件联系我们:xiangyue.work@gmail.com、zhengtianyu0428@gmail.com。我们随时为您提供帮助!
引用
如果您发现本仓库对您的研究有所帮助,请引用我们的论文:
@article{zheng2024opencodeinterpreter,
title={OpenCodeInterpreter: Integrating Code Generation with Execution and Refinement},
author={Zheng, Tianyu and Zhang, Ge and Shen, Tianhao and Liu, Xueling and Lin, Bill Yuchen and Fu, Jie and Chen, Wenhu and Yue, Xiang},
journal={arXiv preprint arXiv:2402.14658},
year={2024}
}
致谢
我们衷心感谢 EvalPlus 对我们项目提供的宝贵支持和贡献。
星标历史
常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
