DeepSeek-R1是名列前茅的开源推理大模型,考虑到数据安全原因,某些场景下我们需要进行私有化本地部署。这里我们使用Ollama + Open WebUI进行DeepSeek-R1模型的本地部署。
Outlines:
安装Ollama
下载DeepSeek
安装Open WebUI
建立知识库强化大模型(RAG检索增强式生成技术)
一、安装Ollama
Ollama是一个帮助快速简易部署各种大模型的工具。进入Ollama官网https://ollama.com选择对应的操作系统版本,由于我使用的是Windows系统,所以这里我下载Windows版本OllamaSetup.exe安装

二、修改模型数据保存位置(非必须但建议)
Ollama默认安装的位置在C:\Users\你的用户名\.ollama,而且安装的时候默认不支持更改,有点小坑。因为后面下载的模型数据可能会很大,放在系统盘不太好。
(a)添加系统环境变量
变量名:OLLAMA_MODELS
变量值:E:\localai\apps\ollama
(b)复制旧文件到新路径
复制C:\Users\GIGA.ollama\models下面的所有文件到E:\localai\apps\ollama下面
(c)重启电脑
三、下载DeepSeek-R1模型
(a)命令窗口运行
ollama run deepseek-r1:1.5b
1.5b参数版本为最低配置版本,具体可以根据硬件的配置情况下载对应参数级别的模型。

查看已经下载的模型
ollama list
删除某个模型
ollama rm deepseek-r1:1.5b
四、安装Open WebUI
pip install open-webui
open-webui serve
等待安装完成后,打开浏览器访问http://localhost:8080配置管理员账号密码登录。左上角选择要使用的模型。

到这里我们的Ollama + Open WebUI本地部署DeepSeek就算完成了。
五、创建知识库强化DeepSeek(RAG检索增强式生成技术)
(a)安装嵌入模型
系统默认使用sentence-transformers/all-MiniLM-L6-v2需要科学上网才行,这里我们使用nomic-embed-text作为替换方案^_^
ollama pull nomic-embed-text
(b)配置嵌入模型
Open WebUI进入管理配置http://localhost:8080/admin/settings

(c)创建知识库文档
可以根据自己的需求创建知识库文档,这里我创建了4个知识库文档:mydb0001.txt、mydb0002.txt、mydb0003.txt、mydb0004.txt
知识库的创建最好要满足一下几个规则:
1、文档没有大面积水印(水印可能被识别为文本,覆盖内容的水印还可能影响内容文本解析)
2、全篇层级清晰,各层级标题序号统一规范(否则可能导致文档层级解析错误)
3、列表项下不再嵌套子列表(否则可能导致文档层级解析错误)
4、对于相对独立的不同内容,尽量使用多个独立文档而不是单个汇总文档(否则若文档不规范则可能导致内容混淆)
mydb0001.txt
{"日期":"2021-02-01","省份":"天津市","产品":"生猪","类型":"土杂猪","价格":"31.7","单位":"元/公斤"}
.....
不同的文档组织形式对于模型输出效果有一定影响,实践中发现,通过{Question:Answer}键值对的效果会比较好。
[{"Q": "日期", "A": "2021-02-01"},{"Q": "省份", "A": "天津市"},{"Q": "产品", "A": "生猪"},{"Q": "类型", "A": "土杂猪"},{"Q": "价格", "A": "31.7"},{"Q": "单位", "A": "元/公斤"}]
......
企业AI知识问答助手的最佳实践还是通过<Question-list:Answer>的效果最佳,即根据用户输入的问题去Question-list中检索(Retrieval)最相似的问题Question,然后把其对应的Answer作为先验知识提供给DeepSeek,利用DeepSeek的推理能力对原始问题进行回答。
Section | Question | Answer |
Section1:重庆市今日猪价 | Q1:重庆今天的生猪价格是多少? Q2:外三元今日在重庆的价格是多少? Q3:重庆今日猪价? …… | 重庆市今日外三元生猪价格是18元/公斤 |
Section2:重庆市昨日猪价 | Q1:重庆昨日的生猪价格是多少? Q2:外三元昨日在重庆的价格是多少? Q3:重庆昨日猪价? …… | 重庆市昨日外三元生猪价格是19.8元/公斤 |
…… | …… | …… |
实践中发现,这种方式部署的本地大模型的RAG效果最佳,是企业建立精准问答AI助手的推荐方式。但是其缺点也是很明显,需要花精力去逐步丰富知识库。
(d)创建知识库
在工作空间Workspace中Knowledge模块创建知识库并上传知识文档,这里我创建关于生猪价格的知识库,这里可能会比较耗时,具体和硬件配置有关

(e)创建私有模型
这里将模型和我们自己创建的知识库关联起来

(f)使用私有模型
可以看到,私有模型从我们准备的知识库中找到了答案,说明是我们的知识库起到了作用。

(g)对比公有模型
我们将同样的问题放到DeekSeek官网去寻求答案,可以看到我们使用了DeepSeek的联网搜索也没有找到答案

References
《知识上传格式规范》
《open-webui上传文件报错NoneType object has no attribute encode》
《Open WebUI》
《DeepSeek》
《Ollama》
《DeepSeek本地部署+WebUI可视化+数据投喂训练AI之新手保姆级教程》
《ollama如何将模型移动到D盘以及如何直接下载到D盘》