常见本地大模型知识库工具
LLM knowledge base
本文盘点近期较为火爆的本地大模型知识库工具,将从知识库侧和大模型侧分别介绍,并提供详细的部署实践与选型建议。
一、知识库侧工具
知识库侧主要指能够直接读取文档并处理大量信息资源的工具,包括文档上传、自动抓取在线文档、文本自动分割、向量化处理,以及实现本地检索增强生成(RAG)等功能。近期较为热门的主要包括:AnythingLLM、MaxKB、RAGFlow、FastGPT、Dify、Open WebUI。
1. AnythingLLM
AnythingLLM 是 Mintplex Labs Inc. 开发的一款可以与任何内容聊天的私人 ChatGPT,是高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型(LLM)在聊天中可以利用的相关上下文。
其采用 MIT 许可证的开源框架,支持快速在本地部署基于检索增强生成(RAG)的大模型应用。在不调用外部接口、不发送本地数据的情况下,确保用户数据的安全。
核心特性:
- 多格式支持: 支持 PDF、TXT、DOCX 等文档,提取文本信息,经过嵌入模型(Embedding Models),保存在向量数据库中。
- 工作区管理: 引入工作区(workspace)概念作为文档容器,工作区内共享文档,但工作区之间隔离。
- 多用户模式:
- 管理员(Admin): 拥有全部管理权限。
- Manager: 可管理所有工作区和文档,但不能管理大模型、嵌入模型和向量数据库。
- 普通用户: 基于已授权的工作区与大模型对话,不能对工作区和系统配置做任何更改。

2. MaxKB
MaxKB 是一款基于 LLM 大语言模型的知识库问答系统。MaxKB = Max Knowledge Base,旨在成为企业的最强大脑。
核心优势:
- 开箱即用: 支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化,智能问答交互体验好。
- 无缝嵌入: 支持零编码快速嵌入到第三方业务系统。
- 多模型支持: 支持对接主流的大模型,包括本地私有大模型(如 Llama 2)、OpenAI、Azure OpenAI 和百度千帆大模型等。

3. RAGFlow
RAGFlow 作为一款端到端的 RAG 解决方案,旨在通过深度文档理解技术,解决现有 RAG 技术在数据处理和生成答案方面的挑战。它不仅能够处理多种格式的文档,还能够智能地识别文档中的结构和内容,从而确保数据的高质量输入。
核心特性:
- 深度文档理解: 'Quality in, quality out',能够从各类复杂格式的非结构化数据中提取真知灼见。对于表格,不仅识别存在,还会针对布局做进一步识别,结合表头信息处理。
- 可控可解释的文本切片: 提供多种文本模板(Q&A, Resume, Paper, Manual, Table, Book, Law, 通用等),确保结果的可控性和可解释性。
- 降低幻觉: 完整的 RAG 系统,支持文本切片过程可视化,手动调整,答案提供关键引用的快照并支持追根溯源。
- 兼容各类异构数据源: 支持 Word、PPT、Excel、txt、图片、PDF、影印件、结构化数据、网页等。
- 自动化 RAG 工作流: 支持从个人应用乃至超大型企业的各类生态系统;基于多路召回、融合重排序,实现高效的相关性计算。

4. FastGPT
FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!
核心特点:
- 开箱即用的数据处理与模型调用: 允许用户轻松导入文档、文本文档、PDF 文件等非结构化数据,内置对多种大型语言模型的支持。
- 可视化工作流编排: 支持使用 Flow 可视化工具进行工作流的编排,拖拽组件设计数据处理流程。
- 高效向量检索: 利用 PostgreSQL 的 PG Vector 插件作为向量检索器,优化大规模数据的检索效率。
- 易于部署与定制: 学习成本低,支持模型的微调和扩展。

