Open Interpreter:OpenAI Code Interpreter的开源实现|本地化|可联网

如果你对这篇文章感兴趣,而且你想要了解更多关于AI领域的实战技巧,可以关注「技术狂潮AI」公众号。在这里,你可以看到最新最热的AIGC领域的干货文章和案例实战教程。

一、前言

今年7月,OpenAI发布了一个强大的插件,名为Code Interpreter(代码解释器),它可以根据用户的自然语言需求生成并执行代码解决方案,帮助完成各种任务,如数据分析、图表创建和文件编辑等。

尽管OpenAI的GPT-4代码解释器改变了游戏规则,但它也有一些特定的限制。OpenAI的解决方案是托管的,它在受控的远程环境中运行,限制了开发人员对本地设置的控制。这导致了一些明显的限制,比如无法访问互联网、有限的预安装软件包、最大上传大小为100MB以及运行时间限制为120秒。而且,当环境终止时,任何生成的文件或链接都会丢失,对于长时间运行的任务可能会带来不便。

然而,现在有一个名为Open Interpreter的开源项目解决了这些问题。Open Interpreter可以在本地环境中运行,可以访问互联网,没有文件大小和运行时间的限制,并且可以利用任何包或库。于2023年9月6日正式发布的Open Interpreter在短短不到一周的时间内就获得了惊人的16.8k stars,可见其受欢迎程度

Open Interpreter为开发人员提供了广泛的功能,包括内容创建。它能够轻松创建和编辑各种格式的内容,如照片、视频和PDF等。开发人员还可以控制Chrome浏览器,从而促进高效的研究和自动化。此外,Open Interpreter还能无缝处理与数据相关的任务,允许用户绘制、清理和分析大型数据集,以做出明智的决策。

二、Open Interpreter 介绍

Open Interpreter是一个开源工具,提供交互式和编程聊天功能,让用户可以通过在终端中运行解释器与其进行对话。开发人员可以编写任务和工作流程脚本,直接传递消息给解释器,以便更精确地控制。用户可以检查和配置系统消息,以满足个人偏好和项目要求的灵活性。

Open Interpreter 不仅仅是另一个编码解释器。它是一个专注于复杂任务的强大工具,允许语言模型在您的计算机上运行代码,以完整地编写应用程序、任务等。它是 OpenAI 代码解释器的实现,可以运行 GPT4 和其他模型,支持 Python、JavaScript、Shell 等语言的代码。

Open Interpreter 的独特功能之一是其终端中类似聊天的界面,允许用户以更直观和用户友好的方式与之交互。该解释器不仅可以编写代码,还可以创建和编辑照片、视频、PDF 和其他文件。它可以控制网络浏览器进行网络搜索,并通过网络上的不同区域进行搜索,以实现并提供必要的链接。

⚠️ 注意:在运行代码之前,系统会要求您批准代码。

2.1、核心特点

Open Interpreter 的核心特点包括:

  1. 互联网访问自由:在本地运行的 Open Interpreter 可以完全访问互联网,允许免费访问外部API和数据库,提高项目的灵活性。

  2. 包和库选择:Open Interpreter允许使用任何包或库,使您能够选择最适合您项目的工具。

  3. 无限的运行时间和文件大小:Open Interpreter没有执行时间或文件大小的限制,可以顺利进行大规模数据分析和计算处理。

  4. 确保安全性:在执行代码之前,Open Interpreter需要用户确认,以防止执行未经授权的代码,提高安全性。

  5. 物有所值:Open Interpreter是一个免费的开源项目,对于初创公司和个人开发人员来说,降低成本是一个重要优势。

  6. 支持多种编程语言:Open Interpreter不仅支持Python,还支持JavaScript、Bash等多种编程语言,适用于更广泛的应用程序。

总之,Open Interpreter是一个多功能且灵活的开源编程工具,具有本地行为、多语言支持、包和库选择、无限运行时间和文件大小、高级安全性以及物有所值等特点。这些特性极大地提高了项目的灵活性和效率,使其成为广泛用户,包括初创公司、大型企业和个人开发人员的有用工具。

2.2、新版发布

今天早上发布的 Open Interpreter v0.1.2 可以通过一个命令设置大多数 HuggingFace 模型以供离线使用。 它是本地的、私人的且免费的。

$ pip install --upgrade open-interpreter
$ interpreter --model tiiuae/falcon-180B

2.3、竞品对比

OpenAI 今年7月份发布了带有 GPT-4 的Code Interpreter ,为使用 ChatGPT 进行实际任务提供了绝佳机会。然而,OpenAI 的服务是托管的、闭源的,并且受到严格限制,包括:

  • 不能访问网络

  • 有限的预安装软件包集

  • 最大上传100MB和运行时间限制为120秒

  • 当环境终止时,状态和任何生成的文件或链接都会被清除

