
本地化部署deepseek加ragflow,实现本地知识库深度检索及内容生成
ragflow本地应用,deepseek本地部署
记录自己部署过程,希望可以给后来者提供帮助
一、Ragflow介绍
RAGFlow是一个基于检索增强生成(Retrieval-Augmented Generation, RAG)技术的开源引擎,旨在通过结合检索和生成模型的能力,提升自然语言处理任务的性能。RAGFlow的核心思想是利用外部知识库或文档集合来增强生成模型的输出,使其能够生成更加准确、相关和丰富的内容。
RAGFlow的核心概念
RAGFlow平台的核心概念包括:
- 检索增强生成(RAG):结合检索模型和生成模型,利用外部知识库来增强生成过程。
- 知识库:存储大量文档或数据的集合,用于检索相关信息。
- 检索模型:从知识库中检索与输入相关的文档或段落。
- 生成模型:基于检索到的信息和输入生成最终的输出
二 Ragflow本地部署
根据ragflow指导手册,需要先安装docker。在windows环境下安装dockerdesktop是最方便的操作方式。但是dockerdesktop对操作系统环境要求比较高,至少win10以上,经验证,win10版本安装不是很顺利,建议win11的版本。更推荐使用服务器版操作系统,如server2022和server2025。已server2025为例,展示如何安装dockerdesktop及本地化部署ragflow。
使用vmware创建虚拟机,cpu8核,内存32G,硬盘C盘40G,D盘80G。安装windowsserver2025,安装vmtool。
2.1添加windows功能
Docker需要windows的hyper-v和适用于Linux的Windows子系统。在服务管理器中,添加功能和角色,或者在控制面板里程序和功能,添加和关闭windows功能,如下图所示:
安装完成即可。
2.1启动windowsfeature
使用管理员身份运行cmd,在cmd中运行以下命令
dism.exe /online /enable -feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable -feature /featurename:VirtualMachinePlatform /all /norestart
2.3安装wsl更新
下载wsl_update_x64并安装。
2.4安装Dockerdesktop
dockerdesktop默认安装目录是C盘,为了减少C盘的压力,可以更改dockerdesktop默认安装目录,只需要在cmd下运行:
DockerDesktopInstaller.exe install --installation-dir=d:\dockerdesktop 其中dir参数是安装目录。安装过程中,需要注意去掉第一个选项,如下图所示。如果勾上,会导致dockerdesktop启动异常。
安装完成后,在cmd里,输入docker,没有报错,打开Dockerdesktop能够正常启动服务即可正常使用了。服务没有启动的话,在Windows的服务里查看是否设置的自动启动服务。
2.5配置 Dockerdesktop
安装完成后,打开Dockerdesktop,进入运行界面,点击右上角设置,修改image存储位置及下载image网络地址。
2.6下载ragflow及运行环境依赖
从ragflow官网下载ragflow开源版的源码文件。下载的文件需要做如下的修改
修改..\ragflow-main\docker\ .env文件中的RAGFLOW_IMAGE=
使用docker配置文件自动下载所需要的运行依赖
在cmd中,进入ragflow/docker该目录,运行以下命令:docker compose -f docker-compose.yml up –d 此时需要联网下载各种docker镜像文件。下载完的镜像文件如下:
docker会自动创建一个容器并自动启动。
根据ragflow配置文档,在cmd中执行命令 docker logs -f ragflow-server _出现以下界面提示说明服务器启动成功:
此时就可以访问ragflow。
离线部署ragflow
如果需要在离线环境下运行ragflow的话,上述安装过程都是一样的,需要将联网环境下载完成的镜像文件,通过docker命令导出到文件中。在cmd中执行命令:
docker save mysql:8.0.39 -o D:\Ollamabak\dockerimg\DockerDesktopWSL\mysql.tar
docker save valkey/valkey:8 -o D:\Ollamabak\dockerimg\DockerDesktopWSL\valkey.tar
docker save elasticsearch:8.11.3 -o D:\Ollamabak\dockerimg\DockerDesktopWSL\elasticsearch.tar
docker save quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z -o D:\Ollamabak\dockerimg\DockerDesktopWSL\quay.tar
docker save infiniflow/ragflow:v0.16.0 -o D:\Ollamabak\dockerimg\DockerDesktopWSL\infiniflow.tar
最后一个参数是导出的文件路径及文件名。 第三个参数书镜像名称,在dockerdesktop的image列表中能够看到。
将导出的tar文件拷贝到离线环境中,在cmd中执行命令:
docker load -i D:\mysql.tar
docker load -i D:\valkey.tar
docker load -i D:\elasticsearch.tar
docker load -i D:\quay.tar
docker load -i D:\infiniflow.tar
将镜像导入到dockerdesktop中。其中docker load -i D:\infiniflow.tar这个耗时非常长,请耐心等待。预计需要两个小时以上,跟机器的硬件配置有关系。
在所有镜像都导入成功以后,在cmd中,进入/ragflow-main/docker该目录,运行以下命令:
docker compose -f docker-compose.yml up –d
就在离线环境下启动ragflow。
二、Ollama简介
Ollama是一个专注于本地部署的大型语言模型(LLM)服务框架,旨在简化和优化大型语言模型在本地环境中的部署、管理和推理流程。通过提供一系列工具和自动化功能,Ollama使得用户能够轻松地在自己的硬件上运行预训练的语言模型,无需依赖云服务或第三方API1。
主要特点和功能
- 兼容性:Ollama支持多种模型格式和接口访问方式,允许用户根据自己的需求进行灵活配置和自定义1。
- 易用性:Ollama提供类似Docker的“一键运行”体验,自动处理模型依赖与运行环境,支持量化模型以降低硬件需求1。
- 扩展性:它不仅适用于自然语言处理任务,还可以扩展到其他机器学习任务中,为开发者和研究人员提供了一个强大且易于使用的本地语言模型服务平台1。
三、安装ollama
在安装前,建议下添加以下环境变量。
变量名:OLLAMA_HOST
变量值:0.0.0.0
变量名:OLLAMA_MODELS
变量值:E:\Ollama\models(这个目录是存储模型的路径,需要很大的存储空间)
ollama默认的安装到C盘,也可以更改Ollama安装目录。如果要改安装目录,在cmd下运行命令OllamaSetup /DIR=d:\ollama其中dir是安装目录。
安装完成后,在cmd下远程ollama,不报错及安装成功。有时需要重新启动计算机。
下载deepseek模型
在cmd下运行ollama pull deepseek-r1:1.5b,拉取deepseek模型。需要拉取的模型名称在ollama网站上搜索。需要联网下载模型文件。下载完成后,在cmd下执行ollama run deepseek-r1:1.5b 启动deepseek。启动成功后,可以在cmd里跟deepseek对话,输入/bye退出对话。
离线运行deepseek
离线环境运行时,上述安装过程是一样的。需要将联网下载完成的文件移动到离线环境中。将环境变量名:OLLAMA_MODELS对应的文件转移至离线环境,在离线环境重新设置变量名:OLLAMA_MODELS对应的地址即可在离线环境下使用。
四、ragflow结合deepseek
注册登录ragflow后,点击右上角图标,进入设置界面。添加deepseek模型
在模型提供商菜单里,添加ollama模型
添加ollama模型界面如下:
模型类型中选择chat,模型名称是ollama拉取的模型名称,这里填写deepseek-r1:1.5b,基础URL填写安装ollama机器的IP地址即可,不用配置端口号也可以。最大token可以填的大一些。添加ollama模型后,还需要配置ragflow使用该模型。点击系统模型设置,填写如下信息
创建ragflow知识库,上传资料,点击对话,即可使用本地的deepseek模型进行对话了。
更多推荐
所有评论(0)