当前位置: 首页 > news >正文

【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)

一、RAGFlow简介

RAGFlow是一个基于对文档深入理解的开源RAG(Retrieval-augmented Generation,检索增强生成)引擎。

系统架构
主要作用: 让用户创建自有知识库,根据设定的参数对知识库中的文件进行切块处理,用户向大模型提问时,RAGFlow先查找自有知识库中的切块内容,接着把查找到的知识库数据输入到对话大模型中再生成内容输出。

平台特点: 支持丰富的文件类型,如Word、PPT、excel表格、csv/txt、图片、PDF、结构化数据、网页等 。

平台Demo链接: https://demo.ragflow.io.

二、win10 系统本地化部署 RAGFlow 平台

2.1 部署思路

1、通过win10系统自带的wsl构建linux虚拟环境;
2、通过docker desktop实现docker环境部署
3、通过ollama实现大模型底座下载管理;
4、将ragflow平台下载到本地linux环境进行运行部署,使用ollama中的大模型能力;
5、自己构建业务数据训练本地大模型;
6、测试训练结果。

2.2 环境要求

CPU >= 4 cores
RAM >= 16 GB
Disk >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1

2.3 前置条件(win10 环境设置)

可通过代码或者自己配置实现环境设置。
(1)代码修改

// 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart//检查运行 WSL 2 的要求
//若要更新到 WSL 2,需要运行 Windows 10。
// 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
// 对于 ARM64 系统:版本 2004
// 或更高版本,采用 内部版本 19041 或更高版本。
// 低于 18362 的版本不支持 WSL 2。使用 Windows Update 助手更新 Windows 版本。//启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart//开启“虚拟机平台”后需要重启电脑生效。//将 WSL 2 设置为默认版本
wsl --set-default-version 2//查看当前wsl版本列表
wsl --list --verbose

(2)手动配置
在这里插入图片描述在这里插入图片描述在这里插入图片描述

注意:开启以上功能需要重启

2.4 开始部署

2.4.1安装Docker

(一)下载Docker安装包
链接: https://docs.docker.com/desktop/setup/install/windows-install/
在这里插入图片描述(二)安装Docker
直接下一步安装就行。
在这里插入图片描述(三)安装Docker成功
在这里插入图片描述

2.4.2利用wsl安装ubuntu系统

(一)更新wsl

//更新一下可以解决很多后面的问题,自己安装的时候没有更新,搞了很久。
wsl --update

在这里插入图片描述
(二)利用 wsl 安装 Ubuntu

//安装ubuntu命令
wsl --install -d ubuntu//安装成功以后会自动提醒创建用户,按照要求创建用户、设置密码
//使用刚创建的账户登录
//因为docker一些操作需要root账户,但是这时候不知道root 密码,通过命令修改密码sudo passwd
//输入当前登录账户的密码,然后输入新密码,这时候可以使用新密码登录root账户
su root//至此linux环境安装成功。

在这里插入图片描述(三)建议安装windows terminal,操作wsl安装的系统

windows terminal的操作界面会比默认的CMD看起来舒服一点,而且方便单独操作虚拟系统。

在这里插入图片描述

在这里插入图片描述

(四)按照建议修改系统参数
按照官方建议调整vm.max_map_count参数

sysctl vm.max_map_count
sudo sysctl -w vm.max_map_count=262144

在这里插入图片描述

(四)下载 ragflow
RAGFlow官方链接: https://infiniflow.cn/docs/v0.7.0/

git clone https://github.com/infiniflow/ragflow.git

注意:如果出现下列问题可修改hosts文件解决
在这里插入图片描述

文件位置:
C:\Windows\System32\drivers\etc
最下方添加:
10.10.211.68 www.github.com

如果效果不明显,可自己调整延迟最低的ip映射

访问以下地址查看本地延迟情况,然后选择延迟最低的。
https://ping.chinaz.com/github.com

在这里插入图片描述
注意:如果出现下载慢导致下载失败,可使用以下办法尝试解决
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.4.3 安装 RagFlow

官方链接:RagFlow

