核心用法
RAGLite 是一套本地优先的检索增强生成(RAG)缓存方案,采用"蒸馏→索引→查询"三段式 workflow:
1. 蒸馏阶段:将原始文档(PDF、网页等)通过 LLM 转换为结构化 Markdown,实现"compression-before-embeddings"——减少冗余信息、降低嵌入成本、提升检索精准度
2. 索引阶段:蒸馏后的 Markdown 同时写入 Chroma 向量数据库(语义检索)和文件系统(供 ripgrep 关键词检索),形成混合索引
3. 查询阶段:支持向量+关键词混合检索,返回相关片段供下游使用
CLI 入口为 ./scripts/raglite.sh,核心命令包括 run(蒸馏+索引一键流水线)和 query(检索查询)。默认使用 OpenClaw 引擎进行文档蒸馏,可通过 --engine 覆盖。
显著优点
- 隐私优先:数据完全本地存储,无需上传至第三方向量数据库或云端服务,适合处理敏感资料(医疗记录、内部 runbook、个人笔记)
- 可审计的中间产物:蒸馏后的 Markdown 为人类可读格式,便于版本控制、人工复核和 diff 对比
- 开源组件栈:基于 Chroma(MIT 许可)和 ripgrep(MIT/公共领域),无商业 SaaS 依赖
- 混合检索能力:向量语义搜索 + ripgrep 精确关键词匹配,兼顾模糊关联与精准定位
- 增量处理友好:支持
--skip-existing和--skip-indexed标志,避免重复处理已索引文档
潜在缺点与局限性
- 依赖外部 LLM 进行蒸馏:文档转换质量受限于所用 LLM 的能力,复杂表格、图表、多栏排版可能丢失结构
- 本地运维负担:需自行维护 Chroma 实例(默认
http://127.0.0.1:8100),无托管服务的自动扩缩容 - 非内存替代方案:明确不替代模型的上下文窗口或长期记忆,仅作为外部知识检索层
- Prompt 注入风险:虽在蒸馏阶段加入"忽略源材料内指令"的系统提示,但第三方文档仍可能携带攻击载荷,需保持警惕
适合人群
- 对数据隐私有强要求的个人用户(学生、研究人员、医疗从业者)
- 需要离线/内网知识库的企业内部场景
- 已有本地 LLM 部署、希望补全 RAG 能力的开发者
- 需要反复查询固定语料库(如法规、技术手册)的自动化工作流
常规风险
| 风险类别 | 具体描述 |
|---------|---------|
| 提示注入 | 第三方文档可能包含隐藏指令,蒸馏阶段虽有过滤但仍需人工抽检关键文档 |
| 数据残留 | 删除源文档后,需手动清理 Chroma collection 及本地 Markdown 缓存,避免敏感信息残留 |
| 依赖失效 | Chroma 或 ripgrep 版本升级可能导致兼容性中断,需锁定版本 |
| LLM 成本泄露 | 蒸馏阶段调用外部 LLM,大规模文档处理可能产生意外 API 费用 |
项目由 Viraj Sanghvi 个人维护,采用开源贡献模式,代码托管于 GitHub。