Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >本地AI文件管理器:AI驱动+私有LLM,免费整理你的文件库

本地AI文件管理器:AI驱动+私有LLM,免费整理你的文件库

作者头像
AI进修生
发布于 2024-12-02 11:33:08
发布于 2024-12-02 11:33:08
6860
举报
文章被收录于专栏:AI进修生AI进修生

🍹 Insight Daily 🪺

Aitrainee | 公众号:AI进修生

Hi,这里是Aitrainee,欢迎阅读本期新文章。

我很兴奋与大家分享这个非常实用的项目,名为“Local-File-Organizer”。有趣的是,这个项目是开源且免费的,由一位学生开发的,目的是为了整理他或她本地系统上的文件。

这个工具允许你在本地磁盘系统上组织和整理多媒体文件,如文本或图片,还有一些其他支持的格式,稍后我会告诉你。

借助完全私有且本地运行的LLM(大语言模型),你可以整理PNG文件、JPG、JPEG、GIF、BMP格式的图片。对于文本类文件,你可以使用TXT和DOCX格式,此外还能整理PDF文件。

这个工具的工作原理是它利用私有LLM和视觉语言模型的智能来自动整理文件。它会扫描你指定的输入目录(不要给它根目录),然后通过Google的Gemma 2B参数模型进行文本分析,并通过Llava模型进行视觉内容分析。

它能理解文件的内容(无论是文本、图片等),然后生成相关的描述、文件夹名称和文件名称,最后基于生成的元数据重新组织文件到一个新的目录结构中。

所有操作都在本地进行,因为它使用了Nexa SDK

此外,你可以完全离线使用这个“本地文件管理器”,不需要任何AI API之类的东西,一切都是私密的、本地的和安全的。

让我们开始吧!在展示安装步骤之前,

我将克隆这个“本地文件管理器”的代码仓库,它非常轻量。

克隆完成后,我进入这个目录,然后创建一个虚拟环境,这也是推荐的操作。你不仅可以在Linux上执行这些命令,还可以在Windows和macOS上完成相同的操作。

等待虚拟环境创建完成后,确保你正在使用Python 3.12版本,虚拟环境创建完成后,我们激活它。

下一步,我们需要安装Nexa。由于我使用的是Nvidia的GPU,所以我将使用Cuda运行这些命令来安装Nexa,

你可以在GitHub仓库中找到这些命令。

安装过程可能需要一些时间,所以我们等待它完成。Nexa和Nexa SDK安装完成后。

接下来,从这个代码仓库的根目录安装所有依赖。

有时这些依赖会安装失败,如果发生这种情况,只需打开requirements.txt文件并不带版本号地运行它。不过在这个案例中,一切都成功了。

接着我在本地系统上创建了一个新目录,放入了一张图片、一个PDF文件和一个文本文件,它们都包含一些随机信息。然后我将用这些文件测试这个“本地文件管理器”。

现在,要运行它,你只需要运行Python main.py命令,这将启动“本地文件管理器”。运行后,它会询问你要整理哪个目录,确保不要给它根目录,我希望开发者未来能加入一种预运行模式。

现在我选择了这个目录,并指定了一个输出目录。如果不想指定,可以直接按回车键,它会在输入目录下生成一个名为“Organized”的新文件夹。我决定为输出目录指定一个新的路径。

现在工具开始运行了,第一次运行时需要下载一些模型,包括Llava和Gemma 2模型。我们需要等待一会儿。

当它完成时,你可以看到它首先处理的是一张大教堂的图片,并告诉你这个图片的具体信息。

接着是PDF文件,最后是一个只有一句话的文本文件。

所有文件都被保存到了我的指定目录中,比如这张大教堂的图片被命名为“Vian Gothic Cathedral.png”,PDF文件被命名为“Hello there subscribe.txt”,而文本文件由于信息较少,被命名为“Untitled Media”。

让我从图形界面展示一下,打开“De letter”文件夹,工具把大教堂图片组织到了一个名为“Cathedral”的文件夹中,并重命名为“Vian Gothic Cathedral”。文本文件被组织到了“Communication”文件夹中,并重命名为“Hello there subscribe.txt”。

至于科技类文件,它被放到了“Technology”文件夹中,不过由于文件内容比较少,它只简单地命名为“Technology”,这部分可能做得不是很完美。

总的来说,这个工具非常不错,它并没有改变原始文件夹,这一点非常好。

如果你想尝试在根目录下运行,我建议开发者引入预运行模式或保护机制,因为Linux系统没有警告提示。如果在Linux上以root用户运行,系统不会阻止你,因此要格外小心。

总的来说,这是一个不错的项目,对于本地化PC操作智能具有贡献意义。

🌟希望这篇文章对你有帮助,感谢阅读!如果你喜欢这系列文章请以 点赞 / 分享 / 在看 的方式告诉我,以便我用来评估创作方向。

