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

【DeepSeek】在本地计算机上部署DeepSeek-R1大模型实战(完整版)

在这里插入图片描述

【作者主页】Francek Chen
【专栏介绍】 ⌈ ⌈ 人工智能与大模型应用 ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT),经海量数据训练后能完成文本生成、图像创作等复杂任务,显著提升效率,但面临算力消耗、数据偏见等挑战。当前正加速与教育、科研融合,未来需平衡技术创新与伦理风险,推动可持续发展。

文章目录

    • 前言
    • 一、为什么需要本地部署大模型
    • 二、DeepSeek R1简介
      • DeepSeek-R1 Models
      • DeepSeek-R1-Distill Models
    • 三、在本地计算机部署DeepSeek R1
      • (一)安装Ollama
      • (二)下载DeepSeek R1
      • (三)运行DeepSeek R1
      • (四)安装Python
      • (五)安装Microsoft Visual C++ Build Tools
      • (六)使用Open WebUI增强交互体验
      • (七)每次使用大模型的步骤
      • (八)取消Ollama的开机自动启动
    • 小结


前言

Homepage

2025年1月,中国春节期间,DeepSeek爆火,称为全球最炙手可热的大模型。DeepSeek一路 “狂飙”,在美国科技界和美股市场掀起惊涛骇浪,1月27日,美国三大股指开盘即暴跌,英伟达、微软、谷歌母公司Alphabet、Meta等美国主要科技股均遭遇股市地震,其中英伟达跌近17%,单日市值蒸发约6000亿美元,创美股最高纪录。

这里以DeepSeek为例介绍在自己本地计算机上部署大模型的方法。操作过程中,遇到很多错误,借助于豆包大模型,把每个错误都解决了,顺利完成了安装过程。我的笔记本电脑是Windows10操作系统。实际上,只要电脑具有8GB内存和30GB可用磁盘空间即可安装最小版本的DeepSeek R1大模型。

特别强调,在自己本地计算机上部署DeepSeek R1大模型,不需要读者具备任何计算机基础知识,也不需要掌握任何编程知识,只要会使用Windows操作系统就可以,按照本文给出的步骤,一步步执行,就可以顺利完成所有操作。

一、为什么需要本地部署大模型

一般而言,DeepSeek、文心一言、豆包、Kimi等在线的大模型,功能非常强大,完全可以很好满足我们的需求。所以,大多数情况下,我们不需要在本地部署大模型。但是,当我们需要保护个人数据隐私时,也可以考虑在本地部署大模型。

和直接使用在线大模型(豆包、Kimi等)相比,在本地部署大模型具有以下优势:

  1. 数据隐私与安全性。第一,数据本地存储:所有数据运算和存储均在本地完成,不会上传至云端,有效避免了数据在传输和云端存储过程中可能带来的隐私泄露风险。第二,完全掌控数据:用户可以完全掌控数据的使用和存储,确保数据不被未经授权的访问或用于其他目的。第三,隐私保护机制:支持访问权限控制,进一步增强数据安全性。
  2. 定制化与灵活性。第一,自定义知识库训练:用户可以根据自己的需求对模型进行自定义知识库训练,进一步提升模型在特定领域的性能。第二,灵活调整模型参数:根据业务需求灵活调整模型参数和功能,满足不同场景下的个性化需求。第三,开源灵活性:开源模型一般都允许用户无限制地进行微调或将其集成到自己的项目中。
  3. 离线与高效使用。第一,离线访问:本地部署后,无需依赖网络连接,适合旅行或网络不稳定的场景,随时随地可用。第二,避免服务器繁忙:再也不用担心“服务器繁忙”的问题,提升使用体验。
  4. 成本与资源优化。第一,成本可控:长期使用比云服务更经济,尤其适合高频调用场景。第二,硬件友好:对硬件资源要求较低,可在较少GPU或高级CPU集群上运行,资源效率显著。
  5. 避免使用限制。本地部署避免了可能出现的使用限制,不受未来商业化影响,可永久免费使用。通过本地部署开源大模型,用户不仅能够享受强大的AI功能,还能在数据隐私、定制化需求和使用成本等方面获得显著优势。

二、DeepSeek R1简介

首先需要说明的是,大模型的训练过程需要耗费大量的计算资源(比如投入上亿元构建计算机集群去训练大模型),训练成本比较昂贵,个人是无法承担的。但是,训练得到的大模型,部署到计算机上,就不需要那么高的计算资源要求。但是,即使如此,在DeepSeek出现之前,很多市场上的大模型产品都是“贵族”模型,“段位”很高,通常需要依赖高端的硬件,配置大量的GPU,普通个人计算机一般很难运行大模型。2025年1月20日,我国杭州深度求索公司的DeepSeek R1大模型正式发布,它是一个基于深度学习的推荐系统模型,通常用于处理推荐任务,如商品推荐、内容推荐等。

