open-interpreter

open-interpreter

本地运行的AI编程助手 实现自然语言控制计算机

Open Interpreter是一款创新型AI工具,允许在本地环境中运行多种编程语言代码。它提供类似ChatGPT的终端界面,支持通过自然语言与计算机交互,完成图像处理、网页爬虫、数据分析等复杂任务。相比受限的在线服务,Open Interpreter具有更强的灵活性和功能性,是一个功能强大的本地AI编程助手。

Open InterpreterLLM代码执行本地环境自然语言接口Github开源项目
<h1 align="center">● Open Interpreter</h1> <p align="center"> <a href="https://discord.gg/Hvz9Axh84z"> <img alt="Discord" src="https://img.shields.io/discord/1146610656779440188?logo=discord&style=flat&logoColor=white"/></a> <a href="https://github.com/OpenInterpreter/open-interpreter/blob/main/docs/README_JA.md"><img src="https://yellow-cdn.veclightyear.com/2b54e442/8bb9c2d4-4231-4293-bcff-9acbbfb9b4c0.svg" alt="日文文档"/></a> <a href="https://github.com/OpenInterpreter/open-interpreter/blob/main/docs/README_ZH.md"><img src="https://yellow-cdn.veclightyear.com/2b54e442/4af9f51e-8f94-414f-b408-9114d5ea56a7.svg" alt="中文文档"/></a> <a href="https://github.com/OpenInterpreter/open-interpreter/blob/main/docs/README_ES.md"> <img src="https://yellow-cdn.veclightyear.com/2b54e442/e99edb20-43b6-48e0-94d6-1524555fb0c0.svg" alt="西班牙语文档"/></a> <a href="https://github.com/OpenInterpreter/open-interpreter/blob/main/docs/README_IN.md"><img src="https://yellow-cdn.veclightyear.com/2b54e442/2a24a9f5-7ebc-4bab-bbda-be5fcb488c12.svg" alt="印尼语文档"/></a> <a href="https://github.com/OpenInterpreter/open-interpreter/blob/main/LICENSE"><img src="https://img.shields.io/static/v1?label=license&message=AGPL&color=white&style=flat" alt="许可证"/></a> <br> <br><a href="https://0ggfznkwh4j.typeform.com/to/G21i9lJ2">获取桌面应用程序的早期访问权限</a>‎ ‎ |‎ ‎ <a href="https://docs.openinterpreter.com/">文档</a><br> </p> <br> <img alt="local_explorer" src="https://github.com/OpenInterpreter/open-interpreter/assets/63927363/d941c3b4-b5ad-4642-992c-40edf31e2e7a"> <br> <br> <p align="center"> 本周我们发布了<strong>Local III</strong>,通过<strong><code>--local</code></strong>引入了本地资源管理器。<a href="https://changes.openinterpreter.com/log/local-iii">阅读更多 →</a> </p> <br>
pip install open-interpreter

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

interpreter
<br>

Open Interpreter 允许大语言模型在本地运行代码(Python、Javascript、Shell等)。安装后,您可以通过在终端中运行 $ interpreter 来通过类似ChatGPT的界面与Open Interpreter进行交互。

这为您的计算机提供了一个自然语言界面,可以访问通用功能:

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

⚠️ 注意:在运行代码之前,您将被要求批准。

<br>

演示

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

Google Colab上也提供了一个交互式演示:

在Colab中打开

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

在Colab中打开

快速开始

pip install open-interpreter

终端

安装后,只需运行 interpreter

interpreter

Python

from interpreter import interpreter interpreter.chat("绘制AAPL和META的标准化股票价格") # 执行单个命令 interpreter.chat() # 开始交互式聊天

GitHub Codespaces

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

与ChatGPT的代码解释器的比较

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

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

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

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

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

命令

**更新:**生成器更新(0.1.5)引入了流式处理:

message = "我们在哪个操作系统上?" for chunk in interpreter.chat(message, display=False, stream=True): print(chunk)

交互式聊天

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

interpreter

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

interpreter.chat()

您也可以流式处理每个块:

message = "我们在哪个操作系统上?" 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连接到托管的语言模型。

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

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

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

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

在这里找到适合您的语言模型的正确"模型"字符串。

在本地运行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" # LiteLLM(我们用来与LM Studio通信)需要此项 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服务器

生成器更新使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的Code Interpreter发布

<br>

编辑推荐精选

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI助手AI工具AI写作工具AI辅助写作蛙蛙写作学术助手办公助手营销助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多