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

DeepSeek本地部署 (Windows+Ollama+Docker Desktop+ RAGFlow)

在这里插入图片描述

适用场景:

1、商城的小机器人自动根据实际情况回复
2、需要7*24小时运行在线回复,如:在线购物、在线咨询、在线招生等
3、无人值守环境

2025年1月,DeepSeek 正式发布 DeepSeek-R1 推理大模型,DeepSeek-R1 成本价格低廉,性能卓越。
最近,DeepSeek的访问出现了不稳定的问题,一个有效的解决方案是进行本地化部署。本地化部署不仅可以避免网络波动带来的影响,还能提供更高的隐私保护和数据安全性。通过本地化部署,用户可以在自己的设备上运行DeepSeek模型,无需依赖外部网络连接,从而实现更稳定、更可靠的使用体验。
DeepSeek 提供了多种使用方式,满足不同用户的需求和场景。本地部署在数据安全、性能、定制化、成本、离线可用性和技术自主性方面具有显著优势。
接下来我详细讲解下基于Windows+Ollama+Docker Desktop+ RAGFlow 的本地化部署流程,并通过实例代码演示。

一、软硬件需求

1、 硬件需求

DeepSeek R1 本地部署的硬件需求如下:
(1)基本推荐配置:CPU: 8核或以上,内存: 32GB或以上,存储: 100GB SSD或以上。
(2)GPU: NVIDIA GTX2080或同等性能
(3)DeepSeek-7B 推荐配置:RTX3060 以上显卡 + 16G以上 内存 + 50G SSD 存储空间
(4)DeepSeek-70B 推荐配置:RTX4060 以上显卡 + 32G以上 内存 + 200G SSD 存储空间
(5)本教程使用的硬件配置为:
CPU: Intel xeon E5 2683 v3
内存: 24GB
存储: 500GB 7个机械Raid5的虚拟化ESXi底层
GPU: NVIDIA GTX 3060。
2、软件依赖
(1)DeepSeek R1 本地部署的软件依赖包括操作系统、容器化工具、编程语言、深度学习框架、数据库、消息队列、Web 服务器、GPU 加速工具、版本控制、包管理工具、监控与日志工具以及安全工具。
(2)本教程采用 Windows10 19045版本、Ollama 0.5.12、docker 4.38.0、 RAGFlow。

二、安装ollama、git、docker desktop过程

(一)Ollama 下载与安装

1、 Ollama 的下载
Ollama 是一个开源的本地模型运行工具,可以方便地下载和运行各种开源模型,如 Llama、Qwen、DeepSeek 等。
Ollama 提供高效、灵活的大模型部署和管理解决方案,可以简化模型的部署流程。支持macOS、Linux、Windows 操作系统。
官网地址:https://ollama.com/
下载地址:https://ollama.com/download

本教程选择 Ollama Windows 版本下载。
2、 Ollama 的安装
(1)下载完成后直接点击 OllamaSetup.exe 进行安装。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)安装完成后,cmd 打开命令行窗口,输入 “ollama -v” 测试,显示 ollama 的版本为 “0.5.12”,表明安装成功。
在这里插入图片描述

3、配置环境变量:
(1)新建用户的环境变量后,注意大写与名称,重启,如下图:
在这里插入图片描述

配置OLLAMA_HOST环境变量的作用是让虚拟机里的RAGFlow能够访问到本机上的Ollama,因为这里RAGFlow要通过Docker部署,默认情况下ollama只能允许本机访问的。默认情况下Ollama监听的是localhost:11434。通过设置成0.0.0.0,这样Ollama就可以监听到本机所有的ip,这样虚拟机就可以访问到本机上的Ollama了。

(2)重启系统后,使用set命令查看设置的环境变量是否生效:
在这里插入图片描述

4、 Ollama 的运行
Ollama 没有用户界面,在后台会自动运行,重启电脑也会自动启动。
打开浏览器,输入 :
“http://localhost:11434/”,
显示 “Ollama is running”。
在这里插入图片描述

(二) deepseek-r1 模型安装

1、Ollama 安装 deepseek-r1 模型
(1)从 ollama 官网 查找 deepseek-r1 模型。
下载地址:https://ollama.com/download
在这里插入图片描述

(2)点击进入 deepseek-r1 模型,可以选择不同版本的模型(1.5b/7b/14b/32b/70b/671b)。
2、deepseek-r1 提供多个版本,参数量越大,模型的性能越强大,但也需要更多的存储和计算资源。
(1)1.5b 模型参数为15亿/1.1GB,
(2)7b 模型参数约为 70亿/4.7GB,
(3)14b 模型参数约为 140亿/9GB。
3、deepseek-r1 不同版本模型的执行命令不同:
(1)1.5b 的命令为:“ollama run deepseek-r1:1.5b”
(2)7b 的命令为:“ollama run deepseek-r1:7b”
(3)14b 的命令为:“ollama run deepseek-r1:14b”
推荐大家先下载较小的 1.5b 模型,把本教程的安装程序跑通,再根据自己的硬件配置和需求安装适当的版本。
(4)本教程选择选择 1.5b 模型,在命令行窗口运行安装命令 “ollama run deepseek-r1:1.5b”,程序会自动下载和安装运行,如下图:
在这里插入图片描述

4、ollama默认安装地址是 “C:\Users%username%.ollama\models”。如果要修改模型的保存地址,可以新建一个文件夹如 “C:\Model”,然后在系统环境变量添加系统变量:
(1)“变量名:OLLAMA_MODELS,
(2)变量值:C:\Model”。
在这里插入图片描述

(4)安装完成后显示 “success”,表明安装成功。

在这里插入图片描述

(三)使用 deepseek-r1 模型

1、在命令行窗口运行命令 “ollama run deepseek-r1:1.5b”,就可以在提示行输入,与 deepseek-r1 进行聊天。
在这里插入图片描述
在这里插入图片描述

2、输入 “/?”,可以获得帮助。
在这里插入图片描述

通过本地命令行窗口可以使用 deepseek-r1,但这让人回到了 DOS 年代,交互体验很差。接下来我们安装Docker 和 RAGFlow。

(四)通过git工具下载RAGFlow源代码

1、建议通过git克隆仓库的方式下载RAGflow, windows系统默认没有git工具,所以先下载git工具
git工具下载地址:
https://git-scm.com/downloads/win
2、在win10中安装git工具
在这里插入图片描述

(1)执行Gitinstaller.exe,进入安装向导,如下图:
在这里插入图片描述

(2)指定安装的路径,如下图:
在这里插入图片描述

(3)勾选on the desktop,安装完成后,在图标显示git图标,如下图:
在这里插入图片描述

(4)添加到开始菜单的程序组名称,默认使用Git,如下图:
在这里插入图片描述

(5)选择Git的编辑器,默认选择,也可选择自己常用的编辑器,如下图:
在这里插入图片描述

(6)调整新存储库中初始分支的名称您希望Git在“Git init”之后为初始分支命名什么?
默认是让git决定,也可选择覆盖新存储库的默认分支名称;新命名:常见的选择是“main”、“trunk”和“development”,指定初始分支应使用的名称“git init”:
在这里插入图片描述

(7)调整PATH环境,您希望如何从命令行使用Git?
仅使用Git Bash中的Git,这是最谨慎的选择,因为您的PATH根本不会被修改,您只能使用Git Bash中的Git命令行工具。
默认第三方软件(推荐)此选项仅向PATH添加一些最小的Git包装器,以避免使用可选的Unix工具来占用您的环境。您将能够使用Git Bash、命令提示符和WindowsPowerShell,以及在PATH中查找Git的任何第三方软件。
我们使用Prompt命令中的Git和可选Unix工具Git和可选Unix工具都将添加到您的PATH中。警告:这将覆盖Windows工具,如“fnd”和“sort”。只有当你理解其含义时,才使用此选项。
在这里插入图片描述

(8)选择使用哪个版本的ssh,使用git 自带的开放SSH,或使用外部的SSH,默认选择自带的SSH,如下图:
在这里插入图片描述

(9)选择HTTP传输后端,您希望Git使用哪个SSL/LLS库进行HTTPs连接?默认即可,如下图:
在这里插入图片描述

(10)配置行尾转换Git应该如何处理文本中的行尾?选择默认,如下图:
在这里插入图片描述

(11)配置终端模拟器以与Git Bash一起使用您想与Git Bash一起使用哪个终端模拟器?选择default缺省,如下图:
在这里插入图片描述

(12)选择git pull的缺省行为,默认情况下应该做什么?选择默认,如图:
在这里插入图片描述

(13)选择凭证助手,应该配置哪个凭据助手?如下图:
在这里插入图片描述

(14)打开系统缓存,如下图:
在这里插入图片描述

(15)配置实验选项,这些功能正在积极开发中,您想尝试一下吗?默认不勾选,如下图:
在这里插入图片描述

(16)开始安装,等待进度完成,如下图:
在这里插入图片描述

(17)点击finish完成安装,如下图:
在这里插入图片描述

2、打开CMD命令容器,执行命令完成git克隆仓库,命令如下:
git clone https://github.com/infiniflow/ragflow.git
在这里插入图片描述

图中完成done到100%时,说明克隆下载完成
3、找到下载的RAGflow压缩包,放到D盘根目录下,解压RAGflow压缩包后,解压后文件夹的大小如图:
说明:若直接从官网下载的zip文件解压,解压后的文件夹大概69MB,是最小的运行环境。本例未采用。
在这里插入图片描述

(五)下载与安装docker

1、下载docker
Docker是一种虚拟化容器技术。Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。
下载地址:https://www.docker.com/
在这里插入图片描述

2、 检查安装环境
(1)在 Windows 任务管理器中,检查系统是否开启虚拟化。
打开任务管理器(Ctrl+Alt+Delete),选择:性能 - CPU - 虚拟化,确认“虚拟化”已启用。
在这里插入图片描述

(2)如果windows 10是物理机,未开启虚拟化,则要开机重启按并按(F1/F2/DEL键,电脑品牌不同按键有差异)进入BIOS 进行设置:在 BIOS 选择:Advanced(高级)-- CPU Configuration – Secure Virtual Machine,设置为:Enabled(启用)。
(3)如果运行的windows 10是虚拟化环境,开启虚拟化如下图:
在这里插入图片描述

(4)在 “控制面板” 打开 “程序”,然后点击 “启用或关闭 Windows 功能”,勾选 “Hyper-V 管理工具” 和 “Hyper-V 平台”。
在这里插入图片描述
在这里插入图片描述

(5)以管理员身份打开命令行窗口,输入 “wsl --set-default-version 2”,将默认设置为 WSL 2。如果此处报错,进入第(7)步
在这里插入图片描述

通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版,并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改。

(6)命令行窗口,输入 “wsl --update --web-download”,更新安装 wsl。
在这里插入图片描述

(7)通过deepseek查看安装的条件要求,docker的要求如下:
在这里插入图片描述

(8)查看本机现运行的win10版本, 16299版本低于19041版本,如下图:
在这里插入图片描述

(9)此时需要对windows 10系统进行更新,如下图:
在这里插入图片描述

(10)更新完成后执行命令systeminfo查看系统的版本,如下图
在这里插入图片描述

(11)若不对windows进行系统补丁的更新,安装时会提示安装失败,win10专业版需要19044以上的版本,如下图:
在这里插入图片描述

3、开始安装 Docker Desktop,注:在更新完成win10系统的补丁后
Docker Desktop 是 Docker 官方提供的桌面应用程序,旨在让开发者能够在 Windows 和 macOS 系统上轻松地构建、运行和共享容器化应用程序。Docker Desktop 提供了一个方便的工具集,使用户能够快速部署容器化应用程序,同时还包括了一些强大的功能和工具,如 Docker Engine、Docker CLI、Docker Compose 等。
(1)准备好下载的docker desktop安装程序docker Desktop installer.exe、安装执行的批处理文件a.bat、安装的空目录结构,如下图:
在这里插入图片描述

(2)上图中,安装docker desktop的批处理文件a.bat的内容如下(多行是1条命令):
start /w “” “Docker_Desktop_Installer.exe” install -accept-license --installation-dir=“D:\SoftWare\Docker\install” --wsl-default-data-root=“D:\SoftWare\Docker\install\Data” --windows-containers-default-data-root=“D:\SoftWare\Docker\install”
在这里插入图片描述

(3)Docker在运行的过程中,需要较大的磁盘空间,对容器、卷、镜像包等进行存放,运行的镜像包还会涉及到deepseek模型,所以我们安装的过程中,将路径指定到非系统盘中,具体需要创建的空文件夹结构如下图(对照a.bat中的目录结构即可):
在这里插入图片描述

(4)准备好上面的3步后,双击a.bat执行安装docker desktop的过程,本例的docker desktop版本是4.38.0,如下图:
在这里插入图片描述

(5)当出现对话框时,勾选以下2个选项,使用WSL 2代替Hyper-v,添加快捷方式到桌面,如下图:
在这里插入图片描述

(6)解压安装包,注意此时使用的是虚拟安卓环境,所以在电脑上执行pak的安装程序包,如下图:
在这里插入图片描述

(7)当安装完成后,命令窗口会出现succeeded成功,如下图:
在这里插入图片描述

(8)安装完成后,出现窗口,点close and restart重启系统,如下图:
在这里插入图片描述

4、检查验证docker desktop的版本及docker帐号初始化
(1)重启后,出现下图所示的画面,点击accept接受,如下图:
在这里插入图片描述

(2)此时通过cmd窗口执行docker version查看docker的版本信息时,版本为27.5.1,表明安装成功。如下图:
在这里插入图片描述

(3)选择use recommended settings(requires administrator password)使用推荐的设置(需要管理员密码),finish完成
在这里插入图片描述

(4)根据提示登录账号,如使用 GitHub 账号登录。
在这里插入图片描述

(5)进入欢迎界面,选择行业
在这里插入图片描述

(6)选择使用docker的应用方向
在这里插入图片描述

(7)进入到docker desktop的主界面,如下图:
在这里插入图片描述

三、配置docker desktop、加载RAGflow镜像

(一)配置docker desktop

1、当设置docker setting设置报错时,如下图:
在这里插入图片描述

2、上图中报错的处理方式,以cmd管理员模式运行以下命令,如下图:
bcdedit /set hypervisorlaunchtype auto
在这里插入图片描述

重启电脑后,以管理员身份运行Docker Desktop再点击设置就不会报错了。
3、ragflow默认下载的是瘦身版本,没有embedding模型,所以使用命令docker compose -f docker/docker-compose.yml up -d,加载模型,在加载过程中报错,如下图:
在这里插入图片描述

4、镜像下载不了,解决方法是在docker desktop中设置国内镜像源:
(1)Docker中国区官方镜像
https://registry.docker-cn.com
(2)中科大
https://docker.mirrors.ustc.edu.cn/
(3)网易
http://hub-mirror.c.163.com/
(4)腾讯
https://mirror.ccs.tencentyun.com
(5)毫秒镜像:
https:// docker.1ms.run
(6)开源社镜像站点
https://mirror.azure.cn/
5、本例在docker Desktop中settings项docker Engine中,添加了2项国内的镜像站点,修改内容如下(注意符号用半角,括号有2种):
{
“builder”: {
“gc”: {
“defaultKeepStorage”: “20GB”,
“enabled”: true
}
},
“experimental”: false,
“registry-mirrors”: [
“https://docker.1ms.run”,
“https://mirror.azure.cn”
]
}
6、设置docker Engine具体修改内容后,如下图所示:
在这里插入图片描述

7、将默认为 v0.17.0-slim 版本,即未嵌入模型的 RAGFlow Docker 镜像,改成嵌入模型镜像,修改.env文件,具体修改如下图:
在这里插入图片描述

.env文件的路径在d:\ragflow\docker下

(二)加载ragflow镜像:

1、之前执行命令时,镜像下载不了,修改.env文件及设置后,再次执行命令docker compose –f docker/docker-compose.yml up –d 下载ragflow,执行cmd命令前,注意当前目录,如下图:
在这里插入图片描述

2、执行命令的过程中,如下图:
在这里插入图片描述

3、执行命令结束后,提示mysql不健康,暂时不处理,如下图:
在这里插入图片描述

(1)Minio:Minio 是高性能分布式对象存储存储系统,属于开源软件,文件上传到此文件服务器。
(2)Redis:是一个开源的、高性能的键值存储数据库,文件解析的时候需要使用redis消息队列进行暂存,方便异步执行。
(3)Elastic search:能够处理大量的数据并提供实时的搜索和分析能力,存储向量数据、任务信息。
(4)MySql:存储用户信息、系统配置信息(比如配置知识库名称)、任务定义、执行状态、结果等。

(三)启动RAGflow

1、启动前,我们先检查各已经安装的软件工具版本
(1)ollama版本号
在这里插入图片描述

(2)docker desktop版本号
在这里插入图片描述

(3)wsl的版本号
在这里插入图片描述

2、启动ragflow(注:本例第2次安装时,把ragflow的目录,调整到了d:\)
(1)打开cmd窗口后,依次使用命令:
d:
cd \ragflow\docker
docker compose up -d
在这里插入图片描述

(2)注意看到有Running时,说明正在运行,如下图:
在这里插入图片描述

(3)当所有中间件(mysql、minio、redis、Elastic search)显示状态为Running时,说明都运行正常
在这里插入图片描述

3、当启动结束后,出现cmd命令提示符,此时执行命令检查服务器状态,命令如下,执行如图:
docker logs -f ragflow-server
在这里插入图片描述

4、当cmd窗口中出现有RAGFlow的图形标识时,说明启动成功了,如下图:
在这里插入图片描述

5、在启动信息的最后,有RAGFlow服务器运行的ip地址与端口号:
在这里插入图片描述

(四)注册登录到RAGflow

1、查看当前的ragflow端口号80是否开启,打开cmd窗口后,执行命令telnet <docker主机ip> 80 ,如下图:
在这里插入图片描述

2、当窗口左上角出现闪烁的光标,说明对应ip地址的80端口已开启,如下图:
在这里插入图片描述

3、从浏览器地址栏输入http://192.168.0.63回车后可打开fagflow窗口
(1)登录界面,如下图:
在这里插入图片描述

(2)创建账户界面,如下图:
在这里插入图片描述

(3)注册成功界面,创建账户时,输入Email地址,密码,点Sign in,注册成功后,屏幕中间出现Rigistered,即注册成功,如下图:
在这里插入图片描述

4、登录到RAGFlow服务器:
至此deepseek的本地安装部署结束,后面开始创建知识库,让deepseek开始学习。
在这里插入图片描述

四、deepseek创建知识库完成训练

1、点击个人中心-》模型提供商-》在此设置模型参数
在这里插入图片描述
在这里插入图片描述

2、添加系统模型,我们安装的是ollama,找到ollama图标后,点添加模型,如下图:

在这里插入图片描述

3、添加好系统模型后,会显示在添加了的模型区域中,然后这个模型就可以使用了,如下图:
在这里插入图片描述

4、在上方点聊天,新建助理,如下图:
在这里插入图片描述

5、再点聊天,+,输入想提问的问题,此时提示知识库中没有相关内容,因为我们尚未建立知识库,所以接下来需要建立知识库给deepseek,让知识库解析成块,就可以回答相关的问题了。
在这里插入图片描述

说明:几种不同模型的差异:嵌入模型提供数据表示,Img2txt和Sequence2txt模型生成文本,Rerank模型优化结果,聊天模型生成最终回复,TTS模型将文本转为语音。
6、新建知识库,如下图:
在这里插入图片描述

7、配置知识库模型
(1)知识库的名称、语言、权限、嵌入模型、解析方法
在这里插入图片描述

(2)配置创建好的知识库模型,下拉到保存,如下图:
在这里插入图片描述

8、上传文件如下图:
在这里插入图片描述

8、解析知识库的内容
在这里插入图片描述

9、解析时,对硬件的资源要求高:
(1)解析时对磁盘的使用率百分比,所以需要用速率高的磁盘,比如:SSD
在这里插入图片描述

