OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Open Interpreter — 可执行代码的 AI Agent

Open Interpreter — 可执行代码的 AI Agent

 
  ocmuuu ·  2026-02-28 00:40:58 · 4 次点击  · 0 条评论  

● Open Interpreter

Discord JA doc ZH doc ES doc UK doc IN doc License

获取桌面应用早期访问权限‎ ‎ |‎ ‎ 文档


local_explorer





Open Interpreter 可以让大语言模型(LLM)在本地运行代码(Python、Javascript、Shell 等)。安装后,通过在终端中运行 $ interpreter,你可以通过类似 ChatGPT 的界面与 Open Interpreter 聊天。

这为你的计算机提供了一个自然语言界面,以使用其通用功能:

  • 创建和编辑照片、视频、PDF 等文件。
  • 控制 Chrome 浏览器进行研究。
  • 绘制、清理和分析大型数据集。
  • ...等等。

⚠️ 注意:代码运行前会请求你的批准。


演示

https://github.com/OpenInterpreter/open-interpreter/assets/63927363/37152071-680d-4423-9af3-64836a6f7b60

在 Google Colab 上也有一个交互式演示:

Open In Colab

以及一个受电影《她》启发的语音界面示例:

Open In Colab

快速开始

安装

pip install git+https://github.com/OpenInterpreter/open-interpreter.git

安装不成功?请阅读我们的设置指南

终端

安装后,直接运行 interpreter

interpreter

Python

from interpreter import interpreter

interpreter.chat("绘制 AAPL 和 META 的归一化股价图") # 执行单条命令
interpreter.chat() # 开始交互式聊天

GitHub Codespaces

在此仓库的 GitHub 页面上按下 , 键以创建一个代码空间。稍等片刻,你将获得一个预装了 open-interpreter 的云虚拟机环境。然后你可以直接开始与它交互,并可以自由地确认其系统命令的执行,而无需担心损坏系统。

与 ChatGPT 代码解释器的对比

OpenAI 发布的 GPT-4 代码解释器为使用 ChatGPT 完成现实世界任务提供了一个绝佳的机会。

然而,OpenAI 的服务是托管的、闭源的,并且受到严格限制:

  • 无法访问互联网。
  • 预安装的软件包有限
  • 最大上传 100 MB,运行时间限制 120.0 秒。
  • 环境终止时状态会被清除(连同任何生成的文件或链接)。

Open Interpreter 通过在本地环境中运行来克服这些限制。它拥有完整的互联网访问权限,不受时间或文件大小的限制,并且可以使用任何包或库。

这结合了 GPT-4 代码解释器的强大功能和你本地开发环境的灵活性。

命令

更新: Generator 更新 (0.1.5) 引入了流式输出:

message = "What operating system are we on?"

for chunk in interpreter.chat(message, display=False, stream=True):
  print(chunk)

交互式聊天

要在终端中启动交互式聊天,可以从命令行运行 interpreter

interpreter

或者在 .py 文件中运行 interpreter.chat()

interpreter.chat()

你也可以流式输出每个片段:

message = "What operating system are we on?"

for chunk in interpreter.chat(message, display=False, stream=True):
  print(chunk)

程序化聊天

为了更精确的控制,你可以直接将消息传递给 .chat(message)

interpreter.chat("为 /videos 目录下的所有视频添加字幕。")

# ... 将输出流式传输到你的终端,完成任务 ...

interpreter.chat("这些看起来不错,但你能把字幕调大一些吗?")

# ...

开始新对话

在 Python 中,Open Interpreter 会记住对话历史。如果你想重新开始,可以重置它:

interpreter.messages = []

保存和恢复对话

interpreter.chat() 返回一个消息列表,可用于通过 interpreter.messages = messages 恢复对话:

messages = interpreter.chat("我的名字是 Killian。") # 将消息保存到 'messages'
interpreter.messages = [] # 重置解释器("Killian" 将被忘记)

interpreter.messages = messages # 从 'messages' 恢复对话("Killian" 将被记住)

自定义系统消息

你可以检查和配置 Open Interpreter 的系统消息,以扩展其功能、修改权限或为其提供更多上下文。

interpreter.system_message += """
使用 -y 运行 shell 命令,这样用户就不需要确认它们。
"""
print(interpreter.system_message)

更改你的语言模型

Open Interpreter 使用 LiteLLM 来连接托管的语言模型。

你可以通过设置 model 参数来更改模型:

interpreter --model gpt-3.5-turbo
interpreter --model claude-2
interpreter --model command-nightly

在 Python 中,在对象上设置模型:

interpreter.llm.model = "gpt-3.5-turbo"

在此处为你的语言模型找到合适的 "model" 字符串。

本地运行 Open Interpreter

终端

Open Interpreter 可以使用 OpenAI 兼容的服务器在本地运行模型。(如 LM Studio, jan.ai, ollama 等)

