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助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多