(2)解析时,对CPU的要求高
在这里插入图片描述

(3)解析需要一定的时长,如下图:
在这里插入图片描述

11、检索回答,需要先将文件解析成块后才能问答,
在这里插入图片描述

12、聊天助手知识问题,添加聊天助手做知识问答。
在这里插入图片描述

13、检索对磁盘的运行速度要求高,如下图:

在这里插入图片描述

五、验证结果:

1、从搜索框中搜索,与知识库匹配,如下图:
在这里插入图片描述
2、通过聊天框,可以搜索到知识库中相关的内容,如下图:
在这里插入图片描述
成功搜索到知识库的内容,也是基于创建知识库的应答,本文至此结束。通过使用Windows+Ollama+Docker Desktop+ RAGFlow,完成了deepseek_r1 1:1.5b模型的安装、运行测试。

相关文章:

DeepSeek本地部署 (Windows+Ollama+Docker Desktop+ RAGFlow)

适用场景&#xff1a; 1、商城的小机器人自动根据实际情况回复 2、需要7*24小时运行在线回复&#xff0c;如&#xff1a;在线购物、在线咨询、在线招生等 3、无人值守环境 2025年1月&#xff0c;DeepSeek 正式发布 DeepSeek-R1 推理大模型&#xff0c;DeepSeek-R1 成本价格低…...

H3C无线控制器二层注册典型配置举例

介绍AP与AC间通过二层网络完成注册的配置举例 组网需求 如图所示&#xff0c;集中式转发架构下&#xff0c;AC旁挂在L2 switch1上&#xff0c;L3 switch做DHCP server为AP、Client和Host分配IP地址。需要实现无线客户端Client通过AP连接到AC上&#xff0c;并能与有线客户端Hos…...

前端面试笔试

前端面试笔试 1 相对路径和绝对路径的区别 区别&#xff1a;他们描述文件或目录位置的方式不同 ‌绝对路径‌&#xff1a;绝对路径是指从系统的根目录开始的完整路径&#xff0c;无论当前工作目录在哪个位置&#xff0c;绝对路径始终指向文件或目录的确切位置。绝对路径适用…...

java的split分隔,使用regex

split(String regex) 是 Java 中 String 类的一个方法&#xff0c;用于根据正则表达式&#xff08;regex&#xff09;将字符串分割为子字符串数组。以下是一些常用的正则表达式及其用途&#xff1a; 按空格分割 正则表达式&#xff1a;“\s” 作用&#xff1a;匹配一个或多个…...

写时拷贝技术

目录 写时拷贝 核心思想 基本原理 基本过程 一个例子深入理解 补充知识--引用计数 小总结 写时拷贝实现 宏观理解&#xff08;进程、线程角度&#xff09; 资源共享 只读访问 写操作触发拷贝 独立修改 微观理解&#xff08;fork系统调用角度&#xff09; 进程创…...

HarmonyOS NEXT开发进阶(十二):build-profile.json5 文件解析

文章目录 一、前言二、Hvigor脚本文件三、任务与任务依赖图四、多模块管理4.1 静态配置模块 五、分模块编译六、配置多目标产物七、配置APP多目标构建产物八、定义 product 中包含的 target九、拓展阅读 一、前言 编译构建工具DevEco Hvigor&#xff08;以下简称Hvigor&#x…...

ubuntu系统下添加pycharm到快捷启动栏方法

一、背景 之前在ubuntu系统下使用pycharm时&#xff0c;总是要进入/home/dlut/pycharm-community-2022.1/bin文件夹下&#xff0c;然后终端执行命令下面的命令才可修改代码&#xff1a; ./pycharm.sh为了以后方便&#xff0c;这里给出添加pycharm到快捷启动栏的方法 二、添加…...

简述计算机网络中的七层模型和四层模型

在计算机网络中&#xff0c;网络协议栈的设计通常采用分层结构来处理不同的通信任务。常见的分层结构有OSI七层模型和TCP/IP四层模型。虽然它们的层次数量不同&#xff0c;但本质上都在解决如何有效地进行计算机间通信。本文将分别介绍这两种结构的功能和各层的协议。 一、OSI七…...

golang开发支持onlyoffice的token功能

一直都没去弄token这块&#xff0c;想着反正docker run的时候将jwt置为false即可。 看了好多文章&#xff0c;感觉可以试试&#xff0c;但是所有文件几乎都没说思路。 根据我的理解和成功的调试&#xff0c;思路是&#xff1a; 我们先定义2个概念&#xff0c;一个是文档下载…...

【Linux】:封装线程

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家带来封装线程相关的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结…...

OpenCV多分辨率模板匹配与容错优化实战指南

第一章&#xff1a;问题背景与挑战 1.1 传统模板匹配的局限性 模板匹配&#xff08;Template Matching&#xff09;是计算机视觉中基础且广泛使用的技术&#xff0c;其核心思想是通过滑动窗口在目标图像中寻找与模板最相似的位置。然而&#xff0c;传统方法&#xff08;如Ope…...