#配置要求
CPU >= 4 核
RAM >= 16 GB
Disk >= 50 GB
Docker >= 24.0.0 & Docker Compose >= v2.26.1
如果你并没有在本机安装 Docker(Windows、Mac,或者 Linux), 可以参考文档 Install Docker Engine 自行安装。#克隆仓库
git clone https://github.com/infiniflow/ragflow.git文件比较大,需要下载一段时间,下载完成后:
# 进入下载目录
cd ragflow
#运行ragflowdocker compose -f docker/docker-compose.yml up -d# 注意:这里需要启动本地docker desktop 应用,不然无法执行。下载、运行成功以后,会在docker desktop 管理端看到以下镜像信息。

在这里插入图片描述

# 注册账号
登录127.0.0.1:80  进行注册账号登录

在这里插入图片描述

2.4.4 安装 Ollama

管网下载并安装[Ollama](https://ollama.com/)。
具体安装过程自行查找,安装成功以后可按照以下方式进行验证。
输入以下链接查询服务是否i东
http://127.0.0.1:11434/

在这里插入图片描述

#根据个人电脑配置情况下载需要的大模型,这里推荐使用qwen2或者qwen2.5,模型大小从效果考虑建设使用7b以上,但是本地设备配置不够的话,可以使用1.5b尝试效果。
#模型下载安装命令(win10中安装)
#列出模型
ollama list
#删除模型
ollama rm 
#显示模型信息
ollama show  #下载运行qwen2:7bollama run qwen2:7b
#下载Embedding模型,一个免费的中文的向量化模型
ollama pull shaw/dmeta-embedding-zh

2.4.5 准备个人数据

这里提供一个训练数据下载地址,里面有一些业务的训练数据。
https://huggingface.co/InfiniFlow也可以完全自己构建训练数据集,数据训练格式参考如下:

在这里插入图片描述

2.4.6 运行RagFlow

1、注册账户。http://127.0.0.1/login,
2、创建知识库
在这里插入图片描述
3、配置数据库
在这里插入图片描述4、解析数据集
在这里插入图片描述
5、问答测试(我这里使用的是医疗数据,如我没有进行数据训练,测试将无结果)
在这里插入图片描述

相关文章:

【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)

一、RAGFlow简介 RAGFlow是一个基于对文档深入理解的开源RAG(Retrieval-augmented Generation,检索增强生成)引擎。 主要作用: 让用户创建自有知识库,根据设定的参数对知识库中的文件进行切块处理,用户向大…...

现代风格VUE3易支付用户控制中心

适用系统 彩虹易支付 技术栈 vitevue3elementuiplusphp 亮点 独立前端代码,扩展开发,不改动系统文件,不影响原版升级 支持功能订制 界面预览...

CentOS 7 上自动安装 Python 3.9 脚本

安装 在 CentOS 7 上安装 Python 3.9 可以通过编写一个 Shell 脚本来自动化这一过程。以下是一个示例脚本,它将帮助你在 CentOS 7 上安装 Python 3.9: #!/bin/bash# 脚本设置失败终止 set -e# 更新系统 # sudo yum update -y# 安装依赖 sudo yum insta…...

Spring(二)---基于注解的方式实现Bean管理和注入属性

目录 引入 什么是注解 Spring针对Bean管理中创建对象提供的注解 用注解的方式创建对象 ①:编写接口和实现类 ②:在需要管理的类上添加Component注解(上边四个都可以) ③:编写配置文件,重点是开启注解…...

采购管理系统的设计与实现【文档+源码】

目录 摘 要 Abstract 第一章 引言 1.1研究现状 1.2主要研究的目的及内容 1.3研究方法及设计思路 1.3.1 研究方法 1.3.2 设计思路 1.4.相关技术简介 1.4.1 JSP技术简介 1.4.2 Struts 框架 1.4.3 Hibernate数据访问框架 1.4.4 B/S模式分析 1.5 系统开发步骤 第二…...

Overleaf编译运行时间太长,国内如何支付升级Overleaf高级账户?

大家好,我是『扑扑特桔』 最近为了赶论文,我一直在 Overleaf 上忙活。 但是因为论文里面图片比较多,因此在某一次编译的时候,突然就提示编译超时。 主要是因为用的是免费版本的Overleaf,对编译时长有限制&#xff0c…...

UE5喷涂功能

许多FPS/TPS 游戏都有喷涂、涂鸦功能 其实原理很简单,就是利用了延迟贴花实现的 我们从网上随便找一张图 创建一个材质,材质域选择延迟贴花 混合模式选择半透明,自发光强度可以看感觉调整 材质做好之后编译保存,新建一个Actor…...