只需使用你的推理服务器的 api_base URL 运行 interpreter(对于 LM studio,默认为 http://localhost:1234/v1):

interpreter --api_base "http://localhost:1234/v1" --api_key "fake_key"

或者,你可以通过运行以下命令使用 Llamafile,而无需安装任何第三方软件:

interpreter --local

更详细的指南请查看 Mike Bird 的这个视频

如何在后台运行 LM Studio。

  1. 下载 https://lmstudio.ai/ 然后启动它。
  2. 选择一个模型,然后点击 ↓ 下载
  3. 点击左侧的 ↔️ 按钮(在 💬 下方)。
  4. 在顶部选择你的模型,然后点击 启动服务器

服务器运行后,你就可以开始与 Open Interpreter 对话了。

注意: 本地模式会将你的 context_window 设置为 3000,将 max_tokens 设置为 1000。如果你的模型有不同的要求,请手动设置这些参数(见下文)。

Python

我们的 Python 包让你对每个设置有更多的控制。要复制并连接到 LM Studio,请使用这些设置:

from interpreter import interpreter

interpreter.offline = True # 禁用在线功能,如 Open Procedures
interpreter.llm.model = "openai/x" # 告诉 OI 以 OpenAI 的格式发送消息
interpreter.llm.api_key = "fake_key" # 我们用来与 LM Studio 通信的 LiteLLM 需要这个
interpreter.llm.api_base = "http://localhost:1234/v1" # 指向任何 OpenAI 兼容的服务器

interpreter.chat()

上下文窗口长度,最大令牌数

你可以修改本地运行模型的 max_tokenscontext_window(以令牌计)。

对于本地模式,较小的上下文窗口将使用更少的 RAM,因此如果失败或速度慢,我们建议尝试更短的窗口(约 1000)。确保 max_tokens 小于 context_window

interpreter --local --max_tokens 1000 --context_window 3000

详细模式

为了帮助你检查 Open Interpreter,我们有一个用于调试的 --verbose 模式。

你可以通过使用其标志(interpreter --verbose)或在聊天过程中激活详细模式:

$ interpreter
...
> %verbose true <- 开启详细模式

> %verbose false <- 关闭详细模式

交互模式命令

在交互模式下,你可以使用以下命令来增强体验。以下是可用命令列表:

可用命令:

  • %verbose [true/false]: 切换详细模式。不带参数或使用 true 进入详细模式。使用 false 退出详细模式。
  • %reset: 重置当前会话的对话。
  • %undo: 从消息历史记录中移除前一条用户消息和 AI 的回复。
  • %tokens [prompt]: (实验性) 计算将作为上下文发送的下一个提示的令牌数并估算其成本。如果提供了 prompt,则可选地计算该提示的令牌数和估算成本。依赖于 LiteLLM 的 cost_per_token() 方法 进行成本估算。
  • %help: 显示帮助信息。

配置 / 配置文件

Open Interpreter 允许你使用 yaml 文件设置默认行为。

这提供了一种灵活的方式来配置解释器,而无需每次都更改命令行参数。

运行以下命令以打开配置文件目录:

interpreter --profiles

你可以在那里添加 yaml 文件。默认配置文件名为 default.yaml

多配置文件

Open Interpreter 支持多个 yaml 文件,允许你轻松在不同配置之间切换:

interpreter --profile my_profile.yaml

示例 FastAPI 服务器

Generator 更新使得 Open Interpreter 可以通过 HTTP REST 端点进行控制:

# server.py

from fastapi import FastAPI
from fastapi.responses import StreamingResponse
from interpreter import interpreter

app = FastAPI()

@app.get("/chat")
def chat_endpoint(message: str):
    def event_stream():
        for result in interpreter.chat(message, stream=True):
            yield f"data: {result}\n\n"

    return StreamingResponse(event_stream(), media_type="text/event-stream")

@app.get("/history")
def history_endpoint():
    return interpreter.messages
pip install fastapi uvicorn
uvicorn server:app --reload

你也可以通过简单地运行 interpreter.server() 来启动一个与上面相同的服务器。

Android

在 Android 设备上安装 Open Interpreter 的逐步指南可以在 open-interpreter-termux 仓库 中找到。

安全须知

由于生成的代码在你的本地环境中执行,它可以与你的文件和系统设置交互,可能导致数据丢失或安全风险等意外结果。

⚠️ Open Interpreter 在执行代码前会请求用户确认。

你可以运行 interpreter -y 或设置 interpreter.auto_run = True 来绕过此确认,在这种情况下:

  • 请求修改文件或系统设置的命令时要格外小心。
  • 像对待自动驾驶汽车一样关注 Open Interpreter,并准备好通过关闭终端来结束进程。
  • 考虑在 Google Colab 或 Replit 等受限环境中运行 Open Interpreter。这些环境更加隔离,降低了执行任意代码的风险。

目前有实验性支持,通过 安全模式 来帮助减轻一些风险。

工作原理

Open Interpreter 为 函数调用语言模型 配备了一个 exec() 函数,该函数接受一个 language(如 "Python" 或 "JavaScript")和要运行的 code

然后我们将模型的消息、代码以及你系统的输出以 Markdown 格式流式传输到终端。

离线访问文档

完整的文档可以在没有互联网连接的情况下随时随地访问。

Node 是前提条件:

  • 版本 18.17.0 或任何后续的 18.x.x 版本。
  • 版本 20.3.0 或任何后续的 20.x.x 版本。
  • 任何从 21.0.0 开始的版本,没有指定上限。

安装 Mintlify

npm i -g mintlify@latest

切换到 docs 目录并运行相应的命令:

# 假设你在项目的根目录
cd ./docs

# 运行文档服务器
mintlify dev

一个新的浏览器窗口应该会打开。只要文档服务器在运行,文档就将在 http://localhost:3000 可用。

贡献

感谢你有兴趣贡献!我们欢迎社区的参与。

请参阅我们的贡献指南以获取更多关于如何参与的详细信息。

路线图

访问我们的路线图以预览 Open Interpreter 的未来。

注意:本软件与 OpenAI 无关。

thumbnail-ncu

拥有一个能以你指尖速度工作的初级程序员……可以使新的工作流程变得轻松高效,并将编程的好处带给新的受众。

OpenAI 代码解释器发布说明


4 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor