DeepSeek + RAGFlow 构建知识库
DeepSeek + RAGFlow 构建知识库
随着大语言模型的广泛应用,构建个性化知识库的需求日益增长。本文将详细介绍如何使用DeepSeek和RAGFlow在本地构建知识库,包括RAG技术原理、环境部署和配置步骤,帮助读者实现基于本地知识库的智能问答系统。
什么是 RAG
RAG(Retrieval Augmentation Generation)是检索增强生成的缩写,其核心流程包括三个步骤:
- Retrieval(检索):当用户提出问题时,从知识库中检索与问题相关的内容。
- Augmentation(增强):将检索到的信息与用户输入结合,扩展模型的上下文。
- Generation(生成):模型基于增强后的输入生成最终答案,结合用户输入、模型能力和外部信息。
DeepSeek用于对话,而RAGFlow则用于辅助构建知识库。此外,还需要一个Embedding模型,用于将文本转换为向量表示,以便捕捉单词或句子背后的语义信息。
本地部署步骤
整个本地部署过程分为三步:
- 下载ollama,通过ollama将DeepSeek模型下载到本地运行。
- 下载RAGFlow的源代码及Docker镜像。
- 在RAGFlow中构建个人知识库并进行对话问答。
下载 ollama
首先需要下载ollama,这是一个用于本地运行和管理大语言模型的工具。下载安装后,需要配置两个环境变量:
OLLAMA_HOST 0.0.0.0:11434
OLLAMA_MODELS ollama模型下载路径
其中,OLLAMA_HOST
用于让虚拟机中的RAGFlow访问本地ollama,OLLAMA_MODELS
用于指定ollama模型的下载路径。配置完成后需要重启电脑才能生效。
然后通过ollama下载DeepSeek模型到本地。建议从1.5b版本开始尝试,以减少资源消耗。
下载 RAGFlow 和 Docker
下载RAGFlow的源代码:
然后下载Docker。RAGFlow的源代码不包含运行环境和依赖,而Docker提供了一个封装好的环境,包含所有运行RAGFlow所需的依赖库和配置。
下载好RAGFlow后,需要打开源代码文件夹,找到docker文件夹,修改.env
配置文件。选择下载完整版本,它会包含embedding模型。
运行以下命令下载RAGFlow的Docker镜像并启动:
$ cd ragflow/docker
$ docker compose -f docker-compose.yml up -d
确认服务器状态:
$ docker logs -f ragflow-server
出现以下界面提示说明服务器启动成功:
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)
注意:启动RAGFlow需要CPU>=4核,RAM>=16GB,Disk>=50GB。
RAGFlow 配置
在浏览器中打开localhost:80进入RAGFlow登录页面,需要先注册。登录成功后,可以开始配置模型:
- 添加ollama本地模型,模型类型选择chat模型。
- 配置模型名称、基础URL和最大token数。
- 设置系统模型为刚才添加的ollama模型。
创建知识库:
- 文档语言选择“中文”。
- 嵌入模型保持默认。
- 根据需要上传的文件类型选择解析方法。
- 上传文件并解析。
配置助理:
- 设置助理姓名。
- 选择刚刚创建的知识库。
- 配置提示引擎和模型。
保存后,就可以开始基于本地知识库的对话了。