「为爱发电」的硬核打开方式,涂鸦智能用AIoT引领智慧能源变革

全球能源危机与气候变化的双重压力下&#xff0c;人类正面临着一场前所未有的考验。据国际能源署预测&#xff0c;到2050年&#xff0c;若要实现碳中和目标&#xff0c;清洁能源需贡献全球电力结构的90%以上。在这场关乎人类未来的能源革命中&#xff0c;不仅需要技术创新&…...

uniapp-x 子组件样式覆盖

不支持scoped 默认不支持scoped&#xff0c;所以写也没用 那如果我想修改子孙节点的样式是不是很方便&#xff0c;不需要v-deep了&#xff1f; 的确如此 自带页面样式隔离 在 uni-app x 中&#xff0c;不支持 css scoped&#xff0c;样式的作用范围遵循以下规则&#xff1a;…...

word处理控件Aspose.Words教程:使用 Python 删除 Word 中的空白页

Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理&#xff0c;并…...

MIDI,AI 3D场景生成技术

MIDI&#xff08;Multi-Instance Diffusion for Single Image to 3D Scene Generation&#xff09;是先进的3D场景生成技术&#xff0c;能在短时间内将单张图像转化为高保真度的3D场景。通过智能分割输入图像&#xff0c;识别出场景中的独立元素&#xff0c;再基于多实例扩散模…...

ICLR2025 | SLMRec: 重新思考大语言模型在推荐系统中的价值

note 问题背景&#xff1a;序列推荐&#xff08;SR&#xff09;任务旨在预测用户可能的下一个交互项目。近年来&#xff0c;大型语言模型&#xff08;LLMs&#xff09;在SR系统中表现出色&#xff0c;但它们巨大的规模使得在实际平台中应用变得低效和不切实际。 研究动机&…...

走路碎步营养补充贴士

走路碎步&#xff0c;这种步伐不稳的现象&#xff0c;在日常生活中并不罕见&#xff0c;特别是对于一些老年人或身体较为虚弱的人来说&#xff0c;更是一种常见的行走状态。然而&#xff0c;这种现象可能不仅仅是肌肉或骨骼的问题&#xff0c;它还可能是身体在向我们发出营养缺…...

【bug日记】 编译错误

在我使用vscode的时候&#xff0c;我想用一个头文件和两个cpp文件&#xff0c;头文件是用来声明一个类的&#xff0c;一个cpp是用来类的成员函数&#xff0c;一个cpp是主函数 但是我写完编译发现会弹出找不到这个类成员函数这个cpp文件&#xff0c;爆出这样的错误 提示我找不到…...

计算机视觉cv2入门之边缘检测

检测原理 边缘检测是指检测图像中的一些像素点&#xff0c;它们周围的像素点的灰度发生了急剧的变化&#xff0c;因此可以将这些像素点作为一个集合,用于标注图像中不同物体的边界。 边缘是图像上灰度级变化很快的点的集合。这些点的梯度往往很大。因此我们可以使用一阶导数和二…...

python脚本实现服务器内存和cpu使用监控,并记录日志,可以设置阈值和采样频率

Python 脚本&#xff0c;实现以下功能&#xff1a; 按日期自动生成日志文件&#xff08;例如 cpu_mem_20231001.csv&#xff09;当 CPU 或内存超过阈值时触发记录独立记录报警事件&#xff08;保存到 alert.log&#xff09;支持自定义阈值和监控间隔 脚本代码 import psutil …...

解决PC串流至IPad Pro时由于分辨率不一致导致的黑边问题和鼠标滚轮反转问题

问题背景 今天在做 电脑串流ipad pro 的时候发现了2个问题&#xff1a; 1.ipadpro 接上鼠标后&#xff0c;滚轮上下反转&#xff0c;这个是苹果自己的模拟造成的问题&#xff0c;在设置里选择“触控板与鼠标”。 关闭“自然滚动”,就可以让鼠标滚轮正向滚动。 2. ipadpro 分…...

星越L_三角指示牌及危险警示灯使用

目录 1.打开危险警告灯 2.取出反光背心穿上 3.取出指示牌 4.放置三角指示牌。 1.打开危险警示灯 2.取出反光背心穿上 3.取出指示牌...

使用WireShark解密https流量

概述 https协议是在http协议的基础上&#xff0c;使用TLS协议对http数据进行了加密&#xff0c;使得网络通信更加安全。一般情况下&#xff0c;使用WireShark抓取的https流量&#xff0c;数据都是加密的&#xff0c;无法直接查看。但是可以通过以下两种方法&#xff0c;解密抓…...

MySQL复习(检查本地MySQL是否安装、DataGrip数据库可视化工具使用、增删改查基础语法、唯一索引、SQL简单函数)

目录 一、快速检查本地MySQL是否安装。(详细教程) &#xff08;1&#xff09;MySQL本地系统环境变量配置。(简单说明) &#xff08;2&#xff09;cmd命令行——判断MySQL是否安装成功&#xff01; 二、DataGrip数据库操作可视化工具。 &#xff08;1&#xff09;基本介绍。 &am…...

数学建模 第一节