5. Dify
Dify 是一款开源的大语言模型 (LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间。

6. Open WebUI
Open WebUI(前身为 Ollama WebUI)是一个可扩展的、功能丰富的、用户友好的自托管 Web 界面,设计用于完全离线运行。它支持各种 LLM(大型语言模型)运行器,包括 Ollama 和兼容 OpenAI 的 API。
特性包括:
- 直观界面: 聊天界面灵感源自 ChatGPT。
- 响应式设计: 在桌面和移动设备上都能获得无缝体验。
- 本地 RAG 集成: 支持将文档加载到聊天中,或使用提示中的 # 命令访问文档库。
- 无缝设置: 使用 Docker 或 Kubernetes 轻松安装。
- 主题定制: 支持代码语法高亮、完整支持 Markdown 和 LaTeX。

二、大模型侧工具
这里主要讨论用来管理或者快捷部署本地大模型的工具,较为热门的主要包括:Ollama、LM Studio、Xinference 等。
1. Ollama
Ollama 是一个开源的大型语言模型服务工具,它帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以执行一条命令就在本地运行开源大型语言模型,如 Llama 2 和最新开源的 Llama 3。Ollama 极大地简化了在 Docker 容器内部署和管理 LLM 的过程。
目前为止,Ollama 几乎可以说是大模型工具侧的神,极其推荐使用!

2. LM Studio
LM Studio 是一款功能强大、易于使用的桌面应用程序,用于在本地机器上实验和评估大型语言模型(LLMs)。它允许用户轻松地比较不同的模型,并支持使用 NVIDIA/AMD GPU 加速计算。
使用 LM Studio 不需要深厚的技术背景或复杂的安装过程。它提供了一个简单的安装程序,用户只需几个简单的步骤就可以轻松安装和运行。

3. Xinference
Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。可用于各种模型的推理。通过 Xinference,你可以轻松地一键部署你自己的模型或内置的前沿开源模型。

三、大模型侧工具安装部署实践
先模型侧,后知识库,是按照技术实施的逻辑顺序,从基础架构到应用优化,确保理解模型部署到业务场景的深入,逐步构建出高效、用户友好的智能系统。
1. Ollama 部署
Windows 部署 Ollama
首先,访问 Ollama 官网下载适配自己电脑的版本。Windows 下载完之后如果没有快捷启动方式,可以进入日志目录下右键打开终端。
回到 Ollama 官网,点击右上角的 Models,可以看到诸多模型列表。点击 llama3,选择 latest,笔记本运行建议 8b,服务器可以选择 70b。
复制命令行到终端框,执行即可:
ollama run llama3:8b
安装好后,可以在命令行中验证。当然,在 Windows 环境下也可以采用 docker 来部署 Ollama,但在 Windows 中部署 Docker 会对电脑性能有一定的折损,有 Linux 操作基础的小伙伴可以直接看下面的 Linux 部署部分。
Linux 部署 Ollama
在 Linux 环境下,部署 Ollama 也仅仅只需一条命令。
curl -fsSL https://ollama.com/install.sh | sh
此时会提示需要更新包,执行如下命令更新包:
sudo apt install curl
更新完毕后再次执行,开始部署并启动 Ollama。
在这个过程中,极有可能出现超时的情况,需要修改 hosts 文件,将相关域名 IP 指向。
sudo vim /etc/hosts
增加如下配置:
140.82.114.3 github.com
199.232.69.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
再次尝试,就不会直接出现超时的情况了。
除了直接部署之外,也支持采用 docker 的方式来部署。
首先是安装 docker 和 docker-compose,然后配置国内 docker 镜像源,修改 /etc/docker/daemon.json,增加以下配置:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
配置好以后重启 docker。
sudo systemctl daemon-reload
sudo systemctl restart docker
拉取镜像:
docker pull ollama/ollama
在 docker 下,也有几种不同的启动模式:
CPU 模式
docker run -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
GPU 模式(需要有 NVIDIA 显卡支持)
docker run --gpus all -d -v /data/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
docker 部署 ollama web ui
docker run -d -p 8080:8080 --add-host=host.docker.internal:host-gateway --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main
比如我采用 CPU 模式启动,在浏览器中可以通过 服务器 IP:11434 来进行访问查看。
然后运行模型:
docker exec -it ollama ollama run llama3
Ollama 使用技巧
模型更换存储路径
在 windows 系统中默认使用 C 盘来存放模型文件,我们可以通过修改环境变量来设置指定模型的目录位置。
进入【电脑】——>右键【属性】——>【高级系统设置】——>【高级】——>【环境变量】。
我们通过设置环境变量(OLLAMA_MODELS)来指定模型目录。
而在 Linux 系统中,默认地址是 ~/.ollama/models,如果想移到别的目录,同样也是设置环境变量 OLLAMA_MODELS:
export OLLAMA_MODELS=/data/ollama
导出某个模型
以 llama3:8b 为例,先查看模型信息:
ollama show --modelfile llama3:8b
从模型文件信息里得知 sha256 哈希值即为模型文件路径。
Linux 系统中
cp /xxx/xxx/xxx/sha256-... /path/to/destination
Windows 系统中
copy /xxx/xxx/xxx/sha256-... C:\path\to\destination
导入某个模型
准备 Modelfile 文件:
From /path/to/qwen_7b.gguf
当然可以从上面模型信息生成完成版本的 Modelfile,记得替换你的模型的完整路径,另外不同模型的 template 和 stop parameter 不同。
执行:
ollama create qwen:7b -f Modelfile
导入模型的时候,至少确保硬盘可用空间在模型大小的 2 倍以上。
2. LM Studio 部署
Windows 部署 LM Studio
进入官网,点击【Download LM Studio for Windows】。下载完成后直接启动,界面包含 Home、Search、AI Chat、Multi Model、Local Server、My Models 等区域。
先来到文件夹这里,把模型的下载路径换到 D 盘下面。必须在 D 盘下创建该目录结构:D:\models\Publisher\Repository。但在点击 Change 时,自定义路径选择到 /models 层即可。
在主界面中直接下拉,可浏览各种大语言模型,选择 download 按钮可直接下载。部分模型可能需要科学上网才能下载。
当模型下载完后,可以在左边菜单栏选择 chat 图标,然后选择模型,输入问题与模型进行对话。
LM 同样也支持在本地以 Server 的形式提供 API 接口服务。
Linux 部署 LM Studio
进入官网,点击【Download LM Studio for Linux】。不过这里似乎只支持 Beta 版本,查了一下文档,只适配 Linux (x86, Ubuntu 22.04, AVX2),其他 Linux 系统可能会出现兼容性问题。在 Ubuntu 里可以通过可视化的方式去操作。
LM Studio 本地大模型下载设置
不管是 LM Studio 工具本身的下载还是内置大模型的下载,其实都是需要翻墙的。我们可以通过其他方式来下载大模型并导入到 LM Studio 中使用。
方案一:从国内的模型站下载,魔塔社区。
方案二:使用 VScode 修改 huggingface.co 链接替换为国内镜像 hf-mirror.com。
从魔塔社区下载
模型下载好之后,复制到目录所在位置即可在下方识别出来。
修改 js 文件中的默认下载路径
进入目录,右键 app 文件夹,使用 VS Code 打开,然后把里面的 huggingface.co 链接替换为 hf-mirror.com。再次重启 LM Studio,就可以搜索下载 LLM 大模型了。
3. Xinference 部署
Xinference 支持两种方式的安装,一种是使用 Docker 镜像安装,另外一种是直接本地源码进行安装。个人建议,如果在 windows 环境中最好采用源码安装,Linux 环境中可以采用 Docker 来安装。
Windows 安装 Xinference
首先我们需要准备一个 3.9 以上的 Python 环境。然后使用 conda 创建 3.11 的 Python 环境:
conda create --name xinference python=3.10
conda activate xinference
安装 pytorch:
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia
安装 llama_cpp_python 和 chatglm-cpp:
pip install https://github.com/abetlen/llama-cpp-python/releases/download/v0.2.55/llama_cpp_python-0.2.55-cp310-cp310-win_amd64.whl
pip install https://github.com/li-plus/chatglm.cpp/releases/download/v0.3.1/chatglm_cpp-0.3.1-cp310-cp310-win_amd64.whl
安装 Xinference:
pip install "xinference[all]"
如有需要,也可以安装 Transformers 和 vLLM 作为 Xinference 的推理引擎后端。
设置 model 路径,在电脑上设置环境变量,路径请根据各自环境修改:
XINFERENCE_HOME=D:\XinferenceCache
启动 Xinference:
xinference-local -H 0.0.0.0
Xinference 默认会在本地启动服务,端口默认为 9997。启动成功后,可以通过地址访问 Xinference 的 WebGUI 界面。
打开'Launch Model'标签,搜索到 Yi-chat,选择模型启动的相关参数,然后点击模型卡片左下方的小火箭按钮,就可以部署该模型到 Xinference。
Linux 安装 Xinference
在 Linux 下个人更推荐 docker 安装,这里需要准备两个前提,确保机器上已经安装了 Docker 和 CUDA。
docker 一键安装 Xinference 服务:
docker pull xprobe/xinference:latest
docker 启动 Xinference 服务:
docker run -it --name xinference -d -p 9997:9997 -e XINFERENCE_MODEL_SRC=modelscope -e XINFERENCE_HOME=/workspace -v /yourworkspace/Xinference:/workspace --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0
部署完成后访问 IP:9997 即可。
Xinference 使用
Xinference 接口
在 Xinference 服务部署好的时候,WebGUI 界面和 API 接口已经同时准备好了。接口列表中包含了大量的接口,不仅有 LLM 模型的接口,还有其他模型(比如 Embedding 或 Rerank)的接口,而且这些都是兼容 OpenAI API 的接口。
以 LLM 的聊天功能为例,我们使用 Curl 工具来调用其接口:
curl -X 'POST' \
'http://localhost:9997/v1/chat/completions' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "chatglm3",
"messages": [
{
"role": "user",
"content": "hello"
}
]
}'
Xinference 多模态模型
多模态模型是指可以识别图片的 LLM 模型。首先选择 Launch Model 菜单,在 LANGUAGE MODELS 标签下的模型过滤器 Model Ability 中选择 vl-chat,可以看到目前支持的 2 个多模态模型。选择 qwen-vl-chat 这个模型进行部署,部署完成后会自动进入 Running Models 菜单。
点击图中 Launch Web UI 的按钮,浏览器会弹出多模态模型的 Web 界面,在这个界面中,你可以使用图片和文字与多模态模型进行对话。
Xinference Embedding 模型
Embedding 模型是用来将文本转换为向量的模型。只需要在 Launch Model 菜单中选择 Embedding 标签,然后选择相应模型,这里我们选择部署 bge-base-en-v1.5 这个 Embedding 模型。
我们通过 Curl 命令调用 API 接口来验证部署好的 Embedding 模型:
curl -X 'POST' \
'http://localhost:9997/v1/embeddings' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "bge-base-en-v1.5",
"input": "hello"
}'
Xinference Rerank 模型
Rerank 模型是用来对文本进行排序的模型。方法和 Embedding 模型类似,这里我们选择部署 bge-reranker-base 这个 Rerank 模型。
curl -X 'POST' \
'http://localhost:9997/v1/rerank' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "bge-reranker-base",
"query": "What is Deep Learning?",
"documents": [
"Deep Learning is ...",
"hello"
]
}'
Xinference 注意事项
Xinference 默认是从 HuggingFace 上下载模型,如果需要使用其他网站下载模型,可以通过设置环境变量 XINFERENCE_MODEL_SRC 来实现。
在 Xinference 部署模型的过程中,如果你的服务器只有一个 GPU,那么你只能部署一个 LLM 模型或多模态模型或图像模型或语音模型,因为目前 Xinference 在部署这几种模型时只实现了一个模型独占一个 GPU 的方式。但如果是 Embedding 或者 Rerank 模型的话则没有这个限制。
四、工具选型总结与对比
就这三个工具而言,确实也是各有千秋:
| 工具名称 | 上手难度 | 功能丰富度 | 稳定性 | 适用场景 |
|---|
| Ollama | 低 | 中 | 高 | 轻量级解决方案,重视快速启动和执行效率的用户 |
| LM Studio | 低 | 高 | 中 | 快速原型设计、多样化实验以及需要高效模型管理的开发者 |
| Xinference | 中 | 高 | 极高 | 企业级内部或中大型项目,需要分布式部署和高可用 |
评分标准说明:
- 上手难度:1-5 分,5 分为最高(越难分数越高)
- 功能丰富度:1-5 分,5 分为最高
- 稳定性:1-5 分,5 分为最高
选型建议:
- 对于 AI 小白: 选择 Ollama 来管理和下载模型是保证没有问题的,体验感确实拉满了。
- 对于开发者和研究员: 可以在 LM Studio 和 Xinference 中任选其一。如果是个人实验,倾向于推荐 LM Studio;如果是企业级内部或者中大型项目需要,建议采用 Xinference。
常见问题排查:
- 模型下载超时: 检查网络环境,修改 hosts 文件或配置镜像源(如 hf-mirror.com, modelscope)。
- 显存不足: 调整模型量化等级(如 GGUF 格式),或在 LM Studio 中设置 GPU 层数。
- 服务无法访问: 检查防火墙设置,确认端口(如 11434, 9997)是否开放。
通过以上实际部署及使用操作体验情况来看,Ollama 击中了众多开发者的心,轻松点击几下鼠标就可以完成本地模型的部署。而在使用上,虽然 Ollama 没有直接提供可视化一键拉取模型的方式,但是命令简明,手册清晰。总的来概括一下,Ollama 确确实实是一个部署模型便捷、模型资源丰富、可扩展性强的大模型侧的工具。
LM Studio 强于 Ollama 的地方在于提供了更直观易用的界面,以及在模型负载设置这一块做得更好。唯一美中不足的,就是需要科学上网才能下载该工具和工具内模型,不过通过上述换源的方式,这一问题也算得以解决。
Xinference 在基础配置功能上毫不含糊,相比于 LM Studio 的界面更加简洁清爽。有两个比较大的优势就是:Xinference 的显存管理能力还比较好,服务挂掉可以自动重启,具有较高的稳定性。其次是支持集群模式部署,可以保证大模型的高可用。
五、结语
本地大模型与知识库工具的普及,标志着 AI 应用正从云端走向边缘,从通用走向私有化。选择合适的工具组合,不仅能保护数据隐私,还能显著降低推理成本。希望本文提供的部署指南和选型对比,能帮助各位开发者快速构建属于自己的本地 AI 系统。