问题1:为什么不直接使用网页版的deepseek?
如果我们的需求是绝对的隐私保护和个性化的知识库的构建,就需要本地部署。试想一下,如果我们希望通过大模型能根据我们自己独有的文档来回答问题,那我们就需要把文件或附件上传,这是就会把所有的数据上传到deepseek服务器上,就会面临隐私泄露的问题,并且上传的文件大小和数量是有限的,网页版的模型可能无力支持
所以我们就需要将deepseek进行本地部署,并且通过RAG来搭建自己的个性化知识库。
问题2:什么是RAG技术?
大模型并不知道你的这些私有的知识,所以我需要通过RAG技术来让大模型学习新的知识。
RAG技术的原理:
- 检索:当用户提出问题时,系统会从外部的知识库中检索出于用户输入相关的内容
- 增强:系统将检索到的信息与用户的输入结合,扩展模型的上下文。这让生成模型可以利用外部知识,是生成的答案更准和丰富。
- 生成:生成模型基于增强后的输入生成最终的回答,它结合用户输入和检索到的信息,生成符合逻辑、准确且可读的文本内容
这里需要再引入一个“微调”这个概念和RAG技术进行对比。
“微调”:在已有的训练模型的基础上,再结合特定任务数据进一步对其进行训练,使得模型在这一领域表现的更好。
“RAG”:在生成回答之前,通过信息检索从外部知识库中查找与问题相关的知识,增强生成过程中的信息来源,从而提升生成的质量和准确性。
问题3:在本地部署deepseek创建自己的数据库的流程
- 下载ollama(ollama是一个用于本地运行和管理的大语言模型的工具)
- 通过ollama下载deepseek-r1模型
- 下载docker(docker内有一个封装好的环境,包含了所有运行RAGFlow所需的依赖、库和配置)
- 在RAGFlow中上传文件,构建自己的知识库,调用本地的Embedding解析处理上传的文件,最后使用本地部署的deepseek根据文件内容生成回答