LlamaFS
灵感来源
打开你的~/Downloads
目录。或者你的桌面。可能一片混乱...
计算机科学中只有两件难事:缓存失效和命名。
它的功能
LlamaFS是一个自组织文件管理器。它根据文件内容和众所周知的惯例(例如时间)自动重命名和组织你的文件。它支持多种类型的文件,包括图片(通过Moondream)和音频(通过Whisper)。
LlamaFS以两种"模式"运行 - 批处理模式和交互式守护进程模式(监视模式)。
在批处理模式下,你可以将一个目录发送给LlamaFS,它会返回一个建议的文件结构并组织你的文件。
在监视模式下,LlamaFS启动一个守护进程来监视你的目录。它拦截所有文件系统操作,并使用你最近的编辑来主动学习你如何重命名文件。例如,如果你为2023年的税务文件创建了一个文件夹,并开始移动1-3个文件到其中,LlamaFS将自动为你创建和移动文件!
呃...把我所有的个人文件都发送给API提供商?!不,谢谢!
它还有一个"隐身模式"的切换选项,允许你通过Ollama而不是Groq来路由每个请求。由于它们使用相同的Llama 3模型,性能完全相同。
我们如何构建它
我们在Python后端上构建了LlamaFS,通过Groq利用Llama3模型进行文件内容摘要和树结构化。对于本地处理,我们集成了运行相同模型的Ollama,以确保隐身模式下的隐私。前端使用Electron精心制作,提供了一个时尚、用户友好的界面,允许用户在最终确定更改之前与建议的文件结构进行交互。
-
速度极快!(按LLM标准)!在监视模式下,大多数文件操作的处理时间不到500毫秒(由AgentOps进行基准测试)。这是因为我们的智能缓存根据最小必要的文件系统差异选择性地重写索引的部分内容。当然,还有Groq超快的推理API。😉
-
立即可用 - 使用起来非常简单,解决了几乎每个人都有的问题。我们自己在这个项目上开始使用它(非常元)。
LlamaFS的未来计划
- 查找并删除旧的/未使用的文件
- 我们有一些非常酷的想法 - 文件系统差异很难处理...
安装
先决条件
在安装之前,请确保你具备以下要求:
- Python 3.10或更高版本
- pip(Python包安装器)
安装步骤
要安装该项目,请按照以下步骤操作:
-
克隆仓库:
git clone https://github.com/iyaja/llama-fs.git
-
进入项目目录:
cd llama-fs
-
安装依赖项
pip install -r requirements.txt
-
更新你的
.env
将.env.example
复制到一个名为.env
的新文件中。然后,提供以下API密钥:
Groq用于快速云推理,但可以在代码中直接替换为Ollama(待完成)。
AgentOps用于日志记录和监控,它将报告每个LlamaFS调用的延迟、每个会话的成本,并为你提供完整的会话回放。
- (可选)如果你想使用隐身模式,安装moondream
ollama pull moondream
使用方法
要使用FastAPI在本地运行应用程序,请运行以下命令
fastapi dev server.py
这将默认在8000端口运行服务器。可以使用curl
命令查询API,并将文件路径作为参数传递。例如,对于Downloads文件夹:
curl -X POST http://127.0.0.1:8000/batch \
-H "Content-Type: application/json" \
-d '{"path": "/Users/<username>/Downloads/", "instruction": "string", "incognito": false}'