ChatGPT在指尖跳舞: open-interpreter实现本地数据采集、处理一条龙

原文:ChatGPT在指尖跳舞: open-interpreter实现本地数据采集、处理一条龙 - 知乎

目录

收起

Part1 前言

Part2 Open - Interpreter 简介

Part3 安装与运行

Part4 工作场景

1获取网页内容

2 pdf 文件批量转换

3 excel 文件合并

Part5总结

参考资料

往期推荐

更多详情请点击查看原文ChatGPT在指尖跳舞: open-interpreter实现本地数据采集、处理一条龙

Python教学专栏,旨在为初学者提供系统、全面的Python编程学习体验。通过逐步讲解Python基础语言和编程逻辑,结合实操案例,让小白也能轻松搞懂Python!

>>>点击此处查看往期Python教学内容

本文目录

一、前言
二、Open - Interpreter 简介
三、安装与运行
四、工作场景
(一)获取网页内容

(二)pdf文件批量转换

(三)excel文件合并
五、总结
本文共4192个字,阅读大约需要11分钟,欢迎指正!

Part1 前言

本期介绍由 KillianLucas 发布在 Github 上的一个开源项目 open-interpreter,该项目允许 AI 大语言模型(LLMs)在本地电脑运行代码(Python、Javascript、Shell 等),和之前文章中通过调用 ChatGPT 运行代码的方法有着异曲同工之妙。(传送门:Python 实战 | ChatGPT + Python 实现全自动数据处理/可视化

当然,与之相比,open-interpreter 更加强大和完善,能够更灵活地处理多种任务,目前已经登上了 Github 热榜并获得了 17k+ 的星标。本篇文章将介绍 open-interpreter 的用法,并给出一些应用示例。

Part2 Open - Interpreter 简介

一言蔽之,Open - Interpreter 就是一个部署在本地电脑上的,能够帮你完成本地电脑操作,调用本地的网络、编程环境帮你采集和操作、处理本地数据的 AI 工具。

实际上,OpenAI 也发布过一款代码解释器,该解释器使用 GPT-4 模型,在沙盒、防火墙执行环境中工作。OpenAI 发布的代码解释器支持上传和下载文件,但有 100M 的文件大小限制。此外,出于安全考虑,OpenAI 为这个解释器设置了严格的限制,使它不能访问网络,且只能使用有限的三方库[1]

OpenAI 发布的代码解释器

与 OpenAI 发布的解释器相比,open-interpreter 解释器具有以下的优势:

  • 支持联网,可以通过 Python 三方库访问网络
  • 本地访问,文件大小和操作时间没有限制
  • 可以使用所有库,GPT 在给出的代码中会包含安装库的代码
  • 支持GPT-4和ChatGPT-3.5-Turbo,甚至如果没有API,还可以把模型换成开源的Code LLaMa

Part3 安装与运行

open-interpreter 既支持在 Python 开发环境中运行,也支持在本地终端运行(需要确保本地编程语言已部署),但发布者 KillianLucas 更倾向于使用终端运行,在本文结果的测试中,笔者也确实发现用终端运行更加方便。无论使用哪种运行方式,安装方法都是一样的:

1 pip install open-interpreter

安装完成后,如果要在终端运行,有三种开启方式:

  • 默认开启——使用 GPT-4 模型:interpreter
  • 快速开启——使用 GPT-3.5-Turbo 模型:interpreter --fast
  • 本地开启——使用本地模型(免费):interpreter --local

在终端输入开启命令并回车后会提示指定 OpenAI API Key,输入 Key 并回车后即可运行 open-interpreter:

open-interpreter 终端运行界面(使用 GPT-3.5-Turbo 模型)

这里顺便提一下,如果不想在每次使用时重复输入 OpenAi API Key,那么可以将 Key 储存在环境变量中,这样每次运行的时候将从环境变量中自动导入。只需要在计算机设置中搜索环境变量,然后新建一个名为“OPENAI_API_KEY”的环境变量即可:

也可以在终端中输入setx OPANAI_API_KEY YOUROPANAIAPIKEY来将 Key 存入环境变量。在 Python 开发环境中要通过导入库的方式运行 open-interpreter:

1 import interpreter

如果要使用其他模型,需要用以下代码指定,否则会默认使用 GPT-4 模型:

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

在开发环境中调用 open-interpreter 需要使用函数interpreter.chat()。如果不指定内容,将和终端运行一样启动交互式聊天,如果要更精确的控制,也可以在函数中指定具体的提问内容:

1 # 交互式聊天
2 interpreter.chat()
3
4 # 精确控制
5 interpreter.chat("你的提问内容")

当 open-interpreter 给出任务的实行计划和代码时,需要输入y来确认接受给出的计划或者代码,如果对给出的答案不满意,可以输入n,并重新给出要求让 AI 完善答案,直到满意为止。接下来将用几个工作场景中的应用来展示 open-interpreter 的强大功能。

Part4 工作场景

1获取网页内容

open-interpreter 最引人注目的特点是支持联网,我们首先让它尝试读取和理解网页的内容。我们索性让它读取 open-interpreter 项目所在的 Github 网址,来一个简单的“自我介绍”。

首先,我们使用开启命令运行 open-interpreter(这里使用的是 GPT-4 模型),然后向它提问“这个Github项目的主要内容是什么?https://github.com/KillianLucas/open-interpreter”,之后 AI 给出了相应的解决步骤以及 Python 代码:

访问网页解决方案

我们键入y选择接受这个解决思路,open-interpreter 会运行代码并给出结果:

访问网页结果

open-interpreter 成功读取了该网页的内容,并给出了信息摘要。

接下来,我们尝试让 open-interpreter 完成一个简单的爬虫任务。我们想要从浙江省科学技术厅发布的通知中获取“2022年度浙江省科技领军企业认定名单”和“2022年度浙江省科技小巨人企业认定名单”,发布通知的网页地址为“https://kjt.zj.gov.cn/art/2023/1/13/art_1229225203_5055092.html”,原始网页内容如下:

原始网页信息

我们向 open-interpreter 发出指令让其获取这些内容,AI 给出的解决方案为:

从网页获取表格方案

可以看到,AI 首先给出代码安装requestbeautifulsoup4pandasopenpyxl四个库,由于在此之前这四个库已经安装过了,因此键入n并让其修改方案,AI 的修改结果如图:

按要求修正 AI 给出的方案

之后重复上述操作,根据自己的需求选择是否接受 AI 的代码,并让其一直完善直到满意即可。最终,open-interpreter 完成了任务,将表格储存在了要求的目录下:

网页表格获取结果的储存

最终 AI 储存的 excel 内容如下图所示。可以看到操作过程中 AI 正确获取了我们需要的信息,且没有包含无关信息,任务完成的非常成功:

open-interpreter 获取的 excel 表格内容

2 pdf 文件批量转换

数据处理过程中经常会遇到一些以 pdf 格式存储的表格,使用 Python 可以将这些表格储存为 excel 格式。现在文件夹中有四个 pdf 文件,我们向 open-interpreter 发出指令让它把其中的表格提取出来,并以 excel 格式储存。

pdf 批量转换方案

同样地,AI 将给出解决的步骤,我们按照自己的需求不断调整,最终 AI 将完成 pdf 的批量转换,并将转换得到的 excel 文件保存在同一文件夹下:

pdf 转换完成

转换得到的 excel 表格

3 excel 文件合并

处理数据时我们经常会遇到这样的情况:由于数据库导出限制或者其他原因,一个完整的数据集被拆分为多个小的数据集分开存储,而数据分析时我们需要将小的数据集合并。这类任务使用 open-interpreter 也可以轻松完成。

本节示例数据我们使用了企研·社科大数据平台“中国公共政策与绿色发展数据库”中的“21家主要银行绿色信贷情况统计表”(网址:https://r.qiyandata.com/)。文件夹中共有五个 excel 表,其字段全部相同,现在我们向 open-interpreter 发出指令让它把五个表合并成一个大的 excel 表:

“21家主要银行绿色信贷情况统计表”位于CPPGD下的“绿色金融”-“绿色信贷”模块。

中国公共政策与绿色发展数据库(简称 "CPPGD")是由企研数据携手浙江大学中国农村发展研究院和浙江工商大学经济学院联合发起,为助力国家围绕"碳达峰、碳中和"双碳目标做出的一系列重大战略部署,服务中国绿色发展及相关领域学术与政策研究而倾力打造的专题数据库。

更多数据相关资讯请查看原文!

excel 合并方案

最后,open-interpreter 成功的将五个 excel 表合并成了一个名为“merged.xlsx”的总表:

excel 合并结果

最终合并的表格共有 25 行,包含 11 个字段:

合并后的 excel 数据

Part5总结

随着 LLM 大模型的发展,AI 可以使用的范围越发广泛,各种 AI 工具层出不穷。本文介绍的 open-interpreter 在一定程度上解决了 GPT 模型不能联网的问题,本地运行的特点让它可以操作本地文件,代码确认功能则保证了安全性问题,是一个很好的 LLM 拓展应用。当然,介于篇幅问题,本文没有面面俱到地展示 open-interpreter 的所有功能,有兴趣的读者可以参考作者 KillianLucas 贴在 Github 项目页中的 Colab 笔记[2],或者自行安装探索。

参考资料

[1]有限的三方库: https://wfhbrian.com/mastering-chatgpts-code-interpreter-list-of-python-packages/

[2]Colab 笔记: https://qiyandata.feishu.cn/wik

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/249476.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

字符设备驱动模块的编译

一. 简介 本文继上一篇文章的学习,上一篇文章学习了字符设备驱动框架的初步编写。文章地址如下: 字符设备驱动框架的编写-CSDN博客 本文对上一篇编写的驱动模块初步框架进行编译。 二. 字符设备驱动模块的编译 上一篇文章,编写了字符设备…

多分类预测 | MATLAB实现CNN-LSTM-Attention多输入分类预测

分类预测 | MATLAB实现CNN-LSTM-Attention多输入分类预测 分类效果 需要源码和数据的私信(微微有偿取哦)

swing快速入门(十二)

注释很详细,直接上代码 上一篇 新增内容 1.Box容器和BroadLayout布局管理器的结合用法 2.textArea(多行文本域) 3.Choice(下拉选择栏) 4. CheckboxGroup(多项单选选择框) 5. Checkbox&…

爬虫chrome浏览器抓包说明

chrome浏览器抓包说明 目标:掌握chrome在爬虫中的使用 1. 新建隐身窗口(无痕窗口) 作用:在打开无痕窗口的时候,第一次请求某个网站是没有携带cookie的,和代码请求一个网站一样,这样就能够尽可…

网络服务IP属地发生变化的原因有哪些?

近期,许多用户发现自己的网络服务IP属地发生了变化。原本固定的IP地址不再是静态的,而是发生了变动。这一现象引起了广大用户的关注和疑惑,对网络服务的使用和信息安全产生了影响。为了解决用户的疑虑,我们对此现象进行了深入探究…

.NET 8的正式发布,对Telerik开发工具意味着什么?

微软日前正式发布了.NET 8稳定版,这是一个长期支持(LTS)的版本,它可以使Android、Windows和macOS跨平台应用的开发过程高效流畅,同样的目标也驱使着Telerik UI不断进步和发展! Telerik DevCraft包含一个完整的产品栈来构建您下一个…

现代雷达车载应用——第2章 汽车雷达系统原理 2.6节 雷达设计考虑

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.6 雷达设计考虑 上述部分给出了汽车雷达基本原理的简要概述。在雷达系统的设计中,有几个方面是必不可少的,它们决定了雷达系…

真正可行的vue3迁移到nuxt3方法(本人亲测,完全避坑)

终于到了总结经验的时候了,这绝对是全网唯一、完全真正可行的干货。 在我看来,知识就是要拿来分享的,分享给他人也是在提高自己。我绝对不会搞什么订阅或者vip专栏来搞钱坑害各位, 因为我在csdn写文章最主要的目的是为了记录和总…

接口测试 — 4.Requests库GET、Post请求

Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求。 (不带参数的GET请求请看上一篇文章的练习) 1、Requests库待参数的GET请求 使用Get方法带参数请求时,是params参数字典,而不是data参数字典。data参数字典…

从零开始:前端架构师的基础建设和架构设计之路

文章目录 一、引言二、前端架构师的职责三、基础建设四、架构设计思想五、总结《前端架构师:基础建设与架构设计思想》编辑推荐内容简介作者简介目录获取方式 一、引言 在现代软件开发中,前端开发已经成为了一个不可或缺的部分。随着互联网的普及和移动…

Redis 过期删除策略、内存回收策略、单线程理解

不知从何开始Redis的内存淘汰策略也开始被人问及,卷!真的是太卷了。难不成要我们去阅读Redis源码吗,其实问题的答案,在Redis中的配置文件中全有,不需要你阅读源码、这个东西就是个老八股,估计问这个东西是想…

深度探索Linux操作系统 —— 构建根文件系统

系列文章目录 深度探索Linux操作系统 —— 编译过程分析 深度探索Linux操作系统 —— 构建工具链 深度探索Linux操作系统 —— 构建内核 深度探索Linux操作系统 —— 构建initramfs 深度探索Linux操作系统 —— 从内核空间到用户空间 深度探索Linux操作系统 —— 构建根文件系统…

金融众筹系统源码:适合创业孵化机构 附带完整的搭建教程

互联网技术的发展,金融众筹作为一种新型的融资方式,逐渐成为创业孵化机构的重要手段。为了满足这一需求,金融众筹系统源码就由此而生,并附带了完整的搭建教程。 以下是部分代码示例: 系统特色功能一览: 1.…

发现隐藏的 Web 应用程序漏洞

随着 Web 2.0 的扩展,近年来社交媒体平台、电子商务网站和电子邮件客户端充斥着互联网空间,Web 应用程序已变得无处不在。 国际知名网络安全专家、东方联盟创始人郭盛华透露:‘应用程序消耗和存储更加敏感和全面的数据,它们成为对…

时序分解 | Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICEEMDAN时间序列信号分解

时序分解 | Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICEEMDAN时间序列信号分解 目录 时序分解 | Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICEEMDAN时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现NGO-ICEEMDAN基于北方苍鹰算法优化ICE…

Chrome安装插件出现CRX-HEADER-INVALID解决方法

1 Chrome浏览器安装离线插件时出现了“CRX-HEADER-INVALID”错误。 2将插件包的后缀名改成.zip格式。 3点击右侧三点按钮后点击【更多工具】--》【扩展程序】界面。 4在【扩展程序】将ZIP包拉入并安装。 5这样就安装成功了,虽然图标上有红色图标…

Dockerfile创建镜像 INMP+wordpress

Nginx 172.111.0.10 MySQL 172.111.0.20 PHP 172.111.0.30 Nginx Vim Dockerfile MySQL Vim my.cnf PHP

【强化学习-读书笔记】表格型有模型和无模型的结合、Dyna-Q、Dyna-Q+、表格型方法的总结

参考 Reinforcement Learning, Second Edition An Introduction By Richard S. Sutton and Andrew G. Barto前面的方法要么是单纯的 model-based ** 方法,要么是 model-free。基于模型的方法将规划作为其主要组成部分,而无模型的方法则主要依赖于学习…

vue javascript tree 层级数据处理

层级数据是有父子关系的数组,示例: const treeData [{id: 1b7e8e98cb1d4a1f81e4fe2dfd9a8458,name: 层级1,parentId: null,children: [{id: 0d45dd5bb4c14d64a3ab0b738add4b24,name: 层级1-1,parentId: 1b7e8e98cb1d4a1f81e4fe2dfd9a8458,children: [{…

Arduino下载、安装及配置(含中文配置步骤)

Arduino下载 官网下载 官网链接---------> Arduino - Home 网盘下载 链接:https://pan.baidu.com/s/1In38y8pinjCL0DEGjRHVTQ?pwdJAYU 提取码:JAYU Arduino安装 直接下一步下一步就行(如果不想放在C盘,那就改…