type
status
date
slug
summary
tags
category
icon
password
Open Interpreter 介绍及其使用方法 | 自然语言控制你的电脑系统
Open Interpreter 让LLM能够在本地运行代码(Python、Javascript、Shell等)。安装后,您可以通过在终端中运行
$ interpreter
与Open Interpreter进行ChatGPT风格的界面聊天。这为您的计算机的通用功能提供了自然语言界面:
- 创建和编辑照片、视频、PDF等。
- 控制Chrome浏览器进行研究
- 绘制、清理和分析大型数据集
- ...等等。
⚠️ 注意:在运行代码之前,您将被要求批准代码。
项目主页
open-interpreter
OpenInterpreter • Updated Nov 3, 2024
演示
快速开始
终端
安装后,只需运行
interpreter
:Python
GitHub Codespaces
按下此仓库的GitHub页面上的
,
键以创建codespace。片刻后,您将收到一个预装了open-interpreter的云虚拟机环境。然后,您可以直接并自由地与其交互,并确认其执行系统命令,而不必担心损坏系统。与ChatGPT的代码解释器的比较
OpenAI发布了代码解释器与GPT-4,为使用ChatGPT完成现实世界任务提供了绝佳机会。
然而,OpenAI的服务是托管的、闭源的,并且受到严格限制:
- 无互联网访问。
- 最大上传100 MB,最大运行时间限制为120.0秒。
- 状态在环境死亡时被清除(与任何生成的文件或链接一起)。
Open Interpreter通过在您的本地环境中运行来克服这些限制。它可以完全访问互联网,不受时间或文件大小的限制,并且可以使用任何包或库。
这将GPT-4的代码解释器的强大功能与您本地开发环境的灵活性相结合。
命令
- 更新:生成器更新(0.1.5)引入了流式传输:
交互式聊天
要开始终端中的交互式聊天,可以从命令行运行
interpreter
:或从.py文件中运行
interpreter.chat()
:您还可以流式传输每个块:
程序化聊天
为了更精确的控制,您可以直接将消息传递给
.chat(message)
:开始新的聊天
在Python中,Open Interpreter记住了对话历史记录。如果您想要重新开始,可以重置它:
保存和恢复聊天
interpreter.chat()
返回消息列表,可以使用 interpreter.messages = messages
恢复对话:自定义系统消息
您可以检查和配置Open Interpreter的系统消息,以扩展其功能、修改权限或提供更多上下文。
更改您的语言模型
Open Interpreter使用LiteLLM连接到托管的语言模型。
您可以通过设置model参数来更改模型:
在Python中,在对象上设置模型:
本地运行Open Interpreter
终端
Open Interpreter可以使用与OpenAI兼容的服务器在本地运行模型。(LM Studio、jan.ai、ollama等)
只需使用您的推理服务器的api_base URL运行
interpreter
(对于LM studio,默认为 http://localhost:1234/v1
):或者您可以使用Llamafile在不安装任何第三方软件的情况下运行
有关更详细的指南,请查看Mike Bird的这个视频
如何在后台运行LM Studio。
- 下载 https://lmstudio.ai/ 然后启动它。
- 选择一个模型,然后点击 ↓ 下载。
- 点击左侧的 ↔️ 按钮(在 💬 下方)。
- 选择您的模型,然后点击 启动服务器。
一旦服务器运行,您可以开始与Open Interpreter的对话。
**注意:**本地模式将您的 context_window 设置为3000,将您的 max_tokens 设置为1000。如果您的模型有不同的要求,请手动设置这些参数(见下文)。
Python
我们的Python包为您提供了更多对每个设置的控制。要复制并连接到LM Studio,请使用以下设置:
上下文窗口,最大令牌
您可以修改本地运行模型的
max_tokens
和 context_window
(以令牌为单位)。对于本地模式,较小的上下文窗口将使用更少的RAM,因此如果出现故障/速度慢,我们建议尝试一个更短的窗口(~1000)。确保
max_tokens
小于 context_window
。详细模式
为了帮助您检查Open Interpreter,我们有一个
--verbose
模式用于调试。您可以通过使用其标志(
interpreter --verbose
)或在聊天中激活详细模式:交互式模式命令
在交互式模式中,您可以使用以下命令来增强您的体验。以下是可用命令的列表:
可用命令:
%verbose [true/false]
:切换详细模式。没有参数或使用true
时,它进入详细模式。使用false
时退出详细模式。
%reset
:重置当前会话的对话。
%undo
:从消息历史记录中删除上一个用户消息和AI的响应。
%tokens [prompt]
:(实验性)计算下一个提示作为上下文将发送的令牌,并估计其成本。可以选择计算prompt
的令牌和估计成本(如果提供了一个)。依赖于 LiteLLM的cost_per_token()
方法 进行估计成本。
%help
:显示帮助消息。
配置/配置文件
Open Interpreter允许您使用
yaml
文件设置默认行为。这提供了一种灵活的方式来配置解释器,而无需每次更改命令行参数。
运行以下命令打开配置文件目录:
您可以在那里添加
yaml
文件。默认配置文件名为 default.yaml
。多个配置文件
Open Interpreter支持多个
yaml
文件,允许您轻松切换配置:示例FastAPI服务器
生成器更新使Open Interpreter能够通过HTTP REST端点进行控制:
您也可以简单地运行
interpreter.server()
来启动与上述相同的服务器。Android
在Android设备上安装Open Interpreter的逐步指南可以在 open-interpreter-termux repo 中找到。
安全通知
由于生成的代码在您的本地环境中执行,它可以与您的文件和系统设置交互,可能导致意外的结果,如数据丢失或安全风险。
⚠️ Open Interpreter在执行代码之前会要求用户确认。
您可以运行
interpreter -y
或设置 interpreter.auto_run = True
来绕过此确认,这样做的话:- 在请求修改文件或系统设置的命令时要谨慎。
- 像自动驾驶汽车一样监视Open Interpreter,并准备通过关闭终端来结束进程。
- 考虑在受限环境中运行Open Interpreter,如Google Colab或Replit。这些环境更加隔离,降低了执行任意代码的风险。
有实验性的安全模式支持,以帮助缓解一些风险。
工作原理
然后我们将模型的消息、代码和您的系统的输出作为Markdown流式传输到终端。
贡献
感谢您对贡献的兴趣!我们欢迎社区的参与。
有关如何参与的更多详细信息,请参阅我们的 贡献指南。
路线图
访问 我们的路线图 以预览Open Interpreter的未来。
注意:此软件与OpenAI无关。
QA对
Q:Open Interpreter 是什么?
A: Open Interpreter 是一个开源项目,它允许用户在本地运行代码(如 Python、Javascript、Shell 等),并与语言模型进行交互,从而实现类似于 ChatGPT 的界面聊天。
Q:Open Interpreter 有什么优点?
A: Open Interpreter 的优点包括能够在本地环境中运行,无互联网访问限制,可以使用任何包或库,没有时间或文件大小限制,提供了更多的灵活性和控制。
Q:如何安装 Open Interpreter?
A: 可以通过运行
pip install open-interpreter
命令来安装 Open Interpreter,如果安装有问题,可以参考官方的安装指南。Q:如何在终端中使用 Open Interpreter?
A: 安装完成后,用户可以通过在终端中运行
interpreter
命令来启动 Open Interpreter,并与之进行交互式聊天。Q:Open Interpreter 支持哪些编程语言?
A: Open Interpreter 支持多种编程语言,包括但不限于 Python、Javascript、Shell 等。
Q:Open Interpreter 如何与语言模型交互?
A: Open Interpreter 通过将用户的消息、代码和系统输出作为 Markdown 流式传输到终端,从而实现与语言模型的交互。
Q:Open Interpreter 的安全措施是什么?
A: Open Interpreter 在执行代码之前会要求用户确认,以防止意外的结果。用户可以通过设置
interpreter.auto_run = True
来绕过此确认,但需要谨慎操作。Q:Open Interpreter 支持自定义配置文件吗?
A: 是的,Open Interpreter 支持使用 yaml 文件来设置默认行为,提供了灵活的配置方式。
Q:Open Interpreter 支持程序化聊天吗?
A: 是的,Open Interpreter 允许用户通过直接将消息传递给
.chat(message)
来实现程序化聊天,提供更精确的控制。Q:Open Interpreter 如何在本地运行模型?
A: Open Interpreter 可以通过使用与 OpenAI 兼容的服务器在本地运行模型,例如 LM Studio、jan.ai、ollama 等。
Q:Open Interpreter 支持交互式模式命令吗?
A: 是的,Open Interpreter 在交互式模式中支持一系列命令,如
%verbose
、%reset
、%undo
、%tokens
和 %help
等。Q:Open Interpreter 支持多语言文档吗?
A: 是的,Open Interpreter 提供了多种语言的文档,包括日文、中文版、印地语等。
Q:Open Interpreter 有示例 FastAPI 服务器吗?
A: 是的,Open Interpreter 提供了示例 FastAPI 服务器代码,可以通过 HTTP REST 端点进行控制。
Q:Open Interpreter 可以在 Android 设备上安装吗?
A: 是的,可以在 Android 设备上安装 Open Interpreter,具体步骤可以参考 open-interpreter-termux repo。
Q:Open Interpreter 的工作原理是什么?
A: Open Interpreter 为函数调用语言模型配备了一个
exec()
函数,该函数接受一个 language
和要运行的 code
,然后将模型的消息、代码和系统输出流式传输到终端。Q:Open Interpreter 的未来路线图是什么?
A: 可以访问 Open Interpreter 的 GitHub 页面查看其未来路线图,了解即将推出的新功能和改进。
Q:Open Interpreter 与 OpenAI 有关系吗?
A: 注意,此软件与 OpenAI 无关,是一个独立的开源项目。
Q:Open Interpreter 支持安全模式吗?
A: 是的,Open Interpreter 有实验性的安全模式支持,以帮助缓解一些风险。
Q:Open Interpreter 支持命令行模式吗?
A: 是的,Open Interpreter 支持命令行模式,用户可以通过命令行传入参数来执行下载任务,或者从浏览器读取 Cookie 并写入配置文件。
Q:Open Interpreter 支持哪些操作系统?
A: Open Interpreter 支持多种操作系统,包括 Windows、macOS 和 Linux 等。
你可能感兴趣的其他LLM项目推荐:
- 作者:Doiiars
- 链接:https://notion.doiiars.com/article/open-interpreter
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章