© 2026FindAgent  · @simprr
返回列表
s

shroominic/codeinterpreter-api

👾 Open source implementation of the ChatGPT Code Interpreter

chatgptchatgpt-code-generationcode-interpretercodeinterpreterlangchainllm-agent
⭐

3.9k

Stars

🔱

395

Forks

👁

35

Watchers

📋

70

Issues

PythonMIT创建于 2023/7/10更新于 5 天前
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

👾 Code Interpreter API

Version Downloads License PyVersion

这是一个基于 LangChain 实现的 ChatGPT Code Interpreter(代码解释器)。 它使用 CodeBox 作为后端,实现沙盒化的 Python 代码执行环境。 CodeBox 是专为 LLM 应用打造的最简云基础设施。 除了 LLM 外,你可以通过自己的 OpenAI API Key 在本地运行所有功能。

功能特性

  • 数据集分析、股票图表绘制、图像处理等。
  • 支持联网访问及自动安装 Python 包。
  • 输入 文本 + 文件 -> 接收 文本 + 文件。
  • 会话记忆:根据之前的输入进行响应。
  • 除 OpenAI API 外(未来可能支持 OpenOrca 等),所有程序均可在本地运行。
  • 使用 CodeBox API 可在生产环境中轻松扩展。

文档

更多详细信息,请查看 官方文档。

安装

请在 此处 获取你的 OpenAI API Key,并安装该包。

pip install "codeinterpreterapi[all]"

all 扩展包安装了本地实验所需的所有依赖。 对于生产部署,你可以直接使用 pip install codeinterpreterapi,这样不会安装额外的依赖项。

使用方法

配置 OpenAI 或 Azure OpenAI 时,请确保设置了相应的环境变量(或使用 .env 文件):

对于 OpenAI,请设置 OPENAI_API_KEY 环境变量:

export OPENAI_API_KEY=sk-**********
from codeinterpreterapi import CodeInterpreterSession, settings


# 创建会话并自动关闭
with CodeInterpreterSession() as session:
    # 根据用户输入生成响应
    response = session.generate_response(
        "Plot the bitcoin chart of year 2023"
    )
    # 输出响应
    response.show()

Bitcoin YTD 比特币年初至今(YTD)图表输出

数据集分析

from codeinterpreterapi import CodeInterpreterSession, File

# 本示例使用异步方式,但也支持上述的同步调用
async def main():
    # 使用上下文管理器自动开启/关闭会话
    async with CodeInterpreterSession() as session:
        # 定义用户请求
        user_request = "Analyze this dataset and plot something interesting about it."
        files = [
            # 将文件附加到请求中
            File.from_path("examples/assets/iris.csv"),
        ]

        # 生成响应
        response = await session.generate_response(
            user_request, files=files
        )

        # 输出结果给用户
        print("AI: ", response.content)
        for file in response.files:
            # 遍历文件(如果是图片则显示)
            file.show_image()


if __name__ == "__main__":
    import asyncio

    asyncio.run(main())

Iris Dataset Analysis 鸢尾花数据集分析输出

生产环境

如果你希望部署到生产环境,可以利用 CodeBox API 实现无缝扩展。

由于该功能尚处于开发早期阶段,如果你有兴趣,请与我联系。

贡献

代码中仍有一些待办事项(TODO)。 因此,如果你想做出贡献,欢迎随时参与。你也可以提出新的功能建议,或进行代码重构。 只需提交 issue 或 pull request,我会进行审查。

此外,如果你发现了 Bug,请提交 issue 并附上最小化的代码示例或截图,这将对我改进代码非常有帮助。

联系方式

你可以通过 contact@shroominic.com 联系我。 但我更推荐通过 Twitter 或 Discord 私信。

支持本项目

如果你想通过捐赠来支持本项目,可以 点击此处。 谢谢,这对我有很大帮助!❤️

贡献者
spGdwdDeVg
项目信息
默认分支main
LicenseMIT License
创建时间2023/7/10
最近更新5 天前
GAI 中文摘要

codeinterpreter-api 是一个基于 LangChain 开发的开源项目,旨在复刻 ChatGPT 的代码解释器功能。它通过集成的沙箱环境执行 Python 代码,能够让开发者在应用中实现类似 ChatGPT 的数据分析、图表绘制及文件处理能力。

核心功能包括: 支持数据集分析、股票图表生成及图像处理等多种复杂任务。 具备互联网访问权限,并可根据代码需求自动完成 Python 依赖包的安装。 支持接收文本与文件输入,并相应返回处理后的文本及生成文件。 内置对话记忆功能,确保模型能够基于历史上下文进行连贯回复。 提供 CodeBox API 支持,方便开发者实现从本地实验到生产环境的平滑扩展。

该项目适用于希望在自己的应用程序中集成代码执行能力的开发者,特别适合构建具备自动化数据处理、报告生成或智能代理功能的 AI 驱动型应用。