每一个优秀的律师都有自己的知识库,这个知识库不仅仅是法条,还有很多地方上的规定以及一些有代表的裁判文书,还包括一些法官会议纪要及内部规定等,这些繁杂的文件构成了一个庞大的知识体系。早些年,我一直用 Obsidian 对知识进行管理,从 2024 年开始,随着 LLM 等大模型的出现,知识库也需要与时俱进。通用大模型对专业法律的调校还有很大欠缺,RAG 是目前较为理想的知识库方案。因此,我的个人知识库部署方案也采用 RAG 进行搭建。
一、个人知识库需求
我建的是专业数据库,数据通常在 500 份以内,几乎零成本、纯本地部署以及数据隐私可控,同时又能对接未来可能的 AI Agent (如 OpenClaw),考虑到知识源件格式类型的多样化,需要一个较为精细的向量化模型。而且,考虑到法律知识的增量更新需要,应当随时方便添加最新的法律知识文件,而且可以对文档进行分类,最重要的是对知识源件可以进行备份。我的电脑是 linux 系统,16G 内存,只有核显,因此个人知识库的部署还需要依赖本地电脑配置情况。最后一点是个人知识库部署的工具和模型均应开源免费商用。
二、个人知识库部署方案选择
经过多方对比,最终有两个部署方案可以选择:一是“BGE-M3 + Chroma + AnythingLLM”桌面版,二是“BGE-M3 + Chroma + RAGFlow Docker 版”,两种部署方案的区别主要在 AnythingLLM 或 RAGFlow Docker 之间选择。两者的关键区别主要有文档处理能力、RAG 与检索能力、功能边界与扩展、部署与隐私。具体如下:
1. 文档处理能力(最大差异)
- AnythingLLM 支持 PDF/DOCX/PPT/TXT/ 网页等常规格式,而且自动切片、默认嵌入,简单快速,但处理复杂表格、扫描件、图片解析弱,适合普通文档、个人、中小企业知识库。
- RAGFlow,支持扫描件 / 影印件、复杂表格、图表、图片、音视频、多模态 PDF,DeepDoc 深度解析,表格、图表提取准确率很高,而且模板化切片 + 可视化调整,保留文档结构,可控性极强,更适合法律 / 金融 / 科研 / 技术手册等复杂文档。
2. RAG 与检索能力
- AnythingLLM 基础 RAG,向量检索为主,简单高效,答案带引用,但溯源与可解释性一般。适合日常问答、快速知识库。
- RAGFlow 多路召回(向量 + BM25 + 规则)+ 重排序,检索精度更高,答案带原文快照 + 溯源,幻觉极低、可审计,支持无限上下文、长文档精准定位。适合高精度问答、合规/审计场景。
3. 功能边界与扩展
- AnythingLLM 具有 RAG+AI Agent + 无代码工作流 + 多用户/工作区 + 权限管理。内置网页抓取、代码执行、本地模型(Ollama)即插即用。全能、轻量、开箱即用,开发门槛极低。
- RAGFlow 专注 RAG 核心,Agent 与工作流较弱,更像 “RAG 引擎” 而非全平台,强调文档处理 pipeline 可控、检索策略可定制,技术门槛稍高,适合需要深度定制 RAG 的用户。
4. 部署与隐私
- AnythingLLM 默认本地优先,数据全本地,隐私极强,支持桌面端(Win/Mac/Linux)+ Docker,一键部署,方便多用户、工作区隔离,团队协作友好。
- RAGFlow,本地部署为主,数据可控,但桌面端弱、更偏服务端,更适合企业私有化、大规模文档处理。
综上,AnythingLLM 和 RAGFlow 两者定位、能力与场景差异还是非常清晰的,前者主打开箱即用、本地优先、全能型 RAG+Agent,而后者 RAGFlow 主打深度文档解析、高精度检索、可解释 RAG。考虑到法律源件格式的多样化、向量切片和精度等情况,最终选择了 RAGFlow 方案。
三、BGE-M3 + Chroma + RAGFlow Docker 版的部署教程
我的个人知识库方案:BGE-M3 + Chroma + RAGFlow Docker 版的部署的核心逻辑是,利用 Docker 运行 RAGFlow(内置 Chroma),使用 Ollama 运行 BGE-M3,两者配置联动实现本地私有化,上传的文档选 DeepDoc 深度解析,最大化适配法律源件的多格式需求。
1.安装 Docker(运行 RAGFlow 容器)
linux 下安装 Docker 命令:curl -fsSL https://get.docker.com | sh
2.安装 Ollama(运行 BGE-M3 嵌入模型)
linux 下安装 Ollama 命令:curl -fsSL https://ollama.com/install.sh | sh
拉取BGE-M3 模型:ollama pull bge-m3
3.启动 RAGFlow 容器并配置 BGE-M3 与 RAGFlow 联动(让 RAGFlow 用本地 BGE-M3)
完成上以步骤,“BGE-M3 + Chroma + RAGFlow Docker”个人知识库部署方案完成。
对接 openclaw 相当方便,有啥事就问一下
是的,未后续对接做准备
坚持做一件事真的不容易,点赞!
谢谢,时刻保持努力状态
参考一下,我也有这个想法
文档类型不复杂的话,可以 anythinLLM