项目介绍:llm-code-interpreter
llm-code-interpreter 项目是一个增强版的代码解释器插件,专为 ChatGPT 设计,旨在大大扩展其功能范围。这一插件由 E2B 公司提供支持,通过访问完整的沙盒云环境为 ChatGPT 实例提供强大的能力。这一环境包括对 Linux 操作系统的访问,支持安装程序、文件系统操作(创建、列出、删除文件和目录)以及运行多种进程,更可进行因特网访问。用户得以在一个完全隔离的虚拟“游乐场”中随心所欲地进行实验和实践。
llm-code-interpreter 的功能
这个插件暴露了三个简单的命令,它们是通过 OpenAPI 文件定义的:
- RunCommand:运行任何 shell 命令。
- ReadFile:读取指定路径的文件。
- WriteFile:将内容写入指定路径的文件。
这三个基础命令可以组合出无限的可能,以下是一些应用案例:
- 支持运行多种编程语言,如 Node.js、Go、Bash、Rust、Python、PHP、Java、Perl 和 .NET 等。
- 安装无头浏览器(例如无头 Chrome)。
- 运行数据库。
- 启动服务器。
- 执行终端命令。
- 创建长时间运行的进程。
- 部署网站。
- 通过终端安装程序。
如何安装
安装 llm-code-interpreter 插件有两种途径:
- 等待 OpenAI 在其商店中批准插件。
- 如果拥有开发者访问权限,可以按照以下步骤在本地运行插件。
如何在本地运行插件
首先需要安装必要的依赖包,运行以下命令:
npm install
启用插件需要 API Key,点击 这里 获取您的 API Key。然后输入以下命令来启动插件:
E2B_API_KEY=*** npm run dev
本地服务器运行后,遵循以下步骤:
- 前往 https://chat.openai.com。
- 在模型下拉菜单中选择 "Plugins"(注意:如果看不到此选项,说明您尚未拥有访问权限)。
- 选择 "Plugin store"。
- 选择 "Develop your own plugin"。
- 输入 localhost:3000 作为本地服务器的 URL,然后选择 "Find manifest file"。
使用示例
- 安装 youtube-dl 并使用其下载视频:https://www.youtube.com/watch?v=jNQXAC9IVRw
- 在端口 3000 上启动 HTTP 服务器。
- 克隆 "https://github.com/e2b-dev/chatgpt-plugin",修正 README 文件中的拼写错误并提交。
如何上传和下载文件
目前,e2b 代码解释器尚不原生支持文件上传和下载。然而,您可以通过 curl
或 wget
命令和类似 S3 bucket 的服务来实现此功能:
上传文件到插件
- 获取 S3 bucket(或其他替代方案)。
- 上传文件并将其设置为公共可访问。
- 告知 ChatGPT 使用 curl 下载该文件。
从插件下载文件
- 指导 ChatGPT 使用 curl 将其文件上传到 S3 bucket。
关于 E2B
E2B 是该插件背后的公司,他们致力于构建一个 AI 代理操作系统,提供一整套低级别 API,支持构建代理(调试、认证、监控等)以及允许代理在无障碍的隔离云环境中自由行动。
开发相关
为了开发和修改 API,可以参考 TSOA 产生的 OpenAPI 规范以及生成的服务器路由样板代码,具体在 src/plugin
路径下的控制器中进行 API 修改。有关详细信息,可以查看 tsoa 文档。