大家好,我想跟大家分享一下我过去两年一直在折腾的一个项目,一开始只是在家里随便搞着玩的,结果现在居然有人真在用了。
简单来说,我做了一个语音驱动的操作系统风格应用,所有AI模型都是在本地跑的——完全不会把数据发到OpenAI或者其他地方去。虽然还在早期阶段,而且看起来有点乱,但我真的在努力做出一些很酷的东西。
根据你的硬件配置,它可以在本地同时运行11个112个模型中的部分,比如并行地做搜索、摘要、打标签、命名实体识别(NER)、文件索引,还有一些用于记忆持久化的模块。但最酷的是,它还能运行完整的内容推荐引擎、情绪分析器、语音处理器、图像放大器、翻译模型、内容过滤器、邮件编辑器、P2P推理路由器,甚至还有身体姿势追踪器——这些全都是在本地完成的!
我还做了一个可以在设备上构建知识图的搜索索引器、用于消除背景噪音的音频隔离器、实时OCR引擎,以及支持跨设备的分布式模型分片。局域网(LAN)上的分布式推理功能已经快完成了,估计几个月后就能发布。
你只需要跟这个系统说话,它就会帮你找到信息,学习你的习惯,预测你的需求。多代理协作机制简直疯狂——差不多有80个专门的AI模型在并行工作,还要做临时的负载均衡。我的灵感来自Congas LB架构,他们是怎么做到的让我很受启发。
举个例子,如果你在同一局域网下有两台设备,那我这个临时的负载均衡器就会自动把模型推理任务分配到不同设备上。就像你和朋友在局域网聚会,或者家里有几台笔记本/台式机,系统会自动发现其他节点,然后开始把任务分配给那些有多余算力的设备。
下面是一些相关资源:
我用来做任务编排的调度器:https://github.com/SRSWTI/shadows
还有基于WebSocket的RPC框架,让服务器和客户端都能轻松调用对方的Python方法:https://github.com/SRSWTI/fasterpc
当然还有更多东西,但上面这两个是整个项目的核心。我还自己做了一个音乐推荐系统,因为我想要一个真正懂我口味的推荐器,比如喜欢Carti、Ken Carson这种嘻哈风格。
实现起来其实挺简单的:用librosa提取歌曲的音频特征,比如节奏、能量、可跳舞性,然后把这些特征输入一个基础的相似度模型。再加上一些隐式反馈,比如我听了多少次、跳过了多少次、有没有加到播放列表里。接下来我打算用MFCC、色度、频谱特征这些来做音频嵌入(embd),然后用余弦相似度来找声学特征相近的歌曲。这部分还没完全做完,但已经在计划中了。
最疯狂的是,这玩意儿在普通笔记本上都能跑起来。如果你的设备配置更高,比如有GPU,它还能自动扩展性能。对了,我还用MLX优化了M1 Mac的运行效率。
我一直坚信AI应该人人可用,而不是被锁在企业API后面,只有少数人能用。
一开始只有10个用户,主要是我朋友,现在已经有几千人用了。这个社区对我的帮助真的很大,超乎想象。
总之,我只是想来分享一下,因为这个社区一直激励着我。如果没有看到大家在这里造出的这些“疯狂玩意儿”,我可能也不会这么拼地推进这个项目。
演示视频可以看这里:
https://x.com/knowrohit07/status/1965656272318951619 |