大模型(deepseek)之LLM+RAG构建本地化知识库应用(Ollama+Deepseek+RAGFlow)

应用RAG(Retrieval Augmented Generation,检索增强生成)构建本地知识库,并与LLM(大模型)相结合,可有效解决LLM知识更新难问题,已成为专业领域智能问答的首选,下面就以Ollama+Deepseek+RAGFlow为例构建本地知识库应用。

1、基本原理

详见:

[LLM]:检索增强生成技术:RAG_llm rag技术-CSDN博客

2、下载并安装Ollama

下载并安装Ollama,Ollama是一个本地化部署大模型的工具,它提供简洁的命令行界面和丰富的功能选项,支持Deepseek、llama3、Phi3、Qwen、Gemma、Mistral等大模型,即便是普通用户也可以在本地快速部署和应用大模型。

      

3、在Ollama中下载模型

安装好Ollama后,桌面工具栏会出现图标,启动cmd窗口直接输入Ollama,可以看到Ollama的主要命令及使用方法。

下面以安装deepseek-r1:8b大模型为例,执行以下命令:

ollama pull deepseek-r1:8b

等待模型安装完毕,运行以下命令:

ollama run deepseek-r1:8b

即可启动大模型开始输入问题。

Ctrl+D可退出ollama并返回cmd窗口。

接下来下载embedding模型(嵌入式模型),它将本地知识库进行向量化处理,执行命令:

ollama pull shaw/dmeta-embedding-zh:latest

使用以下命令可以查看已安装的模型:

ollama list

4、安装Docker

下载并安装Windows | Docker Docs

安装好和启动Docker Desktop。

(#此项非必须#)如果觉得命令行使用大模型不方便,也可在Docker安装Open WebUI,它可提供一个类似于ChatGPT的WEB界面使用大模型,命令如下:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

安装好后Docker显示如下:

访问http://localhost:3000/即可在WEB方式下使用ollama安装的大模型。

5、在Docker安装RAGFlow

运行以下命令:

git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
docker compose -f docker-compose-CN.yml up -d

核心文件大小约为9GB,需要一段时间才能完成加载,完成后可执行以下命令检测服务器状态:

docker logs -f ragflow-server

执行命令后如显示以下图形,表示安装成功。

然后网络浏览器中,输入服务器的IP地址(http://localhost/)即可登录RAGFlow(首次登录需进行注册)登录后设置为简体中文。

6、在RAGFlow中配置模型

(1)配置embedding模型

点击右上角“设置”,选择“模型提供商”,选择Ollama并添加模型。

           

设置模型类型为“embedding”,输入模型名称和模型Url后“确定”即可(IP地址就是本机IP,默认端口为11434)。

(2)配置chat模型

配置方法同上。

配置好模型后,可选择Ollama“展示更多模型”查看。

7、在RAGFlow中配置知识库

(1)创建知识库,选择模型

回到RAGFlow首页,进入“知识库”,选择“创建知识库”。

输入知识库名称,分别设置“语言”为“中文”、“嵌入模型”为“shaw/dmeta-embedding-zh:latest”。“解析方法”需根据自己创建的知识库类型进行选择,系统给出了每种方法的分块方法说明,以及支持的文件类型。

设置完成后“保存”。

(2)上传知识库文件

保存知识库设置后,系统自动进入数据集设置,选择“新增文件”,加载本地需上传的知识库文件(文件格式要符合知识库设置时限定的文件格式)。

我这里是简单构建了一个关于网络安全法的问答数据集。

(3)解析文件

点击解析状态下的开始解析文件,解析成功后就可以使用了。

8、知识库应用

进入“聊天”,选择“新建助理”,在助理设置页面设置“助理姓名”,选择该助理要使用的知识库。

在模型设置页面选择要使用的模型,并选择“确定”。

接下来就可以在聊天窗口开始使用集成了本地知识库的大模型了。

选择设置好的助理,提出问题。

系统回答问题时会注明使用到的知识库文件,鼠标点击可弹出“Prompt”提示使用了知识库文件的哪些内容。

### 如何在 RagFlow 中集成使用本地模型 #### 创建并初始化 RagFlow 项目 为了能够在RagFlow添加本地模型,首先需要创建一个新的RagFlow项目。这一步骤确保了有一个干净的工作环境来进行后续操作[^1]。 ```bash ragflow init my_project_name cd my_project_name ``` #### 安装必要的依赖项支持工具 对于特定的任务需求,比如构建问答系统或处理中文文本嵌入,可能需要用到预训练好的大模型如`qwen2:7b`以及专门用于生成向量表示的模型像`shaw/dmeta-embedding-zh`。这些资源可以在项目的适当阶段被引入以增强功能[^3]。 #### 准备本地模型文件 按照Ollama的要求准备模型文件是非常重要的。这意味着要准备好所有的模型权重、配置参数以及其他任何必需的数据集,并将其打包成一个符合标准格式(即通过Modelfile描述)的整体包以便于管理分发[^2]。 #### 修改配置文件以支持新加入的本地模型 一旦拥有了所需的本地模型及其配套组件之后,则需更新RagFlow项目的配置文件来指明新的模型路径其他必要选项。通常情况下,这是通过对`config.yaml`这样的全局配置文件做出相应调整实现的: ```yaml models: - name: "local_qwen" path: "./path/to/qwen/model_directory/" type: "transformers" ... embeddings: source: "custom" model_path: "./path/to/embedding_model/" ``` 以上设置假定已经成功地将目标模型放置到了指定位置,并且该位置相对于当前工作目录是有效的相对路径;同时也要注意不同类型的模型可能会有不同的加载方式,在此例子中假设为Hugging Face Transformers库兼容的形式。 #### 测试与验证新增加的功能模块 最后但同样重要的是,在完成上述更改后应当进行全面测试以确认一切正常运作。可以利用内置命令或其他手段触发涉及所添加的新特性部分的操作流程,观察其行为是否符合预期,从而保证系统的稳定性可靠性。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值