Unity局部和世界坐标系相互转换的实现原理

注:本篇是基于唐老师的学习视频做的一些理论实践,需要提前知道一些线性代数的基础知识,原视频链接: 8.数学基础知识学习说明_哔哩哔哩_bilibili 前期准备: 知识点①: Unity中需要遵守的设定:…...

MySQL通用语法 -DDL、DML、DQL、DCL

SQL 全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准 。 SQL通用语法 MySQL语言的通用语法。 SQL语句可以单行或多行书写,以分号结尾。SQL语句可以使用空格/缩进来增强…...

C# 6.0 连接elasticsearch数据库

在 C# 6.0 中连接 Elasticsearch 数据库,您可以使用官方的 Elasticsearch 客户端库 NEST。NEST 是一个高性能的 .NET 客户端,用于与 Elasticsearch 进行交互。以下是一个详细的步骤指南,帮助您在 C# 6.0 项目中连接和操作 Elasticsearch。 1. 安装 NEST 包 首先,您需要在您…...

占个坑:利用工作以外的时间,用numpy实现MLP-手写识别

背景 随着近半年的正式工作,一直在做的都是模型后处理相关的,逐渐意识到技术的自我迭代陷入了瓶颈。组里都是搞模型的,对于缺少模型背景的我,很难深刻理解同事将模型和业务结合时好的idear,这使得我难以掌握组里最核心…...

抽象之诗:C++模板的灵魂与边界

引言 在计算机科学的浩瀚长河中,C模板如同一颗璀璨的星辰,以其独特的泛型编程方式为程序设计注入了灵魂。它是抽象的艺术,是类型的舞蹈,是效率与灵活性的交响乐。模板不仅是一种技术工具,更是一种哲学思考&#xff0c…...

后端统一接口返回状态【初步模板】

后端统一接口返回状态【模板】 文章目录 后端统一接口返回状态【模板】1 .Result类编写2 .Constants类编写3 .更改Controller层下的类return格式 开发过程中,每个接口的返回格式设计都是一样的,这样可以大大提高开发效率。 项目结构如下图:分…...

呼入机器人:24小时客户服务的未来趋势

呼入机器人:24小时客户服务的未来趋势 作者:开源大模型智能呼叫中心系统FreeAICC,Github:https://github.com/FreeIPCC/FreeAICC 在当今快节奏的商业环境中,客户服务已成为企业竞争的核心要素之一。随着人工智能技术…...

whisper.cpp: PC端测试 -- 电脑端部署音频大模型

whisper.cpp: PC端测试 1.环境需要2.构建项目3.PC测试 1.环境需要 以下是经实验验证可行的环境参考,也可尝试其他版本。 (1)PC:Ubuntu 22.04.4 (2)软件环境:如下表所示 工具版本安装Anacond…...

WPF ControlTemplate 控件模板

区别于 DataTemplate 数据模板,ControlTemplate 是控件模板,是为自定义控件的 Template 属性服务的,Template 属性类型就是 ControlTemplate。 演示, 自定义一个控件 MyControl,包含一个字符串类型的依赖属性。 pub…...

序列化和反序列化(一)

因为通过这段时间的学习,发现,序列化和反序列化的考点和漏洞在平时遇到的还是比较多的,而且自己也没有特别去学习过这个知识点,所以在这里写一篇关于这里序列化和反序列话的博客,废话就停止在这里了。 在介绍具体的序列…...

Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)

Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版) 文章目录 Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)一.环境准备1.服务器准备2.环境配置3.设置主机名4.修改国内镜像源地址5.配置时间同步6.配置内核转发及网桥过滤二.容器运行时Containerd安装(所有节点)…...

取子串(指针)

#include <stdio.h> #include <string.h>char* substr(char *s, int startloc, int len) {static char result[51]; // 定义一个足够大的静态数组来存储结果static char result1[] {N,U,L,L,\0};int i, j;// 检查startloc是否在字符串的范围内if (startloc < 1…...

Linux系列之如何更换Centos yum源?

系列博客专栏&#xff1a; JVM系列博客专栏SpringBoot系列博客 环境 Centos7Xshell7 问题描述 最近安装了一个虚拟机&#xff0c;准备用来学习&#xff0c;不过使用yum命令安装一些软件&#xff0c;不过使用这个命令时候&#xff0c;提示 Cannot find a valid baseurl fo…...