为了克服这些限制,Open Interpreter在本地环境中运行。它具备完全访问互联网的能力,没有时间或文件大小的限制,并且可以利用任何包或库。这将GPT-4代码解释器的强大功能与本地开发环境的灵活性结合在一起。

与 ChatGPT 的编码解释器相比,Open Interpreter 提供了更多可能性,包括互联网访问、预装软件包没有限制、没有最大上传限制。此外,当环境终止时,状态不会被清除,从而允许用户继续使用以前的项目。

Open Interpreter 是一个功能强大、多功能且用户友好的代码解释器,为程序员和开发人员提供了广泛的可能性。它能够在本地安装,这使得它成为那些希望探索著名的 ChatGPT 代码解释器之外的内容的人的一个可用工具。有了 Open Interpreter,人工智能代码解释的未来看起来光明且充满潜力。

三、安装部署

首先,让我们安装 open-interpreter

pip install open-interpreter

3.1、CLI 终端

安装完成后,在 Terminal 输入 interpreter 就可以启动使用 Open Interpreter。默认会提示输出OPENAIAPIKEY,则使用 GPT-4 执行,否则使用本地 Code-LLama 执行。

% interpreter -y                

Welcome to Open Interpreter.                                                           
────────────────────────────────────────────────────
▌ OpenAI API key not found                                                             
To use GPT-4 (recommended) please provide an OpenAI API key.                           
To use Code-Llama (free but less capable) press enter.                                  
────────────────────────────────────────────────────
OpenAI API key: sk-**********************

Tip: To save this key for later, run export OPENAI_API_KEY=your_api_key on Mac/Linux or setx OPENAI_API_KEY your_api_key on Windows.                            
────────────────────────────────────────────────────

3.2、本地运行

Open Interpreter 允许 LLM 在本地运行 Python、Javascript、Shell 等语言的代码。如果没有 GPT-4 API,也可以通过如下命令行使用开源模型 Code Llama

/如果您将其与 openai 型号一起使用,首次安装时较小 (50kb) 。如果您使用 code-llama 在本地运行它(它会为您安装它,让您选择模型大小),则大小从 3GB 到 30GB 不等。

interpreter --local

如果您运行 interpreter --local,它会自动安装并使用 Code Llama。使用每个模型的快速命令如下:

GPT-4 - interpreter
GPT-3.5 - interpreter --fast
Code-Llama - interpreter --local

或者使用其存储库 ID 在本地运行任何 Hugging Face 模型(例如“tiiuae/falcon-180B”):

interpreter --model tiiuae/falcon-180B

3.3、Python 开发

import interpreter
# 执行单个命令
interpreter.chat("求解类似 10x + 14 = 12 的方程") 
# 开始互动聊天
interpreter.chat() 

在 Python 中,您需要手动设置模型:

interpreter.model = "gpt-3.5-turbo"

您需要 OpenAI API 密钥才能使用 Open Interpreter。

import interpreter

# Paste your OpenAI API key below.
interpreter.api_key = "your-openai-api-key"

默认情况下,Open Interpreter 在执行任何代码之前都会要求确认。

由于 Google Colab 是一个安全、隔离的环境,因此我们建议启用 auto_run 。这模仿了 OpenAI 代码解释器的行为。

interpreter.auto_run = True

四、案例实战

4.1、基本示例

按照惯例我们首先要求Open Interpreter打印一个 hello world,从输出结果可以看到默认使用Python进行编码输出。

interpreter.chat("Please print hello world.")

4.2、数学计算

我们在终端中使用 interpreter.chat() 打开交互式聊天。交互式聊天的行为与 ChatGPT 完全相同。

interpreter.chat()

要求 Open Interpreter 求解类似 10x + 14 = 12 的方程

可以看到 Open Interpreter 使用名为 sympy 的 Python 库来解决它,最终成功编写完程序并执行获取到结果。

4.3、联网支持

自从GPT-4关闭联网功能之后,基本上没有几个大模型可以很好的实现联网能力,Open Interpreter 可以完全访问互联网,允许免费访问外部API和数据库,提高项目的灵活性。

首先使用 interpreter.chat() 再次打开交互式聊天。

interpreter.chat()

例如我们输入查询:“获取全球人工智能领域LLM大语言模型相关的10条最新新闻

Open Interpreter 首先会根据输入的问题整理好解决问题的思路,然后按步骤来完成并一步步去实现。

为了获取全球人工智能领域LLM(Large Language Models)相关的最新新闻,我们可以使用Google新闻搜索API。但是,由于Google新闻搜索API是付费的,我们将使用Python的G  
  oogle News库,它是一个免费的工具,可以抓取Google新闻的结果。                                                     
                                                                                                                   
  以下是我们的计划:                                                                                               
                                                                                                                   
   1 安装Google News库。                                                                                           
   2 导入Google News库。                                                                                           
   3 使用Google News库搜索关于LLM的新闻。                                                                          
   4 打印搜索到的前10条新闻的标题和链接。        