参考链接: [1] github:https://github.com/QiuYannnn/Local-File-Organizer [2] https://www.youtube.com/watch?v=ocWYmlF26jE

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI进修生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python教程(26)——Python迭代器和生成器详解
Python中的迭代器是一种对象,它可以迭代(遍历)一个可迭代对象(比如列表、元组或字符串)的元素。迭代器用于实现迭代器协议,即包含 __iter__() 方法和 __next__() 方法。
一点sir
2024/02/18
3020
Python教程(26)——Python迭代器和生成器详解
Python的迭代器与生成器
迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一 个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
星陨1357
2023/03/14
4170
[Python]生成器generator,可迭代Iterable和迭代器Iterator
[Python]生成器generator,可迭代Iterable和迭代器Iterator
祥知道
2020/03/10
7140
python3--迭代器,生成器
现在是从结果分析原因,能被for循环的就是"可迭代的",但是如果按常规想,for怎么知道谁是可迭代的呢?
py3study
2018/08/02
4620
迭代器和生成器
一 迭代和可迭代协议 什么叫迭代 1234不可以for循环,是因为它不可迭代。那么如果“可迭代”,就应该可以被for循环了。 这个我们知道呀,字符串、列表、元组、字典、集合都可以被for循环,说明他们都是可迭代的。 我们怎么来证明这一点呢? from collections import Iterable l = [1,2,3,4] t = (1,2,3,4) d = {1:2,3:4
用户1214487
2018/01/23
6280
迭代器和生成器
Python使用生成器对延迟操作提供了支持。所谓延迟操作,是指在需要的时候才产生结果,而不是立即产生结果。
全栈程序员站长
2022/07/21
4650
Python迭代器和生成器
Python的迭代器集成在语言之中,迭代器和生成器是Python中很重要的用法,本文将深入了解迭代器和生成器。
oYabea
2020/09/07
4430
python迭代器、生成器、装饰器
可以直接作用于for循环的对象统称为可迭代对象,即Iterable。   # 一是集合数据类型,如list、tuple、dict、set、str等;   # 二是generator,包括生成器和带yield的generator function。
用户1432189
2018/09/05
8920
python迭代器、生成器、装饰器
python基础-迭代器和生成器
我们可以使用__closure__ 来检测函数是否是闭包. 使用函数名.__closure__返回cell就是 闭包. 返回None就不是闭包
以谁为师
2019/05/28
7170
理解Python 生成器与迭代器
前一段时间和同事聊到Python技术知识,发现自己对生成器,迭代器傻傻分不清楚,于是乎查文档,找资料,有了此文。
用户1278550
2018/08/09
5480
python生成器和迭代器
第二,本次迭代的要依赖上一次的结果继续往下做,如果中途有任何停顿,都不能算是迭代。
用户7886150
2020/11/30
4780
Python中的 生成器、迭代器
上一次输出的结果为下一次输入的初始值,重复的过程称为迭代,每次重复即一次迭代,并且每次迭代的结果是下一次迭代的初始值
用户7886150
2020/11/30
1.3K0
python 数据类型及推导式、迭代器和生成器
使用namedtuple相当于创建了一个类,s1相当于实例话了一个包含name,age,gender三个属性的类。
测开菜鸟_python
2021/04/18
3470
python 可迭代对象 迭代器 生成器_Python3迭代器获取
初学者在日常提升Python基本功的时候,可能会被Python的迭代器和生成器搞晕,之前在学习和使用时,本来for in 循环体和enumerate函数用的飞起,觉得自己已经彻底了解了Python的迭代特性,但接触了迭代器和生成器后,突然感觉懵逼,大概率会被可迭代、迭代器、生成器等概念搞的不知所向,本文就是结合日常项目应用,对Python的迭代概念进行系统性的全面解析,包括其底层实现原理,还有一些常见的应用,希望能帮助更多人,同时也算作给自己梳理思路。
全栈程序员站长
2022/11/10
1.1K0
列表生成式,迭代器和生成器
现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],现在要求把列表里的每个值加1,你怎么实现?你可能会想到的几种方法:
py3study
2020/01/15
5950
一文彻底搞懂Python可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)的概念
在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)这几个概念是经常用到的,初学时对这几个概念也是经常混淆,现在是时候把这几个概念搞清楚了。
阳仔
2019/08/01
6.3K0
快速学习Python之迭代器和生成器
str 可以用for循环遍历,这种遍历称为迭代(Iteration),被遍历的list或tuple等被称为可迭代对象。
吾非同
2020/10/26
3930
快速学习Python之迭代器和生成器
【Python】10“生成器和迭代器“
生成器:generator,是一种一边循环一边计算的机制,在传统的函数中,我们可能要从一个函数得到数组列表,而内存容量是有限的,计算出的值到达一定数量时,这样执行效率就会大打折扣。
肓己
2021/08/12
2810
Python 迭代器与生成器
迭代器:是访问数据集合内元素的一种方式,一般用来遍历数据,但是他不能像列表一样使用下标来获取数据,也就是说迭代器是不能返回的。
昱良
2019/05/28
7540
python的迭代器和生成器
迭代是数据处理的基础,迭代可以理解为是一种惰性求值。在python里迭代器和生成器是一回事,使用的是yield关键字。
哒呵呵
2018/08/06
3820
相关推荐
Python教程(26)——Python迭代器和生成器详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档