如何快速解决Places.js地址自动补全的5个常见错误:终极处理技巧指南

如何快速解决Places.js地址自动补全的5个常见错误&#xff1a;终极处理技巧指南 【免费下载链接】places :globe_with_meridians: Turn any into an address autocomplete 项目地址: https://gitcode.com/gh_mirrors/pl/places Places.js是一个强大的地址自动补全JavaS…...

为什么你的ranges::filter_view在C++27中突然崩溃?——深度逆向Clang 18.1.8 ABI变更引发的迭代器失效链

第一章&#xff1a;C27范围库扩展演进与ABI稳定性危机C27正以前所未有的力度重构范围&#xff08;Ranges&#xff09;库&#xff0c;引入std::ranges::zip_view的标准化、std::ranges::cartesian_product视图、以及支持异构比较的std::ranges::sort重载。这些增强显著提升了表达…...

如何判断便宜的SEO优化公司是否靠谱_如何在保证质量的前提下找到便宜的SEO优化

如何判断便宜的SEO优化公司是否靠谱_如何在保证质量的前提下找到便宜的SEO优化 在当今竞争激烈的商业环境中&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为提高网站流量和品牌知名度的关键手段。随着越来越多的公司进入SEO市场&#xff0c;如何判断便宜的SEO优…...

Phi-3-mini-4k-instruct-gguf高算力适配:CUDA加速下RTX3090显存占用仅2.1GB实测

Phi-3-mini-4k-instruct-gguf高算力适配&#xff1a;CUDA加速下RTX3090显存占用仅2.1GB实测 1. 模型概述 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个经过优化的模型特别适合问答、文本改写、摘要整理和简短创作等场景。相比原始版本&a…...

Python绘图进阶:掌握颜色代码与实战应用

1. Python绘图中的颜色表示方法全解析 第一次用Python画图时&#xff0c;我对着那一堆颜色参数完全摸不着头脑。为什么同样的红色可以用"red"、"(1,0,0)"、"#FF0000"这么多种方式表示&#xff1f;后来才发现&#xff0c;这些不同的颜色表示方法各…...

AgentCPM-Report轻量化部署:Pixel Epic智识终端GPU显存优化方案

AgentCPM-Report轻量化部署&#xff1a;Pixel Epic智识终端GPU显存优化方案 1. 项目背景与核心价值 Pixel Epic智识终端是一款基于AgentCPM-Report大模型构建的创新研究辅助工具。它将枯燥的科研报告撰写过程转化为一场像素风格的RPG冒险&#xff0c;让用户在游戏化的交互体验…...

从Linux内核页表映射到用户态HugeTLB池:金融级C++内存池的7层硬件协同优化法(仅限TOP20对冲基金内部文档解密版)

第一章&#xff1a;金融高频交易C内存池的硬件协同优化全景图在纳秒级响应要求的金融高频交易系统中&#xff0c;C内存池不再仅是软件抽象层的性能补丁&#xff0c;而是CPU缓存子系统、内存控制器与DRAM物理特性的协同执行面。现代x86-64平台&#xff08;如Intel Ice Lake-SP或…...

忍者像素绘卷微信小程序云开发实践:Serverless生成服务架构

忍者像素绘卷微信小程序云开发实践&#xff1a;Serverless生成服务架构 1. 项目背景与核心价值 忍者像素绘卷是一款基于微信小程序平台的云端图像生成工具&#xff0c;采用Serverless架构实现。它将传统漫画创作与AI技术相结合&#xff0c;为用户提供简单高效的像素艺术创作体…...

Skills 到底怎么快速入门?

一、常见误解 很多人第一次接触 Skills&#xff0c;以为它只是“给 Cursor 写规则文档”。这个理解太窄了。 Skills 的本质是可复用的能力模块。它不只是“规定输出格式”&#xff0c;而是可以封装任意需要多步操作、特定上下文或外部工具配合的任务。 二、三种类型类型核心作用…...

OpenClaw版本升级:Qwen3-4B兼容性测试与迁移方案

OpenClaw版本升级&#xff1a;Qwen3-4B兼容性测试与迁移方案 1. 升级前的准备工作 上周五晚上&#xff0c;当我准备给团队演示OpenClaw的自动化流程时&#xff0c;突然发现控制台弹出了版本更新提示。这个看似简单的升级通知&#xff0c;却让我经历了整整两天的兼容性调试。今…...