- Published on
deepseek+知识库
- Authors

- Name
- MissTree
对于本地知识库的搭建有一个对于企业比较大的好处是本地知识库的数据不会上传到云端,适合处理敏感信息。
本地知识库

- 加载本地知识文件
- 进行分割分块和索引转化为向量化数据
- 将向量化数据存储在本地向量数据库中
- 用户检索问题的时候首先会在向量化数据库中进行检索,然后将检索到的文档和问题一起输入到模型中生成答案
- 本地知识库的搭建可以使用open webui、RAGflow、Cherry Studio、Dify、AnythingLLM、open webui等工具。
完整流程 RAG(Retrieval-Augmented Generation)增强信息检索和生成模型,能够从大规模知识库中检索相关信息并生成高质量的反馈。在对抗大模型幻觉、高效管理用户本地文件以及数据安全保护等方面具有独到的优势。 
没有本地知识库的话,大模型是直接在LLM大模型通过外部搜索回答问题的。
搭建前置
- 准备知识库文件
- 可以是txt、pdf、word、md等格式的文件
- 可以是文件夹,文件夹下的文件会被自动递归处理
- 安装必要的工具
- Python 3.8及以上版本
- 安装 Ollama
- LangChain:一个用于构建基于语言模型应用的框架,支持本地知识库集成。
- FAISS:一个高效的向量检索库,用于快速检索知识库内容。
- Sentence Transformers:用于将文本转换为向量表示。
- Nomic-Embed-Text向量模型
- anythingLLM
pip install langchain faiss-cpu sentence-transformers

RAGflow
安装
# 下载仓库
git clone https://github.com/infiniflow/ragflow.git
# 修改配置文件
# 进入目录 /ragflow/docker/.env
# 注释掉下面的内容
RAGFLOW_IMAGE=infiniflow/ragflow:v0.xx.xx-slim
# 取消注释下面的内容
RAGFLOW_IMAGE=infiniflow/ragflow:v0.xx.xx
# 启动
docker compose docker-compose.yml RgaFlow up -d

Cherry Studio
和后面的 anythingLLM 一样,都是一个可视化的本地知识库,但是 Cherry Studio 是一个开源免费软件。支持使用线上各个线上版本的AI模型,然后去调用大模型的api进行调用,支持本地知识库的加载和使用。但是好像还没发现本地部署大模型支持的。 暂时没有深入研究。
Dify
安装
# 下载仓库 建议开个梯子
git clone https://github.com/langgenius/dify
# 安装
# 进入目录 /dify/docker
cp .env.example .env
# 修改.env文件,在底部添加以下内容
#启用白定义模型
CUSTOM_MODEL_ENABLED=true
#指定 0llama 的 AP 地址(根据部署环境调整 IP)
OLLAMA_API_BASE_URL=host.docker.internal:11434
# 启动
docker compose up -d
等待安装镜像 成功后跳转 http://host/install 或 http://127.0.0.1

使用感受
- 功能插件丰富
- 支持多种模型
- 知识库的响应速度在半分钟内
- 缺点就是启动的容器较多,不能按需启动,占用内存较大
AnythingLLM

本地知识库文件加载

支持多种格式的文件,如txt、pdf、word、md等格式的文件和网页链接
使用感觉
相比其他的本地知识库反应还是挺快的,使用也很方便,直接打开AnythingLLM的桌面软件即可。唯一的缺点就是没有webui的界面,若是把本地用作服务器无法外部访问。
open webui
之前有说过 open webui 是一个可以本地部署的可视化模型,这里就不赘述了。 通过选择本地知识库,选择本地知识库文件,点击开始,等待模型加载完成,就可以开始使用了。 
备注
使用的时候会出现下面问题
- 提出问题后,无法停止问答
- 回答时间比较久
和 open webui 相似的还可以使用 page assist 浏览器插件,但是前提是开启 ollama 工具。
总结对比
| 分类 | 适合场景 | 优点 | 缺点 |
|---|---|---|---|
| RAGflow | 企业级知识库,强检索增强生成(RAG) | - 专业 RAG 流水线 - 支持多格式文档解析 - 高精度问答 | 配置复杂,资源消耗高 |
| open webui | 快速本地部署,轻量级交互 | - 开源免费,社区支持好 - 支持多种模型 - 支持多模型管理 - 简单易用 | - RAG 功能较弱 - 需自行整合知识库 - 扩展较少 |
| Cherry Studio | 低代码开发,可视化编排 | 数据询语言,用来查询数据库中表的记录 | 缺少本地部署的大模型支持 |
| Dify | 灵活应用开发,支持 RAG 和插件 | - 支持工作流编排 - 企业支持,可以扩展 | 对初学不友好 |
| AnythingLLM | 全本地化+简洁 UI | - 支持本地向量数据库(Chroma、FAISS) 一键导入文档构建知识库。 | --- |