在 Open Interpreter 的执行过程中,对于出现的错误也能很好的自我进行修复,最终完成了结果的输出。

4.4、重置聊天

在 Python 中,Open Interpreter实例会记住您的对话历史记录。如果你想让它忘记以前的消息,你可以重置它:

interpreter.reset()

注意:Open Interpreter 的命令行版本会自动重置。

4.5、视频转录

使用Open Interpreter时,您可以下载来自YouTube的视频并剪切所需部分,然后使用该工具进行音频转录。一旦您完成了转录,您可以使用Open Interpreter进行日语翻译,并将字幕格式从SRT转换为ASS。最后,您可以使用该工具将字幕刻录到视频中,以便您可以轻松地在任何时间观看并理解该视频。这种技能在未来的工作中可能会更加重要。

把这个视频中的语音和字幕换翻译成中文 https://www.youtube.com/watch?v=x7X9w_GIm1s 。

4.5、文章总结

我们利用 Open Interpreter 的联网能力,让其总结一遍互联网上的文章,看看它是如何来完成这个事情的。这里我选择了Meta AI 发布Code Llama模型的文章来演示。

请总结一下这篇文章,用中文输出:Introducing Code Llama, an AI Tool for Coding | Meta

首先,我们需要访问这个网页并获取其内容。然后,我们将使用一个自然语言处理库,如Gensim,来总结这个网页的内容。最   
  用一个翻译库,如googletrans,将总结翻译成中文。                                                                  

  计划如下:                                                                                                       

   1 使用requests库访问网页并获取其内容。                                                                          
   2 使用BeautifulSoup库解析网页内容并提取文章的文本。                                                             
   3 使用Gensim库对文章进行总结。                                                                                  
   4 使用googletrans库将总结翻译成中文。                                                                           

  首先,我们需要安装必要的库。我们将安装requests,beautifulsoup4,gensim和googletrans。
pip install requests beautifulsoup4 gensim googletrans==4.0.0-rc1   

我们已经成功安装了所需的库。接下来,我们将使用requests和BeautifulSoup获取和解析网页内容。

我们已经成功安装了所需的库。现在,我们将按照以下步骤执行我们的计划: 1、使用requests库访问网页并获取其内容。 2、使用BeautifulSoup库解析网页内容并提取文章的文本。 首先,我们将访问网页并获取其内容。

经过几轮错误校正之后,Open Interpreter 最终成果按流程完成了总结:

我们已经成功将文章的总结翻译成中文。这是翻译后的总结:                                                           

  "今天,我们正在发布一个大型语言模型(LLM),可以使用文本提示来生成和讨论代码。Code                               
  Llama有可能用作生产力和教育工具,以帮助程序员撰写更强大,有据可查的软件。34B型号返回最佳结果并允许更好的编码帮   
  ,但是较小的7b和13b型号更快,更适合需要低延迟的任务,例如实时代码完成。Code Llama  -                             
  指令是指代码Llama的微调和对齐变化。这使人们可以更好地了解人们从提示中的期望。我们建议使用Code Llama  -           
  指示变体以自代码LLAMA自代码生成时指示变体 -                                                                      
  指令经过微调,以生成自然语言的有益和安全的答案。在我们的AI博客上了解有关Code Llama的更多信息,或下载Code         
  Llama模型。" 

五、总结

Open Interpreter 是一个突破性的开源项目,它不仅解决了OpenAI GPT-4代码解释器在远程环境中运行所带来的诸多限制,还为开发人员提供了更广泛的功能和灵活性。

作为一个可以在本地环境中运行的工具,Open Interpreter可以访问互联网,没有文件大小和运行时间的限制,并且可以利用任何包或库。它的出现,使得开发人员能够更自由地进行内容创建、数据处理以及各种任务的执行。此外,Open Interpreter还提供了交互式和编程聊天功能,使得用户可以通过在终端中运行解释器与其进行对话,更精确地控制任务和工作流程。

Open Interpreter不仅是一个编码解释器,它还是一个强大的工具,专注于处理复杂任务,将GPT-4代码解释器的强大功能与本地开发环境的灵活性完美结合在一起。

六、References

  • Open Interpreter GitHub

  • https://github.com/KillianLucas/open-interpreter

  • Open Interpreter Google Colab

  • https://colab.research.google.com/drive/1WKmRXZgsErej2xUriKzxrEAXdxMSgWbb?usp=sharing

如果你对这篇文章感兴趣,而且你想要了解更多关于AI领域的实战技巧,可以关注「技术狂潮AI」公众号。在这里,你可以看到最新最热的AIGC领域的干货文章和案例实战教程。

猜你喜欢

转载自blog.csdn.net/FrenzyTechAI/article/details/132846274
今日推荐