目录​​​​​​ 前言 一 优化模型的类型 二 线性规划1 线性规划2 三 0-1规划 总结 前言 数学建模主要是将问题转化为模型&#xff0c;然后再以编程的形式输出出来 算法都知道&#xff0c;数学建模也需要用到算法&#xff0c;但是不是主要以编程形式展示&#xff0c;而是…...

《Python实战进阶》No24: PyAutoGUI 实现桌面自动化

No24: PyAutoGUI 实现桌面自动化 摘要 PyAutoGUI 是一个跨平台的桌面自动化工具&#xff0c;能够模拟鼠标点击、键盘输入、屏幕截图与图像识别&#xff0c;适用于重复性桌面任务&#xff08;如表单填写、游戏操作、批量文件处理&#xff09;。本集通过代码截图输出日志的实战形…...

实验篇| CentOS 7 下 Keepalived + Nginx 实现双机高可用

为什么要做双机高可用&#xff1f;‌ 想象一下&#xff1a;你的网站突然宕机&#xff0c;用户无法访问&#xff0c;订单流失、口碑暴跌…&#x1f4b8; ‌双机热备‌就是解决这个痛点的终极方案&#xff01;两台服务器互为备份&#xff0c;724小时无缝切换&#xff0c;保障业务…...

音视频入门基础:RTP专题(19)——FFmpeg源码中,获取RTP的音频信息的实现(下)

本文接着《音视频入门基础&#xff1a;RTP专题&#xff08;18&#xff09;——FFmpeg源码中&#xff0c;获取RTP的音频信息的实现&#xff08;上&#xff09;》&#xff0c;继续讲解FFmpeg获取SDP描述的RTP流的音频信息到底是从哪个地方获取的。本文的一级标题从“四”开始。 四…...

JAVA面试_进阶部分_dubbo负载均衡策略

前言&#xff1a;zookeeper作为dubbo的注册中心&#xff0c;有一个很重要的点&#xff0c;我们的程序是分布式应用&#xff0c;服务部署在几个节点&#xff08;服务器&#xff09;上&#xff0c;当消费者调用服务时&#xff0c;zk返回给dubbo的是一个节点列表&#xff0c;但是d…...

《我的Python觉醒之路》之转型Python(十三)——控制流

#今天风景不错&#xff0c;明天继续学习 请关注我之前的笔记啊...

QT6.8.2在线安装记录

命令行带安装源启动&#xff0c;但仍不能连接到服务器&#xff0c;开着VPN才通过 .\qt-online-installer-windows-x64-4.8.1.exe --mirror https://mirrors.ustc.edu.cn/qtproject 开始安装前断开VPN&#xff0c;其实启动安装器时的镜像源修改参数是起作用的&#xff0c;因为下…...

70.HarmonyOS NEXT PicturePreview组件深度剖析:从架构设计到核心代码实现

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; HarmonyOS NEXT PicturePreview组件深度剖析&#xff1a;从架构设计到核心代码实现 文章目录 HarmonyOS NEXT PicturePreview组件深度剖析&#xf…...

如何从受 Cloudflare 保护的网站提取数据:技术与挑战

引言 Web抓取是数据科学和市场研究的重要工具&#xff0c;但当面对受Cloudflare等先进保护系统守护的网站时&#xff0c;这项任务变得异常具有挑战性。Cloudflare的机器人检测系统需要精心设计的网页抓取解决方案才能成功提取数据。本文将介绍Cloudflare的防护机制以及如何使用…...

【DeepSeek应用】DeepSeek模型本地化部署方案及Python实现

DeepSeek实在是太火了,虽然经过扩容和调整,但反应依旧不稳定,甚至小圆圈转半天最后却提示“服务器繁忙,请稍后再试。” 故此,本文通过讲解在本地部署 DeepSeek并配合python代码实现,让你零成本搭建自己的AI助理,无惧任务提交失败的压力。 一、环境准备 1. 安装依赖库 …...

WPF程序使用AutoUpdate实现自动更新

AutoUpdate.NET使用 一、AutoUpdater.NET 简介 AutoUpdater.NET 是一个开源库&#xff0c;支持从各种源&#xff08;如GitHub、FTP、HTTP服务器等&#xff09;下载并安装更新。它提供了灵活的配置选项&#xff0c;允许开发者根据需求定制更新检查逻辑和用户体验。 二、安装 …...

A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第2部分

3、微调&#xff08;上一部分内容&#xff09; 4、LLMs的对齐 大型语言模型&#xff08;LLMs&#xff09;中的对齐涉及引导模型输出以符合人类预期和偏好&#xff0c;特别是在安全关键或用户面对的应用程序中。本章讨论了实现对齐的三个主要范式&#xff1a; 带有反馈的人工…...

【2025】Electron Git Desktop 实战一(上)(架构及首页设计开发)

源代码仓库&#xff1a; Github仓库【electron_git】 Commit &#xff1a; bb40040 Github Desktop 页面分析 本节目标&#xff1a; 1、实现类似Github Desktop的「空仓库」提示页 2、添加本地仓库逻辑编写从 Github Desktop 我们看到 他的 主要页面分为三个区域 Head头部区域…...