Deepseek R1的发布,标志着大模型产品的“平民”时代已经到来,它大大降低了对计算机硬件的要求,可以部署在普通的个人计算机上,甚至部署在手机等便携式设备中。Deepseek采用了较为简洁高效的模型架构,去除了一些不必要的复杂结构和计算,在保证模型性能的基础上,降低了对计算资源的需求,使模型在本地计算机上运行更加轻松。通过先进的量化压缩技术,Deepseek将模型的参数进行压缩存储和计算,大大减少了模型所需的存储空间和计算量。2025年1月30日,微软公司宣布支持在Win11电脑本地运行DeepSeek R1大模型。

DeepSeek R1对硬件资源比较友好,对不同硬件配置有良好的适应性,能根据用户计算机硬件配置选择合适的模型版本。入门级设备拥有4GB 存和核显就能运行1.5B(Billion,十亿,大模型参数的数量)版本;进阶设备8GB内存搭配4GB显存就能驾驭7B版本;高性能设备则可选择32B版本。而且,DeepSeek R1支持低配置电脑,即使是没有独立显卡的低配置电脑,只要有足够的空余硬盘空间,如部署最大的6710亿参数的大模型需要至少1TB的空余空间,也能完成部署。

DeepSeek R1可以满足用户的数据隐私需求,本地部署能将所有数据运算都限制在本地,数据不会上传至云端,可有效避免数据传输和存储在云端可能带来的隐私泄露风险,满足用户对数据安全和隐私保护的要求。DeepSeek R1还可以满足定制需求,用户可以根据自己的需求对模型进行自定义知识库训练,进一步提升模型在特定领域的性能。

我们介绍了我们的第一代推理模型DeepSeek-R1-zero和DeepSeek-R1。DeepSeek-R1-Zero是一个通过大规模强化学习(RL)训练的模型,没有监督微调(SFT)作为初步步骤,在推理方面表现出卓越的性能。有了强化学习,DeepSeek-R1-Zero自然就出现了许多强大而有趣的推理行为。然而,DeepSeek-R1-Zero遇到了诸如无休止的重复、可读性差和语言混合等挑战。为了解决这些问题并进一步提高推理性能,引入了DeepSeek-R1,它在强化学习之前包含了冷启动数据。DeepSeek-R1在数学、代码和推理任务方面的性能可与OpenAI-o1媲美。为了支持研究社区,目前开源了DeepSeek-R1-Zero,DeepSeek-R1,以及基于Llama和Qwen的DeepSeek-R1提炼的六个密集模型。DeepSeek-R1-Distill-Qwen-32B在各种基准测试中优于OpenAI-o1-mini,为密集模型实现了新的最先进的结果。

在这里插入图片描述

图1 AI模型在多项任务中的表现对比

DeepSeek以开源的特性和极低的成本,在数学、编程、自然语言推理等任务上表现出色,性能不亚于美国顶级AI模型。特别是DeepSeek-R1,通过创新性运用强化学习技术,以极少量标注数据实现了推理能力的跨越式提升。在数学、编程、语言理解等核心能力上,完美比肩OpenAI-o1。这一系列创新成果不仅得到了行业的广泛认可,也让世界看到了中国AI技术的崛起之势。

DeepSeek-R1 Models

Model#Total Params#Activated ParamsContext LengthDownload
DeepSeek-R1-Zero671B37B128K🤗 HuggingFace
DeepSeek-R1671B37B128K🤗 HuggingFace

DeepSeek-R1- zero和DeepSeek-R1是基于DeepSeek-V3-Base训练的。关于模型架构的更多细节,请参考DeepSeek-V3存储库。

DeepSeek-R1-Distill Models

ModelBase ModelDownload
DeepSeek-R1-Distill-Qwen-1.5BQwen2.5-Math-1.5B🤗 HuggingFace
DeepSeek-R1-Distill-Qwen-7BQwen2.5-Math-7B🤗 HuggingFace
DeepSeek-R1-Distill-Llama-8BLlama-3.1-8B🤗 HuggingFace
DeepSeek-R1-Distill-Qwen-14BQwen2.5-14B🤗 HuggingFace
DeepSeek-R1-Distill-Qwen-32BQwen2.5-32B🤗 HuggingFace
DeepSeek-R1-Distill-Llama-70BLlama-3.3-70B-Instruct🤗 HuggingFace

DeepSeek-R1-Distill模型基于开源模型进行微调,使用DeepSeek-R1生成的样本。稍微改变了它们的配置和标记器。

三、在本地计算机部署DeepSeek R1

本节将详细介绍如何通过Ollama和Open WebUI在本地计算机环境中部署DeepSeek R1大模型。本地计算机至少需要8GB内存和30GB剩余磁盘空间。

(一)安装Ollama

