
打开你的 ~/Downloads 目录,或者桌面,很可能一片混乱……
计算机科学领域只有两件难事:缓存失效和命名。
LlamaFS 是一款自组织文件管理器。它能根据文件内容和常规惯例(如时间)自动重命名并整理文件。支持多种文件类型,包括图片(通过 Moondream)和音频(通过 Whisper)。
LlamaFS 有两种运行“模式”——批处理模式(batch mode)和交互式守护进程模式(watch mode)。
批处理模式:你可以将目录发送给 LlamaFS,它会返回建议的文件结构并整理你的文件。
监控模式:LlamaFS 启动一个守护进程来监控目录。它会拦截所有文件系统操作,并利用你最近的编辑行为来主动学习你如何重命名文件。例如,如果你为 2023 税务文件创建了一个文件夹,并开始往里面移动 1-3 个文件,LlamaFS 会自动创建并移动这些文件!
等等……把所有个人文件发送给 API 提供商?不了,谢谢!
它还提供了“隐身模式”开关,你可以通过它将所有请求路由到 Ollama 而非 Groq。由于两者使用相同的 Llama 3 模型,性能表现完全一致。
LlamaFS 基于 Python 后端构建,利用 Groq 上的 Llama3 模型进行文件内容摘要和树结构生成。在本地处理方面,我们集成了运行相同模型的 Ollama,以确保隐身模式下的隐私保护。前端使用 Electron 构建,提供简洁友好的用户界面,让用户在最终确认更改前与建议的文件结构进行交互。
速度极快!(按 LLM 标准)在监控模式下,大多数文件操作在 <500ms 内完成(由 AgentOps 基准测试)。这得益于我们的智能缓存技术,它仅根据最小必要的文件系统差异选择性重写索引部分。当然,还有 Groq 超快的推理 API。😉
立即可用——使用门槛极低,解决了几乎每个人都面临的难题。我们自己在项目中就开始使用了(非常 Meta)。
安装前,请确保满足以下要求:
- Python 3.10 或更高版本
- pip(Python 包管理器)
克隆仓库:
bash
git clone https://github.com/iyaja/llama-fs.git
进入项目目录:
bash
cd llama-fs
安装依赖:
bash
pip install -r requirements.txt
配置 .env 文件:
将 .env.example 复制为 .env,然后填入以下 API 密钥:
- Groq:可从此链接获取。
- AgentOps:可从此链接获取。
Groq 用于快速云端推理,但可以在代码中直接替换为 Ollama(待实现)。
AgentOps 用于日志记录和监控,可报告延迟、每次会话的成本,并提供每次 LlamaFS 调用的完整会话回放。
bash
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/<用户名>/Downloads/", "instruction": "string", "incognito": false}'