996引擎-问题处理:缺失特效分割文件 ModelAtlasSplitConfigs

通常我们买的资源都是带会 ModelAtlasSplitConfigs.txt 或 sceneAtlasSplitConfigs.txt 的 但有时确实找不到的话&#xff0c;是可以用996工具生成的&#xff1a;...

2024年12月CCF-GESP编程能力等级认证C++编程三级真题解析

三级真题的难度: ‌ CCF-GESP编程能力等级认证的C++三级真题难度通常被认为是中等水平,适合具备一定编程基础的考生。以下是关于三级真题难度的一些具体信息: 1. 考试内容 C++三级考试主要涵盖以下几个方面的知识: 基本语法:包括数据类型、变量、运算符等基础知…...

Java面试八股—Redis篇

一、Redis的使用场景 &#xff08;一&#xff09;缓存 1.Redis使用场景缓存 场景&#xff1a;缓存热点数据&#xff08;如用户信息、商品详情&#xff09;&#xff0c;减少数据库访问压力&#xff0c;提升响应速度。 2.缓存穿透 正常的访问是&#xff1a;根据ID查询文章&…...

机器人ROS学习:Ubuntu22.04安装ROS2和Moveit2实现运动规划

通过本篇文章学习&#xff0c;你可以收获以下内容&#xff1a; 学会在 Ubuntu22.04 上安装 Moveit2学会下载编译运行 Moveit2 样例程序学会使用样例程序进行运动规划等 版本平台 系统版本&#xff1a;ubuntu22.04ROS2 版本&#xff1a;humbleMoveit 版本&#xff1a;moveit2…...

树结构和数组之间的转化

1、树结构转为数组 treeToArray(treeData, returnValue []) { let newValue [...returnValue] treeData.map(item > { if (item.children) { const { children, ...treeObj } { ...item } newValue.push(treeObj) newValue this.treeToArray(children, newValue) } else…...

2024华东师范大学计算机复试上机真题

2024华东师范大学计算机复试机试真题 2023华东师范大学计算机复试机试真题 2022华东师范大学计算机复试机试真题 2024华东师范大学计算机复试上机真题 2023华东师范大学计算机复试上机真题 2022华东师范大学计算机复试上机真题 在线评测&#xff1a;传动门&#xff1a;pgcode…...

Blender-MCP服务源码3-插件开发

Blender-MCP服务源码3-插件开发 Blender-MCP服务源码解读-如何进行Blender插件开发 1-核心知识点 1&#xff09;使用Blender开发框架学习如何进行Blender调试2&#xff09;学习目标1-移除所有的Blender业务-了解如何MCP到底做了什么&#xff1f;3&#xff09;学习目标2-模拟MC…...

C++复试笔记(三)

1.友元函数和友元类 1.1友元函数 友元函数的经典实例是重载 "<<" 和 ">>" ,去重载operator<<&#xff0c;然后发现没办法将operator<<重载成成员函数。因为cout的 输出流对象和隐含的this指针在抢占第一个参数的位置。this指针默…...

【数学基础】概率与统计#1概率论与信息论初步

本系列内容介绍&#xff1a; 主要参考资料&#xff1a; 《深度学习》[美]伊恩古德菲洛 等 著 《机器人数学基础》吴福朝 张铃 著 文章为自学笔记&#xff0c;默认读者有一定的大学数学基础&#xff0c;仅供参考。 目录 随机变量概率分布离散型随机变量和概率质量函数连续型变量…...

掌握这些 UI 交互设计原则,提升产品易用性

在当今数字化时代&#xff0c;用户对于产品的体验要求越来越高&#xff0c;UI 交互设计成为决定产品成败的关键因素之一。一个易用的产品能够让用户轻松、高效地完成各种操作&#xff0c;而实现这一目标的核心在于遵循一系列科学合理的 UI 交互设计原则。本文将详细阐述简洁性、…...

工程化与框架系列(32)--前端测试实践指南

前端测试实践指南 &#x1f9ea; 引言 前端测试是保证应用质量的重要环节。本文将深入探讨前端测试的各个方面&#xff0c;包括单元测试、集成测试、端到端测试等&#xff0c;并提供实用的测试工具和最佳实践。 测试概述 前端测试主要包括以下类型&#xff1a; 单元测试&a…...

Python----计算机视觉处理(opencv:像素,RGB颜色,图像的存储,opencv安装,代码展示)

一、计算机眼中的图像 像素 像素是图像的基本单元&#xff0c;每个像素存储着图像的颜色、亮度和其他特征。一系列像素组合到一起就形成 了完整的图像&#xff0c;在计算机中&#xff0c;图像以像素的形式存在并采用二进制格式进行存储。根据图像的颜色不 同&#xff0c;每个像…...

表单 schema 配置化

一、前沿 基于 Ant Design Vue 组件库实现了表单的配置化生成&#xff0c;通过 schema 配置化的方式实现表单的动态渲染、数据绑定和更新等功能&#xff0c;而提交按钮及获取数据逻辑由使用方自行提供。通过 schema 对象来定义表单的结构和属性&#xff0c;modelData 对象存储…...