Ollama是一个开源的本地化大模型部署工具,旨在简化大型语言模型(LLM)的安装、运行和管理。它支持多种模型架构,并提供与OpenAI兼容的API接口,适合开发者和企业快速搭建私有化AI服务。

访问Ollama官网(https://ollama.com/), 点击“Download”(如图2所示),根据操作系统(Windows、macOS或Linux)下载自己操作系统对应的安装包(如图3所示),比如,Windows用户可以点击“Windows”图标,然后,点击“Download for Windows”下载安装包。需要注意的是,对于Windows系统,这里仅支持Windows10及其以上版本。

在这里插入图片描述

图2 Ollama官网下载

在这里插入图片描述

图3 下载Windows版本Ollama

下载完成以后,双击安装包文件“OllamaSetup.exe”完成安装。安装完成后,在Windows系统中,输入快捷键Win + R,再在弹出的对话框中输入“cmd”并回车,打开cmd命令行工具窗口,输入以下命令验证是否安装成功:

ollama --version

如果显示Ollama版本号,说明安装成功(如图4所示)。

在这里插入图片描述

图4 Ollama安装成功

(二)下载DeepSeek R1

Ollama已经在第一时间支持DeepSeek R1,模型下载地址是https://ollama.com/library/deepseek-r1。 请根据自己的显存选择对应的模型,建议选择参数较少、体积最小的1.5B版本(如果计算机的配置较高,也可以选择参数较大的版本),这里的B是英文Billion(十亿),表示参数模型的参数规模,1.5B表示大模型的参数量是15亿。

在这里插入图片描述

图5 下载DeepSeek R1

当然,我们可以不用到这个下载地址手动下载,只需要在cmd命令行窗口中执行如下命令就可以自动下载DeepSeek R1大模型:

ollama run deepseek-r1:1.5b

该命令会自动下载并加载模型,下载时间取决于网络速度和模型大小。注意,如果在下载过程中,出现长时间停滞不动,可以敲击几次回车键。下载完成后,可以使用以下命令查看模型信息:

ollama list

该命令会列出本地已下载的模型及其状态。

(三)运行DeepSeek R1

可以在cmd命令行窗口中执行如下命令启动DeepSeek R1大模型:

ollama run deepseek-r1:1.5b

启动后,模型会进入交互模式,用户可以直接输入问题并获取回答。在交互模式下,可以测试DeepSeek R1的多种功能(如图6所示),例如:

  • 智能客服:输入常见问题,如“如何学习人工智能?”。
  • 内容创作:输入“请为我撰写一篇介绍沙县小吃的宣传文案”。
  • 编程辅助:输入“用Python绘制一个柱状图”。
  • 教育辅助:输入“解释牛顿第二定律”。

在这里插入图片描述

图6 测试DeepSeek R1的功能

cmd窗口关闭以后,DeepSeek R1大模型就停止运行了。下次再次使用时,需要再次在cmd窗口中执行如下命令启动DeepSeek R1大模型:

ollama run deepseek-r1:1.5b

这种以命令行的方式与大模型进行对话,显然不太友好,因此,下面介绍如何通过浏览器来与大模型进行对话,这里就需要安装Open WebUI,由于Open WebUI依赖于Python环境,因此,在安装Open WebUI之前,需要首先安装Python环境(注意,只是需要安装Python环境,并不需要学习Python语言,读者可以完全不会Python语言,大模型的安装和使用过程完全不会用到Python语言)。如果读者没有使用浏览器与大模型对话的需求,可以不用学习下面的安装步骤。

(四)安装Python

Python(发音[ˈpaɪθən])是1989年由荷兰人吉多·范罗苏姆(Guido van Rossum)发明的一种面向对象的解释型高级编程语言。Python的第一个公开发行版于1991年发行,在2004年以后,Python的使用率呈线性增长,并获得“2021年TIOBE最佳年度语言”称号,这是Python第5次被评为“TIOBE最佳年度语言”,它也是获奖次数最多的编程语言。发展到今天,Python已经成为最受欢迎的程序设计语言之一。

Python可以用于多种平台,包括Windows、Linux和MacOS等。这里使用的Python版本是3.12.2(该版本于2024年2月6日发布),不要安装最新的3.13版本。请到Python官方网站下载(官网下载地址)与自己计算机操作系统匹配的安装包,比如,64位Windows操作系统可以下载python-3.12.2-amd64.exe。运行安装包开始安装,在安装过程中,要注意选中“Add python.exe to PATH”复选框,如图7所示,这样可以在安装过程中自动配置PATH环境变量,避免了手动配置的烦琐过程。

在这里插入图片描述

图7 下载Python安装包

然后,点击“Customize installation”继续安装,在选择安装路径时,可以自定义安装路径,比如设置为“C:\python312”,并在“Advanced Options”下方选中“Install Python 3.12 for all users”(如图8所示)。

在这里插入图片描述

图8 安装Python 3.12

安装完成以后,需要检测是否安装成功。可以打开Windows操作系统的cmd命令界面,然后执行如下命令打开Python解释器:

cd C:\python312
python

如果出现图9所示信息,则说明Python已经安装成功。

在这里插入图片描述

图9 Python 3.12安装成功

(五)安装Microsoft Visual C++ Build Tools

备注:对于不同的计算机环境,本步骤可能不是必须的,读者可以先跳到第6步继续操作,如果在下面的第6步遇到报错信息说“缺少Microsoft Visual C++ Build Tools”,可以再回到本步骤安装Microsoft Visual C++ Build Tools,然后再执行第6步的安装。

在安装Open WebUI之前,在有些计算机上可能还需要安装Microsoft Visual C++ Build Tools,否则,安装Open WebUI过程会报错。可以到如下网址下载该工具安装包vs_BuildTools.exe:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

下载完成以后,双击安装包文件vs_BuildTools.exe进行安装,在弹出的安装界面中(如图10所示),在界面左上角的“桌面应用和移动应用”下方,选中“使用C++的桌面开发”,然后,点击界面右下角的“安装”按钮,完成安装。

在这里插入图片描述

图10 安装Microsoft Visual C++ Build Tools

(六)使用Open WebUI增强交互体验

只要是支持Ollama的WebUI都可以,如Dify、AnythingLLM等。这里使用比较简单而且也是与Ollama结合比较紧密的Open WebUI。

可以在cmd命令行窗口中执行如下命令安装Open WebUI(这里使用国内清华大学的安装源镜像,这样可以加快安装速度):

pip install open-webui -i https://pypi.tuna.tsinghua.edu.cn/simple

注意,如果在下载和安装过程中,出现长时间停滞不动,可以敲击几次回车键。

可以执行如下命令启动Open WebUI服务:

open-webui serve

注意,如果启动以后,看到下面界面(如图11所示),说明还没有启动成功,需要继续等待。可以敲击几次回车。

在这里插入图片描述

图11 启动Open WebUI

在继续等待过程中,可能屏幕上会出现一些错误信息,里面会包含如下内容:

requests.exceptions.ConnectTimeout: (MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443)

这个错误信息说明,启动过程连接Hugging Face Hub失败。Hugging Face Hub网站在国外,所以,经常会连接失败,所以,导致open-webui启动过程始终停止不动。

直到出现下面屏幕信息以后(如图12所示),才说明启动成功了。

在这里插入图片描述

图12 Open WebUI启动成功

启动后,在浏览器中访问http://localhost:8080/即可进入Open WebUI界面。如果网页显示“拒绝连接”,无法访问Open WebUI界面,一般是由于你的计算机开启了Windows防火墙,可以点击“开始”菜单按钮,在弹出的界面中,在顶部的搜索框中输入“安全中心”(如图13所示),打开“Windows安全中心”,点击左侧的“防火墙和网络保护”,在右侧的“域网络”中,关闭防火墙。

在这里插入图片描述

图13 关闭防火墙

Open WebUI支持中文界面,可以在设置中调整语言,默认是你的Windows系统当前正在使用的语言。首先,需要注册一个管理员账号(如图14所示),然后,就可以开始使用了。

在这里插入图片描述

图14 注册管理员账号

在Open WebUI界面中,选择已下载的DeepSeek R1模型,即可开始对话测试。如图15所示,可以在对话框中输入“请介绍如何学习人工智能”然后回车,页面就会给出DeepSeek R1的回答结果(如图16所示)。

在这里插入图片描述

图15 开启对话

在这里插入图片描述

图16 对话结果

(七)每次使用大模型的步骤

当我们本次使用完大模型时,只需要关闭各个cmd命令行窗口,大模型就停止运行了。下次要再次使用时,还是按照一样的步骤进行操作:

1. 启动大模型
新建一个cmd命令行窗口,在cmd命令行窗口中执行如下命令启动DeepSeek R1大模型:

ollama run deepseek-r1:1.5b

2. 启动Open WebUI

再新建一个cmd命令行窗口,在cmd命令行窗口中执行如下命令启动Open WebUI服务:

open-webui serve

3. 在浏览器中访问大模型

在浏览器中访问http://localhost:8080/即可进入Open WebUI界面,开始使用大模型。

(八)取消Ollama的开机自动启动

前面步骤已经完成了DeepSeek R1大模型的部署,但是,你会发现,每次计算机关机以后,再次启动计算机时,Ollama会开机自动启动,导致占用计算机系统资源。当我们平时不使用DeepSeek R1时,为了让Ollama不占用计算机系统资源,我们需要禁止Ollama开机自动启动。

在Windows10系统中,输入快捷键Win + R,再在弹出的对话框中输入“msconfig”并回车,进入如图17所示系统设置界面,点击“启动”选项卡,在这个选项卡中点击“打开任务管理器”,进入如图18所示的任务管理器界面,在界面中,找到“ollama.exe”,把鼠标指针放到“已启动”上面,单击鼠标右键,在弹出的菜单中点击“禁用”,然后关闭任务管理器界面。经过这样设置以后,Ollama以后就不会开机自动启动了。

在这里插入图片描述

图17 进入系统配置界面

在这里插入图片描述

图18 禁用ollama.exe

下次在使用DeepSeek时,仍然采用之前介绍的方法,在cmd命令行窗口中执行如下命令启动DeepSeek R1大模型:

ollama run deepseek-r1:1.5b

小结

本文详细介绍了如何在本地计算机上部署DeepSeek R1大模型,主要针对普通用户和开发者,提供了一个简便的安装流程,并强调了本地部署大模型的优势。首先,介绍了为什么需要本地部署大模型,包括数据隐私与安全、定制化与灵活性、离线使用、高效性、成本可控等多方面的优势。相比于在线大模型,本地部署能够有效保护用户的隐私数据,避免信息泄露,并允许用户根据实际需求对模型进行定制和调整,提升使用体验。

接着,介绍了DeepSeek R1大模型的基本概念及其发布背景。DeepSeek R1是一个具有高效、低资源消耗特性的推荐系统模型,其优化了对计算资源的要求,使得普通的个人计算机也能承载其运行。特别是DeepSeek R1支持不同硬件配置的设备,适配不同规模的用户需求。这一创新使得大规模AI模型的使用不再局限于高端硬件环境,普通用户也能在本地计算机上运行。

本文核心部分详细讲解了通过Ollama和Open WebUI等工具进行DeepSeek R1部署的步骤。从安装Ollama开始,用户只需按照简单的命令行操作,便能轻松完成模型的下载与运行。而对于更复杂的需求,如通过浏览器与模型进行互动,用户可以安装Python环境并结合Open WebUI实现更友好的操作界面。这一部分的讲解深入浅出,即便没有编程经验的用户也能轻松上手,按照步骤完成安装与配置。

此外,还提到一些可能遇到的问题及其解决方案,确保用户在遇到问题时能够找到对应的解决方法。例如,针对下载过程中可能的停滞,提供了按回车键的操作提示;对于启动失败的情况,也给出了详细的排查步骤。通过这些细致的提示,有效降低了用户操作的复杂度和失败率。

总结来说,本文为普通用户提供了一个清晰、易懂的指南,帮助他们在本地计算机上部署并运行DeepSeek R1大模型。它不仅展示了如何通过简单的工具和命令实现AI技术的本地化使用,也进一步说明了大模型应用的普及和便利性。通过这篇文章,用户可以充分理解并享受到本地部署大模型带来的数据安全、定制化、离线使用等多方面的优势,促进了AI技术的民主化。

欢迎 点赞👍 | 收藏⭐ | 评论✍ | 关注🤗

在这里插入图片描述

相关文章:

【DeepSeek】在本地计算机上部署DeepSeek-R1大模型实战(完整版)

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT&…...

二、通义灵码插件保姆级教学-IDEA(使用篇)

一、IntelliJ IDEA 中使用指南 1.1、代码解释 选择需要解释的代码 —> 右键 —> 通义灵码 —> 解释代码 解释代码很详细,感觉很强大有木有,关键还会生成流程图,对程序员理解业务非常有帮忙,基本能做到哪里不懂点哪里。…...

北斗导航 | 基于多假设解分离(MHSS)模型的双星故障监测算法(MATLAB代码实现——ARAIM)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 双星故障监测算法 一、多星故障MHSS模型流程1、数据预处理2、构建假设模…...

OpenCV2D 特征框架 (22)人脸检测的一个类cv::FaceDetectorYN的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::FaceDetectorYN 是 OpenCV 中用于人脸检测的一个类,它基于深度学习模型实现。这个类是 OpenCV DNN(Deep Neural Netw…...

微信小程序页面制作——婚礼邀请函(含代码)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

django中间件,中间件给下面传值

1、新建middleware.py文件 # myapp/middleware.py import time from django.http import HttpRequest import json from django.http import JsonResponse import urllib.parse class RequestTimeMiddleware:def __init__(self, get_response):self.get_response get_respons…...

调用DeepSeek官方的API接口

效果 前端样式体验链接:https://livequeen.top/deepseekshow 准备工作 1、注册deepseek官网账号 地址:DeepSeek 点击进入右上角【API开放平台】,并进行账号注册。 2、注册完成后,依次点击【API keys】-【生成API key】&#x…...

C++--iomanip库

目录 1. 设置字段宽度:std::setw() 2. 设置浮点数精度:std::setprecision() 3. 设置填充字符:std::setfill() 4. 控制对齐方式:std::left 和 std::right,std::internal 5. 控制进制输出:std::hex、std…...

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<8>

大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 今天我们复习前面学习的指针知识 目录 关于指针数组和数组指针的区别指针数组(Array of Poi…...

redo和binlog区别

事务是数据库区别于文件系统的最重要功能,数据库事务支持ACID四个特性,其中I:隔离性是通过锁的方式实现的,剩下的A:原子性 C:一致性 D:持久性是通过redo日志、undo日志、binlog日志来实现的。 我…...

2.11学习记录

web——CTFHub XSS学习 学习资料:xss(跨站攻击) 原理 1.黑客发送带有xss恶意脚本的链接给用户 2.用户点击了恶意链接,访问了目标服务器(正常的服务器) 3.目标服务器(正常的服务器&#xff09…...

Packer 手动修复安装腾讯云插件

文章目录 Packer [腾讯云插件文档](https://developer.hashicorp.com/packer/integrations/hashicorp/tencentcloud) 提供的版本:v1.2.0,目前 Packer 构建镜像时,不支持现有2种[硬盘类型](https://www.tencentcloud.com/zh/document/product/…...

【探索未来科技】2025年国际学术会议前瞻

【探索未来科技】2025年国际学术会议前瞻 【探索未来科技】2025年国际学术会议前瞻 文章目录 【探索未来科技】2025年国际学术会议前瞻前言1. 第四届电子信息工程、大数据与计算机技术国际学术会议( EIBDCT 2025)代码示例:机器学习中的线性回…...

【Elasticsearch】Bucket Count K-S Test 聚合

Bucket Count K-S Test是 Elasticsearch 中的一种兄弟管道聚合(sibling pipeline aggregation),用于执行双样本柯尔莫哥洛夫-斯米尔诺夫检验(Kolmogorov-Smirnov Test,简称 K-S 检验)。这种聚合主要用于比较…...

LINUX——基础指令

引言 Linux 操作系统以其强大的命令行工具著称,掌握基础指令是高效使用 Linux 的必备技能。无论是文件管理、文本处理还是系统监控,命令行都能以极简的操作完成复杂任务。本文系统梳理 Linux 最核心的 30 基础指令,配合实际场景案例和进阶技…...

Expo运行模拟器失败错误解决(xcrun simctl )

根据你的描述,问题主要涉及两个方面:xcrun simctl 错误和 Expo 依赖版本不兼容。以下是针对这两个问题的解决方案: 解决 xcrun simctl 错误 错误代码 72 通常表明 simctl 工具未正确配置或路径未正确设置。以下是解决步骤: 确保 …...

Spring中常见的设计模式

Spring框架是一个庞大的生态系统,设计模式的应用广泛分布在其各个模块中。以下是针对你提到的设计模式,在Spring源码中的具体应用位置: 单例模式(Singleton Pattern): 在org.springframework.beans.factory…...

502 Bad Gateway 错误详解:从表现推测原因,逐步排查直至解决

502 Bad Gateway 错误通常意味着服务器之间的通信失败,但导致的具体原因往往因场景而异。 场景一:高峰期频繁出现 502 错误 1.1 现象 在流量高峰期间(如促销活动、直播发布等),页面访问变慢甚至出现 502 错误&#…...

【DeepSeek】deepseek可视化部署

目录 1 -> 前文 2 -> 部署可视化界面 1 -> 前文 【DeepSeek】DeepSeek概述 | 本地部署deepseek 通过前文可以将deepseek部署到本地使用,可是每次都需要winR输入cmd调出命令行进入到命令模式,输入命令ollama run deepseek-r1:latest。体验很…...

基于STM32的ADS1230驱动例程

自己在练手项目中用到了ADS1230,根据芯片手册自写的驱动代码,已测可用,希望对将要用到ADS1230芯片的人有所帮助。 芯片:STM32系列任意芯片、ADS1230 环境:使用STM32CubeMX配置引脚、KEIL 部分电路: 代码…...

计算机毕业设计springboot+vue.js就业数据采集分析平台 mybatis-plus(LW文档+PPT+讲解+代码安装)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

关于“#pragma arm section zidata = “mgr_buffer_section“的解析

#pragma arm section zidata “mgr_buffer_section” 是 ARM 编译器特有的指令,用于控制变量在内存中的分配位置。其作用如下: 核心解析 #pragma arm section 这是 ARM 编译器支持的编译指示(pragma),用于指定代码或…...

【MySQL】InnoDB存储页的独立表空间

目录 1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【7】XDES Entry链表【8】XDES Entry链表基节点【9】INODE Entry段结构【10】FIL_PAGE_TYPE_FSP_HDR页类型【11】FIL_PAGE_IBUF_BITMAP页类型【12】FIL_PAGE_INODE页类型【13…...

RabbitMQ的死信队列的产生与处理

死信队列(Dead Letter Queue, DLQ) 1. 死信(Dead Letter)是怎么产生的? 在 RabbitMQ 中,消息会变成 死信(Dead Letter)的常见情况有以下几种: 消息被拒绝(R…...

二分算法篇:二分答案法的巧妙应用

二分算法篇:二分答案法的巧妙应用 那么看到二分这两个字想必我们一定非常熟悉,那么在大学期间的c语言的教学中会专门讲解二分查找,那么我们来简单回顾一下二分查找算法,我们知道二分查找是在一个有序的序列中寻找一个数在这个序列…...

实现:多活的基础中间件

APIRouter : 路由分发服务 API Router 是一个 HTTP 反向代理和负载均衡器,部署在公有云中作为 HTTP API 流量的入口,它能识别 出流量的归属 shard ,并根据 shard 将流量转发到对应的 ezone 。 API Router 支持多种路由键&am…...

【分布式理论9】分布式协同:分布式系统进程互斥与互斥算法

文章目录 一、互斥问题及分布式系统的特性二、分布式互斥算法1. 集中互斥算法调用流程优缺点 2. 基于许可的互斥算法(Lamport 算法)调用流程优缺点 3. 令牌环互斥算法调用流程优缺点 三、三种算法对比 在分布式系统中,多个应用服务可能会同时…...

百问网imx6ullpro调试记录(linux+qt)

调试记录 文章目录 调试记录进展1.开发板相关1.1百问网乌班图密码 1.2 换设备开发环境搭建串口调试网络互通nfs文件系统挂载 1.3网络问题1.4系统启动1.5进程操作 2.QT2.1tslib1.获取源码2.安装依赖文件3.编译 2.2qt移植1.获取qt源码2.配置编译器3.编译 2.3拷贝到开发板1.拷贝2.…...

微信小程序如何使用decimal计算金额

第三方库地址:GitHub - MikeMcl/decimal.js: An arbitrary-precision Decimal type for JavaScript 之前都是api接口走后端计算,偶尔发现这个库也不错,计算简单,目前发现比较准确 上代码 导入js import Decimal from ../../uti…...

win32汇编环境,对线程的创建与操作示例二

;运行效果 ;win32汇编环境,对线程的创建与操作示例二 ;本文主要是实现用CreateThread创建线程时,如何把参数传入进去 ;以下举3个例子说明,如何把数值、字符串和自定义结构传入线程之中 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>…...

React(三)

动态控制显示和css import { useState } from "react"; import "./index.css"; const list [{ id: 1, username: "aaName", content: "一条评论", ctime: "10-18 08:15" },{ id: 2, username: "bbName", conten…...

GitHub Pages + Jekyll 博客搭建指南(静态网站搭建)

目录 🚀 静态网站及其生成工具指南🌍 什么是静态网站?📌 静态网站的优势⚖️ 静态网站 VS 动态网站 🚀 常见的静态网站生成器对比🛠️ 使用 GitHub Pages Jekyll 搭建个人博客📌 1. 创建 GitHu…...

用Go实现 SSE 实时推送消息(消息通知)——思悟项目技术4

目录 简介 工作原理 例子 使用场景 简介 SSE(Server - Sent Events)是一种允许服务器向客户端实时推送更新的 Web 技术。是一种基于 HTTP 协议的单向通信机制,服务器可以在客户端建立连接后,持续不断地向客户端发送事件流。客…...

通过客户端Chatbox或OpenwebUI访问识别不到本地ollama中的模型等问题的解决

Chatbox和Open WebUI 等无法获取到 Ollama里的模型,主要是由以下原因导致: Ollama 服务未正确暴露给 Docker 容器或客户端模型未正确下载或名称不匹配网络配置或权限问题 排查以上问题的思路首先排查ollama服务是否启动,然后再看端口号 使…...

TfidfVectorizer

TF-IDF / Term Frequency - Inverse Document Frequency 作用:是自然语言处理NLP中常用的文本特征提取工具,用于将文本数据转换为数据向量。 核心思想:是通过统计词频和逆文档频率来量化词语在文本中的重要性。 T F − I D F ( t , d ) T F…...

如何评估云原生GenAI应用开发中的安全风险(下)

以上就是如何评估云原生GenAI应用开发中的安全风险系列中的上篇内容,在本篇中我们介绍了在云原生AI应用开发中不同层级的风险,并了解了如何定义AI系统的风险。在本系列下篇中我们会继续探索我们为我们的云原生AI应用评估风险的背景和意义,并且…...

Flink-序列化

一、概述 几乎每个Flink作业都必须在其运算符之间交换数据,由于这些记录不仅可以发送到同一JVM中的另一个实例,还可以发送到单独的进程,因此需要先将记录序列化为字节。类似地,Flink的堆外状态后端基于本地嵌入式RocksDB实例&…...

1064 - You have an error in your SQL syntax;

在创建数据库表建立外键是遇到了如下报错 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near position(position_id) ) at line 8 数据库表sql如下: --职位表 CR…...

团结引擎 Shader Graph:解锁图形创作新高度

Shader Graph 始终致力于为开发者提供直观且高效的着色器构建工具,持续推动图形渲染创作的创新与便捷。在团结引擎1.4.0中,Shader Graph 迎来了重大更新,新增多项强大功能并优化操作体验,助力开发者更轻松地实现高质量的渲染效果与…...

Spring Boot 配置 Mybatis 读写分离

JPA 的读写分离配置不能应用在 Mybatis 上, 所以 Mybatis 要单独处理 为了不影响原有代码, 使用了增加拦截器的方式, 在拦截器里根据 SQL 的 CRUD 来路由到不同的数据源 需要单独增加Mybatis的配置 Configuration public class MyBatisConfig {Beanpublic SqlSessionFactory…...

Redis 数据类型 List 列表

列表类型是⽤来存储多个有序的字符串,如下图所⽰,a、b、c、d、e 五个元素从左到右组成了⼀个有序的列表,列表中的每个字符串称为元素(element),⼀个列表最多可以存储 2^32 - 1个元素。在 Redis 中&#xff…...

Hello Robot 推出Stretch 3移动操作机器人,赋能研究与商业应用

Hello Robot公司近日发布了其新一代开源移动操作机器人Stretch 3,这是一款高度灵活的机器人平台,专为机器人研究、教育实验和商业自动化设计。Stretch 3 结合了先进的移动机器人技术、灵巧操作能力和开源软件生态系统,为用户提供了一个功能强…...

有滚动条的时候,设置盒子的位置

<div class"AIBox mt-24" id"AIBox"><div v-for"(v, i) in AIs" :key"i" :class"v.role assistant ? mb-24 : "><div :class"v.role user ? fc-ac42f3 fw-600 font-16 : ">{{ v.content }}…...

律所录音证据归集工具:基于PyQt6与多线程的自动化音频管理解决方案

在律所日常工作中&#xff0c;音频证据的整理与归集是一个高频且复杂的任务。面对大量的案件录音文件&#xff0c;如何实现快速且准确的分类与存档&#xff0c;成为了律所提高效率、降低出错率的关键。本文将通过技术角度解析一款名为律所录音证据归集工具的项目&#xff0c;详…...

LogicFlow自定义节点:矩形、HTML(vue3)

效果&#xff1a; LogicFlow 内部是基于MVVM模式进行开发的&#xff0c;分别使用preact和mobx来处理 view 和 model&#xff0c;所以当我们自定义节点的时候&#xff0c;需要为这个节点定义view和model。 参考官方文档&#xff1a;节点 | LogicFlow 1、自定义矩形节点 custo…...

软件工程教育的革命:AI辅助学习与实践

软件工程教育正面临着巨大的挑战。传统的教学模式往往以理论讲解为主&#xff0c;实践机会不足&#xff0c;导致学生难以将理论知识转化为实际技能。此外&#xff0c;繁琐的代码编写和项目搭建过程也常常耗费学生大量时间和精力&#xff0c;影响学习效率。为了解决这些问题&…...

Office hour 1

涉及Python环境配置、深度学习框架安装、常用数据处理和分析库、以及Python IDE的选择等内容。 1. Anaconda 安装与配置 • Anaconda Individual Edition&#xff1a;Anaconda 是一个开源平台&#xff0c;旨在简化数据科学的工作流程&#xff0c;提供了 Python 和超过 150 个科…...

【魔法阵——广义Dijkstra,DP】

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1010; const int inf 0x3f3f3f3f; int g[N][N], d[N][N]; bool st[N][N]; int n, k, m; struct Node {int v, c, i;bool operator < (const Node &y) const{return v > y.v;} }; priori…...

使用epoll与sqlite3进行注册登录

将 epoll 服务器 客户端拿来用 客户端&#xff1a;写一个界面&#xff0c;里面有注册登录 服务器&#xff1a;处理注册和登录逻辑&#xff0c;注册的话将注册的账号密码写入数据库&#xff0c;登录的话查询数据库中是否存在账号&#xff0c;并验证密码是否正确 额外功能&…...

vue3-01-初识vue3相对于vue2的提升与比较,使用vue-cli创建项目,使用vite构建工具创建项目

1.相对于vue2的提升 2.创建vue3项目-使用vue-cli创建 2.1 cmd查看版本号 vue-V 2.2进入创建项目 切换D盘 D: 指定自定义创建的项目 cd 文件名 创建项目 vue create 项目名称 成功创建项目 运行项目 3.使用vite(构建工具)创建前端项目 3.1创建项目 3.1.1 npm init vite-ap…...