基于RAGFlow本地部署DeepSpeek-R1大模型与知识库:从配置到应用的全流程解析
作者:后端小肥肠
🍊 有疑问可私信或评论区联系我。
🥑 创作不易未经允许严禁转载。
姊妹篇:
DeepSpeek服务器繁忙?这几种替代方案帮你流畅使用!(附本地部署教程)-CSDN博客
10分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统_springboot deepseek-CSDN博客
【AI编程】Java程序员如何用Cursor 3小时搞定CAS单点登录前端集成_cursor 如何集成企业cas实现单点登录-CSDN博客告别Cursor降智!国产MarsCode+DeepSeek R1组合来袭-CSDN博客
2025防失业预警:不会用DeepSeek-RAG建知识库的人正在被淘汰_deepseek-embedding-CSDN博客
解锁DeepSpeek-R1大模型微调:从训练到部署,打造定制化AI会话系统_fairseq-CSDN博客
目录
1. 前言
2. RAG相关概念讲解(对概念不感兴趣就跳过)
2.1. 什么是Embedding
2.2 Embedding 模型精选与对比
2.3. RAG工作流程
2.4. 如何构建高效的RAG系统?
2.5. RAG框架简介
3. 基于RAGFlow本地部署DeepSpeek-R1大模型及知识库搭建
3.1. Ollama安装
3.2. RAGFlow安装
3.2.1. Docker Desktop安装配置
3.2.2. RAGFlow安装
3.2.3. 知识库搭建
4. 资料获取
5. 结语
1. 前言
作为一名从业七年的程序员,最近听到很多程序员朋友都喜提了n+1裁员大礼包。上周与老友聚会时,大家纷纷诉说着各自最近的遭遇,聚会气氛一度十分沉重。老Z感叹:“公司决定将部分业务外包,结果我被列入了裁员名单。”老L则无奈道:“市场竞争激烈,项目减少,团队预算被削减,前几天我也被裁掉了。”聚会回家后我十分焦虑地打开了招聘软件,发现传统程序员的岗位出现了僧多肉少的情况,hr每天回复几十次的都有,关键薪资待遇并不是很理想。我出于好奇心搜了一下AI相关岗位,发现今年AI岗位出了很多,关键在于投递的人少了很多但是薪资翻了多倍...
在AI技术飞速发展的今天,我意识到程序员转型为AI工程师似乎是一个不错的选择。然而,这一转型并非易事,既需要扎实的编程基础,又需深入理解各种AI模型和技术。其中,检索增强生成(RAG)技术作为大模型落地的关键技术,通过将大型语言模型与外部知识库相结合,显著提升了生成式AI的准确性和时效性。掌握RAG技术,不仅能增强AI系统的响应能力,还能有效解决传统语言模型在处理特定领域知识时的局限性。学习并掌握RAG技术,对于希望在AI领域发展的程序员而言,具有重要意义。
本文我们将从RAG相关原理入手,介绍如何基于RAGFlow本地部署DeepSpeek-R1大模型以及搭建知识库,如果感兴趣就往下约阅读吧~
2. RAG相关概念讲解(对概念不感兴趣就跳过)
2.1. 什么是Embedding
Embedding(嵌入)是把信息(比如单词、句子、文档)转化为计算机能够理解的数字形式。我们把这种转化得到的数字向量称为“Embedding向量”。这种做法在很多AI应用中都很常见,尤其是在处理文本时。想象一下,你和朋友在讨论《红楼梦》中的人物时,可能会提到“林黛玉”和“贾宝玉”这两个角色。在你们的谈话中,这些名字不仅仅是字面上的称呼,它们还承载着丰富的情感和故事背景。同样地,计算机也需要一种方式来理解这些词语背后的深层含义。Embedding(嵌入)就是一种将词语、句子或文档转化为计算机可以理解的数字形式的方法。通过这种方式,计算机能够“感知”词语之间的关系和相似性。
举个例子:
假设我们将“林黛玉”和“贾宝玉”这两个角色转化为一组数字,例如:
- 林黛玉:[0.2, 0.8, -0.5, ...]
- 贾宝玉:[0.3, 0.7, -0.4, ...]
这些数字背后的含义可能是:
- 第一个数字:代表角色的文学地位。
- 第二个数字:代表角色的性格特征。
- 第三个数字:代表角色的情感经历。
由于“林黛玉”和“贾宝玉”在故事中有着深厚的关系和相似的性格特征,所以它们的数字表示在计算机的“心目”中会比较接近。这种接近性帮助计算机理解它们在语义上的相似性:
2.2 Embedding 模型精选与对比
为帮助读者快速选择适合 RAG 系统的嵌入模型,本文结合最新行业评测(截至2025年3月)整理出以下主流模型及其特性:
模型名称 | 开发团队 | 核心特点 | 适用场景 | 性能指标(MTEB/MIRACL) |
BGE-M3 | 智源研究院 | 支持100+语言,集成稠密/稀疏/多向量混合检索,8192 tokens长文本处理能力 | 企业级多语言知识库、复杂格式文档检索(表格/图表解析) | MIRACL平均召回率89.2% |
Gemini Embedding | Google AI | 基于动态稀疏注意力机制,支持8K上下文,Matryoshka降维技术减少83%存储需求 | 多模态检索、金融/法律领域长文档分析、跨语言知识库 | MMTEB多语言Borda分数最高 |
mxbai-embed-large | Mixed Bread AI | 1024维高精度向量,短文本优化,模型体积仅为OpenAI text-embedding-3-large的60% | 中小团队快速部署、实时语义搜索(电商/客服场景) | MTEB平均得分72.1 |
nomic-embed-text | Nomic AI | 768维平衡设计,短文本相似度计算效率领先,支持动态分块策略 | 社交媒体内容分析、竞品监控、短问答系统 | 短文本检索F1值78.5% |
Jina Embedding | Jina AI | 基于3.8亿高质量句对训练,35M参数量推理速度极快 | 移动端轻量化应用、边缘计算场景(如物联网设备日志分析) | 推理速度比同类快3倍 |
GTE | 阿里巴巴达摩院 | 基于BERT框架优化,直接处理代码无需微调,适配技术文档检索 | 开发者文档检索(如API手册查询)、编程问答社区 | 代码检索准确率92.7% |
模型选择建议
- 企业级复杂场景:优先选择 BGE-M3 或 Gemini Embedding,两者在混合检索、长文本处理和多语言支持上表现突出;
- 轻量化部署需求:mxbai-embed-large(高精度)和 nomic-embed-text(高效率)是性价比之选;
- 技术文档与代码场景:GTE 的代码原生支持特性可减少30%的误召回率;
- 移动/边缘计算:Jina Embedding 凭借35M参数量和高效推理架构,适合资源受限环境。
注:以上数据参考自MTEB 2025官方榜单及企业实测报告,完整评测方法可访问 HuggingFace MTEB Leaderboard。
2.3. RAG工作流程
检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种将信息检索技术与生成模型结合的方法,主要用来提升大型语言模型在处理知识密集型任务时的表现。RAG的工作流程可以分为四个主要步骤,简单来说就是:检索、增强、生成。
1. 数据索引(Indexing):
- 数据预处理:首先,我们需要对原始数据进行清洗和规范化处理。这样可以确保数据的质量,去掉那些无关或干扰的信息。
- 向量化处理:接下来,我们使用一些嵌入模型将这些数据转换成向量形式。向量化的目的是把数据中的语义信息提取出来,以便后续处理。
- 建立索引:最后,将这些向量化的数据存储到向量数据库中,并为它们建立索引。这样,系统就能快速检索到相关数据。
2. 检索(Retrieval):
- 查询处理:当用户提交问题时,系统会先将用户的查询转化成向量表示。
- 相似度计算:然后,系统会计算查询向量和数据库中所有数据向量之间的相似度。通常,余弦相似度是常用的计算方法。
- 检索相关数据:根据计算出的相似度,系统会从数据库中提取出最相关的数据片段。
3. 增强(Augmentation):
- 构建增强提示:此时,系统将用户的查询与检索到的相关数据结合,构建一个增强的提示(prompt)。这个提示将提供给生成模型,确保它能够利用最新、最相关的信息来生成回答。
4. 生成(Generation):
- 生成响应:生成模型会根据这个增强的提示,生成最终的响应。由于它结合了最新的知识和数据,因此生成的回答会更加准确和相关。
2.4. 如何构建高效的RAG系统?
要打造一个高效的RAG系统,主要优化的点在于构建数据索引这一步,以下几个关键步骤非常重要:
- 数据预处理的重要性:在RAG系统中,数据预处理至关重要。包括数据清洗和规范化处理,能有效提升检索效果。如果数据没有经过清理,就可能包含很多噪声或冗余信息,这会影响检索器的表现,从而影响生成模型的输出质量。
- 数据分块策略:当处理长文档时,拆分成合适大小的块会更有帮助。这不仅能提高检索效率,还能提高准确性。当然,块的大小需要根据具体情况进行调整,找到一个平衡点,既保证信息的完整性,又确保处理的高效。
- 嵌入模型的选择:嵌入模型将文本转换为向量,这个过程直接影响检索效果。选择一个与应用领域匹配的嵌入模型,并对其进行微调,可以大大提升检索的相关性和准确性。
除去以上步骤,设计有效的提示词,引导模型生成准确的回答;通过调整解码器的温度等参数,控制输出的多样性和质量;对生成器进行微调,使其更好地适应特定任务等手段也可以提升RAG的回答效果。
2.5. RAG框架简介
在我之前的文章里也写过RAG框架,为了方便大家理解和比较RAG框架,我做了一个表格汇总(下表的AnythingLLM框架对应文章为:2025防失业预警:不会用DeepSeek-RAG建知识库的人正在被淘汰_deepseek-embedding-CSDN博客)
框架名称 | 类别 | 核心特点 | 适用场景 |
LangChain | 传统 RAG 框架 | 模块化设计,支持文档加载、文本拆分、嵌入、检索全流程 | 灵活构建复杂 LLM 应用(如问答系统、智能体开发) |
Haystack | 传统 RAG 框架 | 端到端解决方案,支持多语言模型与文档存储集成,模块化架构 | 企业级搜索增强系统、多语言知识库应用 |
RAGFlow | 企业级 RAG 框架 | 深度文档理解(OCR/TSR支持),混合检索(向量+搜索引擎+结构化查询) | 处理复杂格式文档的企业知识库(表格、图表解析) |
VARAG | 多模态 RAG 框架 | 整合图像理解能力,基于 LangChain 构建,API 接口友好 | 图文混合内容处理(教育、研究场景)、初创项目原型 |
R2R | 检索优化框架 | 迭代式检索优化,支持多步骤检索过程与性能分析工具 | 需要高精度检索的学术研究、复杂查询场景 |
FlashRAG | 高效检索框架 | 分布式处理优化,支持百亿级数据检索,内置性能分析工具 | 高并发、大规模数据场景(如实时语义搜索) |
AnythingLLM | 私有化部署框架 | MIT协议支持二次开发,内置企业级权限体系,兼容200+文档格式 | 数据敏感型企业(法律、制造业)私有知识库构建 |
Cherry Studio | 轻量级框架 | 零配置桌面端运行,集成30+开源模型,支持离线问答 | 小微团队快速验证(创意灵感库、竞品分析) |
Cognita | MLOps 集成框架 | 端到端平台,内置监控与版本控制,支持模型实验跟踪 | 需要全生命周期管理的 AI 应用开发 |
Canopy | 向量检索优化框架 | 基于 Pinecone 矢量数据库技术,高扩展性检索架构 | 需要高效矢量搜索的大规模多模态应用 |
RAGFlow作为本文要讲的RAG框架,有以下优点:
- 多样化的文档处理能力:RAGFlow支持丰富的文件格式,包括Word、PPT、Excel、PDF等,并针对特定格式提供相应的解析模板,能够处理复杂格式的文档,如表格、图像等。
- 深度文档理解:内置的DeepDoc组件能够对用户的非结构化文档进行布局检测,确保文字在保持语义的前提下进行处理,提高了数据处理的准确性和可靠性。
- 混合检索机制:RAGFlow支持向量检索、搜索引擎检索和结构化查询的混合检索方式,能够根据不同场景选择最优的检索策略,提升了检索的精度和效率。
- 高可定制性和可扩展性:RAGFlow提供了灵活的自定义能力,用户可以根据具体需求定制评分算法、检索策略等,适应高负载应用场景,满足不同业务需求。
这些优点使RAGFlow在处理复杂格式文档、提供高精度检索和满足企业级应用需求方面表现出色。
3. 基于RAGFlow本地部署DeepSpeek-R1大模型及知识库搭建
3.1. Ollama安装
Ollama安装在之前的文章已经手把手交过,这里就不在赘述,文章指引:2025防失业预警:不会用DeepSeek-RAG建知识库的人正在被淘汰_deepseek-embedding-CSDN博客
本文和之前有所不同的一点是需要配置一下OLLAMA_HOST:
配置 OLLAMA_HOST的ip为0.0.0.0的核心目的是突破网络隔离限制,使运行在 Docker 容器中的 RAGFlow 能够通过宿主机网络访问 Ollama 服务。Ollama 默认绑定在 127.0.0.1(仅限本机访问),而 Docker 容器与宿主机属于不同网络命名空间,无法直接访问此地址。设置为 0.0.0.0 后,Ollama 会监听所有网络接口(包括虚拟网卡),使容器可通过宿主机 IP 或 host.docker.internal域名访问服务。
3.2. RAGFlow安装
3.2.1. Docker Desktop安装配置
1. 安装 WSL 2(适用于 Windows 10 版本 2004 及以上):
Windows 子系统 Linux 2(WSL 2)提供了一个完整的 Linux 内核,Docker Desktop 依赖于此。win+R打开命令窗口,输入winver查看系统版本,确保内部版本高于19041:
以管理员身份打开 PowerShell,运行以下命令:
wsl --install
安装完成后需要重启一下计算机。
2. 安装DockerDesktop
安装 Docker Desktop 之前,确保您已经安装并启用了 WSL 2。可以通过在 PowerShell 运行以下命令来检查:
wsl --list --verbose
下载 Docker Desktop:访问 Docker 官方网站 Docker Desktop: The #1 Containerization Tool for Developers | Docker 下载适用于 Windows 的 Docker Desktop 安装包。
安装 Docker Desktop:
- 双击下载的安装文件
Docker Desktop Installer.exe
。 - 按照提示完成安装过程。
- 安装完成后,系统可能提示重启计算机,建议重启以确保所有组件正常工作。
启动 Docker Desktop:电脑重启后,启动Docker Desktop,初次启动可能需要一些时间。
配置一下docker镜像源地址:
以下镜像源地址为国内地址,你不想用我的也可以自己找:
"registry-mirrors":["https://hub.rat.dev"]
3.2.2. RAGFlow安装
RAGFlow的安装我建议可以直接去github(https://github.com/infiniflow/RAGFlow)上看README_zh.md,教程已经很详尽,当然你嫌麻烦也可以直接看我的,首先基于git拉取RAGFlow项目:
git clone https://github.com/infiniflow/RAGFlow.git
进入RAGFlow/docker文件夹输入cmd打开命令提示符窗口:
如需下载不同于
v0.17.2-slim
的 Docker 镜像,请在运行docker compose
启动服务之前先更新 docker/.env 文件内的RAGFlow_IMAGE
变量。比如,你可以通过设置RAGFlow_IMAGE=infiniflow/RAGFlow:v0.17.2
来下载 RAGFlow 镜像的v0.17.2
完整发行版。这里的版本是我自己的版本,你的版本需要打开.env软件自己确认。
运行命令:docker compose -f docker-compose.yml up -d安装RAGFlow,安装完以后可以使用docker ps看一下容器列表,找到RAGFlow容器id,使用docker logs -f (容器id)查看容器运行情况:
在浏览器输入localhost,能看到以下界面则表明RAGFlow安装成功了:
注册账号后就能登录至首页:
点击头像后,在侧边导航栏选择模型提供商,选择Ollama:
配置chat模型,模型名称使用ollama list命令获取(win+R打开命令提示符窗口输入ollama list):
基础uri处配置为http://你的ip:11434:
配置embedding模型,基础uri处配置为http://你的ip:11434:
点击系统模型设置设置相应模型:
3.2.3. 知识库搭建
新增知识库,我这里为了示范新增了一个小肥肠咖啡厅员工管理规范的知识库,配置知识库:
在RAGFlow中 提供了两种主要的文档解析器:
- Naive解析器:该解析器在处理文档时,不仅提取文本内容,还将表格数据转换为HTML格式。然而,在解析复杂表格时,可能会出现错行或格式偏差的问题。
- DeepDoc解析器:这是RAGFlow的核心组件,利用视觉处理和解析技术,对文档进行深度理解。它支持OCR(光学字符识别)、布局识别和表格结构识别(TSR),能够处理多种文档格式,如PDF、DOCX、Excel和PPT,并提取文本块、表格和图像等信息。
总的来说,Naive解析器适用于对解析速度要求较高且文档格式较简单的场景,而DeepDoc解析器则更适合处理复杂布局和多种格式的文档,提供更精确的解析结果。
接下来就是准备知识库的数据集,数据集越规范查询效果越好,这里是我造假的一个数据(pdf):
上传文件:
实时查看解析进度:
解析以后点击数据集可以查看解析块:
配置完知识库之后新建聊天助理测试一下效果:
开始聊天,从下图中可以看出聊天小助理已经能够很好地提取知识库的内容进行回答了:
4. 资料获取
如果你对DeepSpeek的相关知识还不熟悉,可以关注gzh后端小肥肠,点击底部【资源】菜单获取DeepSpeek相关教程资料。
5. 结语
本文带领读者深入了解了RAG(检索增强生成)技术相关的基本原理,基于保姆级教程一步一步讲解了怎么基于RAGFlow本地部署DeepSpeek-R1大模型与知识库的搭建。随着AI技术的发展,RAG技术将成为程序员转型为AI工程师的重要工具。掌握RAG技术不仅能帮助开发更高效的知识库系统,还能提升模型的准确性和响应能力,为处理知识密集型任务提供强有力的支持。
如果本文对你有帮助,不要忘记动动小手点点关注哦,小肥肠专注分享AI领域干货知识,点关注不迷路~
相关文章:
基于RAGFlow本地部署DeepSpeek-R1大模型与知识库:从配置到应用的全流程解析
作者:后端小肥肠 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 姊妹篇: DeepSpeek服务器繁忙?这几种替代方案帮你流畅使用!(附本地部署教程)-CSDN博客 10分钟上手…...
spring 创建单例 Bean 源码分析
一、创建单例Bean 1、创建单例 Bean 通过方法getBean()来创建单例bean。 代码入口: org.springframework.beans.factory.support.DefaultListableBeanFactory#preInstantiateSingletons spring boot version:2.6.13 org.springframework.beans.factory…...
GetCurrentTime
在实际编程中难免要获取当前时间并且进行格式化,本文给出了多种 GetCurrentTime() 方法以供选择。 C语言下使用strftime C 语言中可以使用 <time.h> 中的函数来获取和格式化时间 #include <stdio.h> #include <time.h>char* getCurrentTime() …...
HTB 学习笔记 【中/英】《Web 应用简介》P1
📌 这篇文章讲了什么? 介绍了 Web 应用 的概念、架构,以及与传统网站的区别。重点讲解了 Web 安全风险,包括 常见攻击方法(SQL 注入、文件包含、不安全的文件上传等)。介绍了 Web 渗透测试 的重要性&#…...
ROS catkin_make编译报错问题
对问题 CMake Error at graduation_design/CMakeLists.txt:226 (add_dependencies): The dependency target "graduation_design_generate_messages_cpp" of target "listener" does not exist 检查 generate_messages() 是否被注释 对 CMake Error at …...
【结构设计】3D打印创想三维Ender 3 v2
【结构设计】3D打印创想三维Ender 3 v2 文章目录 前言一、Creality Slicer1.2.3打印参数设置二、配件更换1.捆扎绑扎线2.气动接头3D打印机配件插头3.3D打印机配件Ender3pro/V2喷头套件4.读卡器 TF卡5.micro sd卡 三、调平四、参考文章总结 前言 使用工具: 1.创想三…...
并发编程2
接并发编程1 synchronized锁的实现 通过底层指令控制实现,Java提供的一种原子性内置锁,在进入synchronized后会从主内存复制一份共享变量到自己的工作内存,在工作内存中修改完成后,退出时会把工作内存的值写入到主内存ÿ…...
Linux 中 Git 使用指南:从零开始掌握版本控制
目录 1. 什么是 Git? Git 的核心功能: 2. Git 的安装 Ubuntu/Debian 系统: 验证安装: 3.gitee库 4. Git 的首次配置 配置用户名和邮箱: 查看配置: 5. Git 的基本使用 初始化仓库 添加文件到暂存区…...
C# Exe + Web 自动化 (BitComet 绿灯 自动化配置、设置)
BitComet GreenLight,内网黄灯转绿灯 (HighID), 增加p2p连接率提速下载-CSDN博客 前两天写个这个,每次开机关机后要重来一遍很麻烦的索性写个自动化。 先还是按照上面的教程自己制作一遍,留下Luck 以及 路由器相关的 端口记录信息。 (因为自…...
2024年12月CCF-GESP编程能力等级认证C++编程四级真题解析
四级真题的难度: 一、总体难度评价 CCF-GESP编程能力等级认证C++四级真题的难度通常被认为相对较高。它不仅要求考生具备扎实的C++编程基础,还需要考生掌握一定的算法和数据结构知识,以及良好的问题解决能力。 二、具体难度分析 理论知识考察: 单选题和判断题中,会涉…...
谷歌Chrome或微软Edge浏览器修改网页任意内容
在谷歌或微软浏览器按F12,打开开发者工具,切换到console选项卡: 在下面的输入行输入下面的命令回车: document.body.contentEditable"true"效果如下:...
《DeepSeek深度使用教程:开启智能交互新体验》Deepseek深度使用教程
《DeepSeek使用教程:开启智能交互新体验》 在当今数字化时代,人工智能技术正以前所未有的速度改变着我们的生活和工作方式。DeepSeek作为一款强大的人工智能工具,凭借其卓越的自然语言处理能力和多领域应用潜力,受到了众多开发者…...
Dijkstra算法
Dijkstra算法(迪杰斯特拉算法)是一种经典的单源最短路径算法,用于在加权图中找到从一个源点到所有其他顶点的最短路径。它要求图中不能有负权边,因为负权边可能会导致算法的贪心策略失效。 Dijkstra算法的基本思想 Dijkstra算法…...
Python中的静态方法如何使用?
在Python里,类当中的方法可以分为多种不同的类型,其中staticmethod是一个十分有趣而又实用的功能。我们来好好地聊一聊什么是静态方法,它的用途是什么,以及如何在实际应用中使用它们! 首先,定义一下静态方…...
【最后203篇系列】016 Q201架构思考
前言 Q200已经达到了我既定的目标,在最近的3个月,我需要进一步完善,达到可以试产的程度。 在这个过程当中,许多知识和体会一直在变。 qtv200到目前,虽然通过习惯(每晚运行离线策略和比对)方式维持了注意力的集中&…...
小脑萎缩会致命吗?
小脑萎缩,顾名思义,是指小脑的体积减小或结构发生异常,进而影响其正常功能。小脑作为人体重要的协调和运动控制中心,负责维持身体平衡、调节肌肉张力和协调运动等关键功能。当小脑出现萎缩时,患者可能会出现步态不稳、…...
pip install和conda install的区别
这里写目录标题 一、什么是 Python 依赖(Python Dependencies)?1. 依赖的作用2. 如何管理 Python 依赖3. 依赖管理问题4. 依赖锁定总结 二、使用pip安装包venv隔离环境方法 1:使用 venv(推荐)创建虚拟环境激…...
這是我第一次寫關於aapenal服務器管理控制面板的文章
首先我們來認識一下服務器管理面板的所有功能 網站管理功能: 支持創建和管理多個網站。配置虛擬主機(Vhost)和域名綁定。自動安裝常用應用(如WordPress、Joomla等)。 文件管理功能: 文件上傳、…...
requests库的request和response对象的属性和方法
Python requests库 request 参数信息 response 参数信息...
8664蛋糕的美味值
8664蛋糕的美味值 ⭐️难度:中等 🌟考点:枚举 📖 📚 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in );int n sc.nextInt();int k s…...
【MySQL】数据库简要介绍和简单应用
目录 数据库简要介绍 SQL 的简单应用 需要注意的: 数据库简要介绍 数据库(database)是指长期存储在计算机内,有组织的、可共享的数据集合。它可视为一个电子化的文件柜,用来存储电子文件,用户可以对文件中的数据进行査询、新增、更新、删…...
yolo环境 pytorch环境配置 CUDA安装
我的成功案例:首先安装python 3.12.9的conda虚拟环境 (如果不安装3.12的会报错误ModuleNotFoundError:没有名为“numpy._core”的模块) 然后安装11.8cuda (其实我是可以最高安装12.6的cuda但我实测,太高版…...
camellia redis proxy v1.3.3对redis主从进行读写分离(非写死,自动识别故障转移)
1 概述 camellia-redis-proxy是一款高性能的redis代理(https://github.com/netease-im/camellia),使用netty4开发,主要特性如下: 支持代理到redis-standalone、redis-sentinel、redis-cluster。支持其他proxy作为后端…...
python相关语法的学习文档1
python相关语法的学习文档1 1、tqdm tqdm 是 Python 中一个非常流行的进度条库,可以实时显示循环或任务的进度。它简单易用,支持多种场景(如循环、文件处理、多线程/进程等)。以下是详细的使用讲解: 1.1 安装 pip install tqdm1.2 基本用法 from tqdm import tqdm impo…...
Web元件库 ElementUI元件库+后台模板页面(支持Axure9、10、11)
Axure是一款非常强大的原型设计工具,它允许设计师和开发者快速创建高保真原型,以展示应用或网站的设计和功能。通过引入各种元件库,如ElementUI元件库,可以极大地丰富Axure的原型设计能力,使其更加贴近实际开发中的UI组…...
Java 并发编程——BIO NIO AIO 概念
参考 Java 并发编程——BIO NIO AIO 概念 阻塞与非阻塞、同步与异步概念 系统调用、缓存、物理设备阻塞与非阻塞同步与异步 四种主要的 IO 模型 同步阻塞 IO同步非阻塞 IOIO 多路复用异步 IO select,poll,epoll 系统调用命令...
在微信小程序或前端开发中,picker 和 select 都是用户交互中用于选择的组件,但它们在功能、设计和使用场景上有一定的区别
在微信小程序或前端开发中,picker 和 select 都是用户交互中用于选择的组件,但它们在功能、设计和使用场景上有一定的区别。 1. picker 的特点 描述: picker 是微信小程序中的原生组件,通常用于选择单项或多项值,如时…...
笔记本 Win10 部署阿里通义千问 1.5-0.5B 大模型 mini 版
文章目录 1.环境准备1.1 硬件环境1.2 OS 环境1.3 Python 环境 2.环境安装2.1 CUDA 驱动下载安装2.2 torch 库下载安装2.3 transformers 库安装2.3 accelerate 库安装2.4 验证 CUDA 是否可用2.5 下载 Qwen1.5-0.5B 大模型 3.测试大模型3.1 加载大模型3.2 简单对话3.3 亲测体验感…...
SpringBoot事件驱动
1、概述 Spring事件驱动采用了观察者设计模式,主要作用就是实现对象之间的松耦合通信。它的核心思想是通过事件的发布和监听来实现不同组件之间的交互。(跟mq挺像) 基础概念: 事件(Event): 在Spring中&am…...
nginx中间件部署
普通权限账户安装NGINX中间件 1、拥有高级权限的账户安装必要的插件 sudo yum install -y gcc-c make pcre pcre-devel zlib zlib-devel openssl openssl-devel 2、普通账户进行NGINX的脚本式安装 vi nginx_intall.sh #!/bin/bash TAR_NAME"$1" TAR_NAME_DIRba…...
Qt程序基于共享内存读写CodeSys的变量
文章目录 1.背景2.结构体从CodeSys导出后导入到C2.1.将结构体从CodeSys中导出2.2.将结构体从m4文件提取翻译成c格式 3.添加RTTR注册信息4.读取PLC变量值5.更改PLC变量值 1.背景 在文章【基于RTTR在C中实现结构体数据的多层级动态读写】中,我们实现了通过字符串读写…...
vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。
vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。 一、信息收集 2025.3.14 PM 12:18 1、主机发现 arp-scan -l nmap -sn 192.168.66.0/24 2、端口扫描 1、nmap --min-rate 10000 -p- 192.168.66.182 -oA port 查看所有开放端口2、map -sS -sV 192.168.6…...
技术-NBIOT
是什么? 窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接NB-Io…...
【论文阅读】AlexNet——深度学习奠基作之一
原文链接 Step 1 1. titleabstract 第一句:告诉我干了什么事情 我们训练了一个很大很深的卷积神经网络,用来对120w个图片作分类,这里面有1000个类 第二句:结果 在测试集上面,top-1 error37.5%,top-517.0…...
【云原生技术】编排与容器的技术演进之路
一、编排与容器的技术演进之路 1.1 DockerClient 此时 K8s 只是编排领域的一个选择,而 Docker 此时一家独大,所以 K8s 的客户端只 是作为 Docker 的客户端来调用 Docker 引擎来完成服务。 1.2 RUNC&Shim OCI催生 runcrunc,剥离 Docke…...
鸿蒙编译框架插件HvigorPlugin接口的用法介绍
鸿蒙系统中HvigorPlugin接口实现自定义编译插件,实现编译前后自定义功能。 在鸿蒙(HarmonyOS)开发中,HvigorPlugin 是用于扩展 Hvigor 构建工具功能的接口。通过实现此接口,开发者可以自定义构建任务、修改构建流程或…...
Springboot+mybatis实现增删改查操作
继续写一下删除操作,删除有些不一样,首先在controller里面,我们需要改一下路由,我们后面要写/{id}传入路径参数,用PathVariable注解绑定id,剩下的都一样,传入id,然后写service和mapp…...
Java中的I/O
1.I/O流 1.1I/O概述 1.2.基本用法 1.3.字节输出流写数据的细节 1.4.FileOutPutStream写数据的三种方式 明天再更~~~~,先混个流量券。...
前端组件封装艺术:设计原则与最佳实践指南
文章目录 一、组件封装的核心原则1.1 设计原则概览1.2 组件生命周期 二、组件设计准则2.1 单一职责原则2.2 高内聚低耦合 三、组件接口设计3.1 Props设计规范3.2 代码示例 四、组件状态管理4.1 状态设计原则4.2 代码示例 五、组件样式处理5.1 样式方案对比5.2 代码示例 六、组件…...
SpringMVC(五)拦截器
目录 拦截器基本概念 一 单个拦截器的执行 1 创建拦截器 2 SpringMVC配置,并指定拦截路径。 3 运行结果展示: 二 多个拦截器的执行顺序 三 拦截器与过滤器的区别 拦截器基本概念 SpringMVC内置拦截器机制,允许在请求被目标方法处理的…...
jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.
无法转为PDF 手动下载工具 https://github.com/jgm/pandoc/releases/tag/3.6.3 似乎跟我想的不大一样,还有新的报错 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex 不知道下的啥玩意儿 sudo apt-get install texlive-xetex texlive-fon…...
【红黑树】—— 我与C++的不解之缘(二十五)
前言 学习了avl树,现在来学习红黑树。 一、什么是红黑树 红黑树是一颗平衡二叉搜索树,它每一个节点增加了一个存储位表示节点的颜色,可以是红色或者黑色。 相比较于AVL树,红黑树也是一个自平衡二叉搜索树,但是它与AVL树…...
机器学习 Day05 pandas库
1.pandas介绍和优点 Pandas 是 2008 年由 Wes McKinney 开发的开源 Python 库 。它专门用于数据挖掘和数据分析,具有以下特点: 数据结构独特:核心数据结构为 Series(一维)和 DataFrame(二维) …...
布达佩斯召开 | 2025年第五届能源与环境工程国际会议(CoEEE 2025)
会议简介 Brief Introduction 2025年第五届能源与环境工程国际会议(CoEEE 2025) 会议时间:2025年7月25日-27日 召开地点:匈牙利布达佩斯 大会官网:www.coeee.org CoEEE 2025将围绕“能源与环境工程”的最新研究领域而展开,为研究人…...
[C语言日寄] qsort函数的练习
【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…...
单引号与双引号在不同编程语言中的使用与支持
在编程语言中,单引号和双引号是常见的符号,它们通常用来表示字符和字符串。然而,如何使用这两种符号在不同的编程语言中有所不同,甚至有一些语言并不区分单引号和双引号的用途。本文将详细介绍不同编程语言中单引号与双引号的支持…...
Next.js项目实战——MindAI
我的整个毕业论文,是基于Next.js搭建完成的。项目的搭建过程分为多个章节,循序渐进: 1.环境准备与项目初始化 Node.js和npm的安装配置创建Next.js 14项目TypeScript配置项目目录结构说明Git初始化和.gitignore配置 2.基础架构搭建 Tailwi…...
MindGYM:一个用于增强视觉-语言模型推理能力的合成数据集框架,通过生成自挑战问题来提升模型的多跳推理能力。
2025-03-13,由中山大学和阿里巴巴集团的研究团队提出了MindGYM框架,通过合成自挑战问题来增强视觉-语言模型(VLMs)的推理能力。MindGYM框架通过生成多跳推理问题和结构化课程训练,显著提升了模型在推理深度和广度上的表…...
WPS的Excel文档如何利用VB脚本批量替换超链接的内容
准备知识 关于WPS的Excel点击单元格打开别的文档的两种方法的探究【为单元格添加超链接】 https://blog.csdn.net/wenhao_ir/article/details/146212767 激活WPS的Excel文档中的VB编辑器功能 没有激活前的截图如下: 原因是我们的电脑中缺乏VBA插件,我们点击“开发工具”:…...
phpstudy+phpstorm+xdebug【学习笔记】
配置PHPStudy 配置PHPSTORM phpstorm选择PHP版本 配置DEBUG 设置服务器 编辑配置 学习参考链接::https://blog.csdn.net/m0_60571842/article/details/133246064...