你品,你细品。这像不像《黑镜》中“你的全部历史”那一集,描述了一种人人都植入芯片、能随时读取过去记忆的未来生活。
更有意思的是,发明这个软件的朋友将其命名为Pensieve (冥想盆),它是指”哈利波特中提取和回顾记忆的那个大水盆子”。
笑死,你别说还真贴切!事实上,这个项目大量借鉴了之前就很火的“记忆助手软件”Rewind和微软的Windows Recall功能。
但是,这两个emmm……Rewind要收费(基础版12美元/月),微软的延期了。
所以,既免费、又立即可用的Pensieve是真香了!
这不,代码更新后迅速登上了GitHub热榜~
记住并回忆电脑屏幕上的所有内容
我们先来看GitHub页面上Pensieve(原名为Memos)的官方介绍:
一个以隐私为中心的被动录制项目。它可以自动记录屏幕内容,构建智能索引,并提供方便的网页界面以检索历史记录。
是不是听起来还是有点抽象?
别急,我们马上拿Rewind和Windows Recall来一波回忆杀(doge)。
先说微软画了很久的大饼——Windows Recall。这个功能是今年5月首次被提出的,当时微软计划将其作为Copilot + PC的一项旗舰功能推出。
当时主打,任何文件或网页浏览记录都可以用自然语言搜索,轻松回忆任何东西。
然而,由于安全方面的担忧,该功能的发布被一再推迟,且至今仍未上线。
细数一下,微软最初计划于6月18日发布,但由于安全问题,到了时间点却未能按时上线。
后来微软对其进行了改进,加入了高级加密和Windows Hello认证,数据被保存在VBS安全区中,第三方应用和用户无法访问,而且截图将自动排除诸如密码和信用卡信息等敏感内容。
一番改造后,微软又计划在10月底开始测试新版本的Windows Recall。
直到今日,该功能仍未上线,微软还在改改改……
此外,对于“记忆助手”Rewind,虽然干得热火朝天,但奈何它是收费滴。
Rewind成立于2020年,主打通过AI技术捕捉和整理用户的全部生活内容。
具体功能和Windows Recall类似,也是帮助用户记录并回溯在手机或电脑上看过的所有信息。
不过除了走到“回忆起”这一步,Rewind走得更远了一点。
它还接入了GPT-4,能够对这些“记忆”进行更深一步的操作,使得用户可以通过提出问题、创建摘要等方式与系统进行交互。
而就在Rewind功能更加完备的过程中,它也收获了资本的青睐。
截至今年初,Rewind已经完成了两轮融资,共计2790万美元,估值约为3.5亿美元(25.34亿人民币),而且两轮中都有OpenAI CEO Sam Altman和a16z的身影。
相比之下,根据项目作者的说法,Pensieve的最大特点在于:
允许用户完全控制自己的数据,避免将数据传输到不可信的数据中心。
具体而言,Pensieve拥有以下几个特点:
简单安装,只需通过pip安装依赖项即可开始;
所有数据均本地存储,允许完全本地操作和自主数据管理;
实现全文和向量搜索;
与Ollama(一个支持本地部署LLM的开源框架)集成,增强搜索能力;
支持Mac和Windows(Linux支持正在开发中);
兼容任何OpenAI API模型(例如,OpenAI、Azure OpenAI、vLLM等);
允许用户选择和设置语言模型(包括中文和英文);
允许通过插件扩展功能;
下面重点介绍大家关心的几个问题。
第一,需要占用多少存储。
作者贴心预估了一下,每月按20个工作日计算,产生的截图文件约8GB。截图会进行去重,如果连续截图内容变化不大,那么只会保留一张截图。
SQLite数据库大小取决于索引的截图数量,10万张截图索引后约占用2.2GB存储空间。
第二,关于功耗和硬件设备。
Pensieve默认需要两个计算密集型任务:1)一个是OCR任务,用于从截图提取文本;2)另一个是嵌入任务,用于提取语义信息和构建向量索引;
对于前者,作者使用CPU执行,并针对不同的操作系统优化以最小化CPU使用。
而对于后者,作者认为可以按照自己的设备进行选择:
NVIDIA GPU设备优先使用GPU;
苹果设备优先使用Metal GPU;
其他设备使用CPU;
当然,为了避免影响用户日常使用,Pensieve还采取了优化措施。
一方面,Pensieve能够根据用户的活动模式动态调整索引构建的频率。也就是说,在用户使用电脑时,它会降低索引构建的优先级,以减少系统资源的占用。
另一方面,Pensieve在设计时考虑了电池使用寿命,通过监控电池状态,当电池电量低于某个阈值时,会自动减少资源消耗,以延长电池使用时间。
第三,隐私安全如何保证。
Pensieve作者提出了4点措施来保证用户隐私,包括:
1、代码是完全开源且易于理解的Python代码,允许任何人审查以确保没有后门或恶意软件。
2、本地化数据存储。Pensieve将所有数据存储在用户的本地设备上,而不是上传到云端服务器。
3、易于卸载:Pensieve提供了简单的卸载过程,用户可以轻松地从系统中移除。
4、数据处理完全由用户控制。用户可以自由选择何时启动或停止记录,以及如何管理和查询自己的数据。
另外,作为一个独立项目,Pensieve所使用的机器学习模型(包括VLM和嵌入模型)都允许由用户选择。
这就上手安装试试
概括而言,使用Pensieve大致包括以下几个步骤:
安装Pensieve
初始化pensieve配置文件和sqlite数据库
使用两行命令启动服务
打开浏览器并访问Web界面
BTW,Pensieve作者也贴心奉上了“食用指南”,简单概括如下:
1、选择适当的嵌入模型
由于Pensieve使用嵌入模型提取语义信息并构建向量索引,故选择合适的嵌入模型至关重要。
根据用户习惯的语言,作者提供了中英两种模型。
2、使用Ollama进行视觉搜索
默认情况下,Pensieve仅启用OCR插件从截图提取文本并构建索引。然而,这种方法极大限制了没有文本的图像的搜索效果。
对此,我们需要一个与OpenAI API兼容的多模态图像理解服务,刚好Ollama可以胜任。
需要提醒的是,在启动VLM功能之前,对硬件有一定要求:
推荐配置:至少8GB VRAM的NVIDIA显卡或搭载M系列芯片的Mac;
CPU模式不推荐,因为它会导致系统严重卡顿;
3、全文索引
由于Pensieve默认情况下并非所有截图都会立即索引,因此,需要以下命令行,才能实现全文索引功能。
更多安装细节可参见原项目库,地址也给大家放上了~
GitHub:
https://github.com/arkohut/pensieve?tab=readme-ov-file
— 完 —