本地部署DeepSeek大模型与构建个人知识库
【DeepSeek搭建的本地知识库很呆?不符合自己的预期?看完这个视频你就明白了!这样部署吊打其他的本地部署!跟着教程来,不怕学不会!】 https://www.bilibili.com/video/BV1RNAoe2ELL/?share_source=copy_web&vd_source=9abac998c629bca5cfee99649d9419a5
1. 需求背景
网页版大模型的局限:
在使用网页版大模型时,若想让其依据特定资料(如企业规章制度、课程试卷)回答问题,会面临诸多问题。比如数据隐私无法保障,使用时数据会上传至服务器;文件上传有限制,包括数量限制,且解析文件可能需付费,即便付费,大量文件上传也可能不被支持;通过上传附件扩展上下文繁琐且功能有限,新建对话引用附件需重新上传,修改、删除附件困难。
本地部署与RAG技术的作用:
为实现绝对隐私保护和个性化知识库构建,我们采用本地部署DeepSeek大模型结合RAG技术的方案。本地部署解决隐私问题,RAG技术用于构建个性化知识库。
2. 技术原理
RAG技术
解决的问题:
RAG和模型微调都旨在解决大模型的幻觉问题,即大模型回答未知问题时的胡说八道现象。
与模型微调的区别:
模型微调是在预训练模型基础上,结合特定任务数据集进一步训练,让模型在特定领域表现更好;RAG技术则是在生成回答前,通过信息检索从外部知识库查找相关内容,增强信息来源,提高回答准确性和质量。可以形象地理解为,微调是考前复习,模型吸收知识后回复;RAG是开卷考试,边考边查知识库。
工作原理:
RAG(Retrieval-Augmented Generation)技术主要包含检索(Retrieval)、增强(Augmentation)和生成(Generation)三个步骤。用户提问时,系统先从外部知识库检索相关内容,然后将检索到的信息与用户输入结合扩展模型上下文,再传给对话模型(如本地部署的DeepSeek),最后生成模型根据增强后的输入,结合用户输入、模型自身能力和检索到的外部信息生成最终回答。
Embedding模型
作用:
在构建外部知识库时,Embedding模型将PDF或Word中的文本转换为向量表示。因为文本的自然语言格式不利于机器计算文本间的相似关系,Embedding模型将自然语言转换成机器可理解的高维向量,通过向量间的匹配和比对,捕捉单词或句子背后的语义信息,计算不同文本间的相似关系。同时,它也会对用户提问进行处理,生成高维向量,以便与知识库生成的向量进行匹配。
模型分类:
大模型分为聊天(Chat)模型和Embedding模型。Chat模型用于对话,如ChatGPT、DeepSeek、通义千问、豆包等;Embedding模型专门用于解析文件,将文本转化为高维向量。
3. 本地部署流程
下载Ollama并配置:
Ollama是用于本地运行和管理大语言模型的工具。下载后需配置两个环境变量,一个是让虚拟机中的RAG Flow能访问本机的Ollama,通过设置Ollama等于000011434,可让Ollama监听所有IP;另一个用于配置模型下载的默认位置,因为模型文件较大,最好修改默认位置。配置完成后重启电脑。之后通过Ollama下载DeepSeek-CR1.5B模型,可在Ollama平台选择模型参数量,复制命令在命令行中执行下载。
下载RAG Flow源代码和Docker并部署RAG Flow:
在GitHub上下载RAG Flow源代码,可通过克隆仓库或直接下载压缩包解压的方式获取。下载Docker,因为RAG Flow运行所需的环境和依赖较多,Docker镜像封装了所有运行RAG Flow所需的依赖库和配置,使用它无需在本地环境逐一配置组件。下载完成后,需修改RAG Flow源代码中Docker文件夹下的环境文件,将轻量版改为完整版,以获取自带的Embedding模型。修改后运行相应命令,下载RAG Flow Docker镜像并启动服务,在浏览器中输入localhost:80,若能看到相应页面,则说明RAG Flow部署成功。
在RAG Flow中构建个人知识库并对话问答:
在RAG Flow中,先添加本地部署的DeepSeek模型作为聊天模型,配置好模型名称、基础URL(包含本地IP地址和Ollama默认端口号11434)等信息。然后在系统模型设置中选择刚刚添加的DeepSeek模型作为聊天模型,选择RAG Flow自带的合适Embedding模型。接着创建知识库,选择中文语言,根据需求选择解析方法(一般选general),上传相关文件后点击解析。解析完成后创建助理,选择对应的知识库,可根据需要修改提示引擎,设置好最大token数后确定。此时就可以与新建的助理进行聊天,它会根据知识库和模型生成回答。
4. 非本地部署方案
操作步骤:
如果不想进行复杂的本地部署大模型,可以直接下载RAG Flow源代码和Docker,本地部署RAG Flow。在RAG Flow中配置任意的Chat模型和Embedding模型,这些模型可以是在线模型。添加在线模型时,需要在模型平台申请API key,将其填入RAG Flow的模型提供商页面相应位置,即可添加模型。之后在系统模型设置中修改默认的聊天模型和嵌入模型。
优缺点:
直接使用企业提供的在线模型更简单,性能通常也更优越,但无法保障数据的绝对隐私性,且很多API接口免费额度用完后会收费。而本地部署虽复杂且模型参数量可能受限,但能保证数据隐私。两种方式各有优劣,都可用于构建个人知识库,让AI根据知识库生成回答。