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

DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地

对于个人开发者或尝鲜者而言,本地想要部署 DeepSeek 有很多种方案,但是一旦涉及到企业级部署,则步骤将会繁琐很多。

比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型,以及我们所要部署的模型,到底需要多少服务器资源来进行承接,也就是资源预估先行。

预估完我们的服务器资源以后,还需要评估我们的业务场景是否需要二次开发模型。

如果只是简单的微调模型就可以符合我们的业务需求,那么使用Ollama、LM Studio、GTP4All 或许就可以满足我们的诉求。

但是如果需要对模型进行定制化开发,则需要考虑进行模型的原生部署。

所以本篇文章主要解决四个问题:

  1. 如何合理评估我们的服务器资源

  2. Ollama 部署指定版本的 DeepSeek

  3. 原生部署 DeepSeek

  4. 搭建 Dify 构建企业内的私有知识库、工作流

评估服务器资源

评估服务资源前我们需要先考虑将要部署的模型参数量、模型的序列长度、批次大小和量化类型。

模型参数量

模型参数量:就是该模型神经网络的输入权重和输出阈值的总和,模型参数量的大小,直接影响到模型智能化程度的高低,模型参数量越高耗费的服务器资源越多,反之亦然。

模型序列长度

那么在我们可以确认了模型的参数规模后,就需要根据业务场景评估该模型的序列长度。

序列长度是该模型一次能处理的最大 Token 数,针对 QA 问答的模型,你可以理解为你每次问模型问题时可以输入的最大Token限制,如果用户的问题超出了这个长度,则用户的问题可能会被截断或者被分为多个部分进行分别处理。

模型量化类型

而模型的量化类型,则是该模型的参数精度,我们在之前的模型原理中提到过,训练好的模型实际存储的就是一堆参数值,而这些参数值本身就是浮点数,所以量化类型的值越大则模型的精度越准确,智能化程度越高。

服务器资源计算

了解了上述的基本概念后,你可能会觉得我依然无法评估模型到底应该占用多少服务器资源呀?怎么办?

呐,不要急。

关于具体的参数映射到底应该配置什么样的服务器资源,有网友已经做了一个配置计算器工具。

你只需要根据上面的概念选择自己的模型规模,便会自动计算出所需要的服务器资源。

Ollama 部署 DeepSeek


Ollama 是本地运行大模型的一款工具,支持在 Mac、Linux、Windows 上下载并运行对应的模型。

Ollama 安装

# MacOS、Windows 用户直接访问Ollama官网https://ollama.com/download 下载对应的安装包直接安装即可# Linux安装
curl -fsSL https://ollama.com/install.sh | sudo bash
sudo usermod -aG ollama $USER  # 添加用户权限
sudo systemctl start ollama    # 启动服务

Ollama安装完成后,在对应的命令行输入:

ollama -v

此时输出Ollama version is 0.5.7,则表示安装成功。

DeepSeek模型安装

Ollama 安装成功后则访问 Ollama 的官网查找我们要安装的模型

1、访问 Ollama 官网

2、选择适合当前机器配置的模型参数,然后拷贝对应的执行命令即可

3、命令行终端直接执行对应的命令

ollama run deepseek-r1:7b
# 执行后
pulling manifest
pulling 96c415656d37... 100% ▕██████████████▏ 4.7 GB
pulling 369ca498f347... 100% ▕██████████████▏ 387 B
pulling 6e4c38e1172f... 100% ▕██████████████▏ 1.1 KB
pulling f4d24e9138dd... 100% ▕██████████████▏ 148 B
pulling 40fb844194b2... 100% ▕██████████████▏ 487 B
verifying sha256 digest
writing manifest
success
> > > Send a message (/? for help)
> > > `
#当看到上述提示,即可开始模型对话,此时我发送一个问题:你是谁
>>> 你是谁
<think>
</think>
您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。
>>>

恭喜!出现上述的对话内容,表示当前 DeepSeek 已经在你本地可以正常运行了。

nomic-embed-text模型安装

此时我们需要另外再部署一个新的模型,nomic-embed-text,这是一个文本向量化的模型,主要是后续基于 Dify 做向量化检索时使用。

ollama pull nomic-embed-text
#执行后
pulling manifest 
pulling 970aa74c0a90... 100% ▕█████████ 274 MB                         
pulling c71d239df917... 100%  █████████ 11 KB                         
pulling ce4a164fc046... 100%  █████████ 17 B                         
pulling 31df23ea7daa... 100%  █████████ 420 B                         
verifying sha256 digest 
writing manifest 
#看到该提示表示安装成功
success 

部署图形化客户端

有些同学在部署完 DeepSeek 后就想直接找个 UI 工具和 DeepSeek 聊天了,而不是一直在对应的命令行工具中聊天。

此时我们直接部署一套 UI 工具,连接我们的 DeepSeek 模型即可。

可以连接 DeepSeep 模型的 UI 工具有很多:

  1. ChatBox 客户端(图形化界面)支持 Web 网页,也支持本地客户端。

  2. AnythingLLM 客户端(图形化界面)

  3. Open WebUI 客户端(图形化界面) 支持 Web 网页,类似 ChatGPT。

  4. Cherry Studio 客户端(图形化界面)

  5. Page Assist 客户端(浏览器扩展)支持「联网搜索」

此时我们以 ChatBox 为例,直接访问对应的官网下载对应的客户端即可

下载完成后我们在 ChatBox 的设置中填写 Ollama API 的地址和对应的模型名称,然后保存即可。

然后我们直接打开一个新的对话框,选择要运行的模型即可开始对话。

原生部署 DeepSeek

原生部署 DeepSeek 则需要参考官方所提供的部署方式进行部署

上述提到DeepSeek可以支持SGLang、LMDeploy、TensorRT-LLM、vLLM框架进行部署。

此处我们使用 LMDeploy 来部署 DeepSeek

ppqq LMDeploy 是一个用于大型语言模型(LLMs)和视觉-语言模型(VLMs)压缩、部署和服务的 Python 库。 其核心推理引擎包括 TurboMind 引擎和 PyTorch 引擎。前者由 C++ 和 CUDA 开发,致力于推理性能的优化,而后者纯 Python 开发,旨在降低开发者的门槛。

想要使用 LMDeploy 的前提是需要先使用 conda 或者 pip 安装对应的python 库依赖才行。

conda create -n lmdeploy python=3.8 -y
conda activate lmdeploy
pip install lmdeploy

关于LMDeploy具体的安装方式也可以直接参考安装文档

编写运行代码

from lmdeploy import pipeline, TurbomindEngineConfig# 模型路径,可以是以下几种选项之一:
# 1. 本地目录路径,指向一个turbomind模型
# 2. lmdeploy-quantized模型的model_id
# 3. 存放在模型仓库中的模型的model_id
model = 'deepseek-ai/DeepSeek-R1-Distill-Qwen-7B'# Turbomind引擎配置,用于设置模型的后端参数
backend_config = TurbomindEngineConfig(cache_max_entry_count=0.2,  # 缓存最大条目数max_context_token_num=20544,  # 最大上下文token数量session_len=20544  # 会话长度
)# 生成配置,用于设置生成文本的参数
gen_config = GenerationConfig(top_p=0.95,  # 采样阈值temperature=0.6,  # 温度参数,影响生成的多样性max_new_tokens=8192,  # 最大新生成token数量stop_token_ids=[151329, 151336, 151338],  # 停止token的ID列表do_sample=True  # 启用采样
)# DeepSeekAI服务类
class DeepSeekAiServicer:def __init__(self, model: str, backend_config: TurbomindEngineConfig, gen_config: GenerationConfig):# 初始化服务,加载模型和配置self.llm = pipeline(model, backend_config=backend_config)self.gen_config = gen_configdef chat(self, content):# 根据DeepSeek官方推荐,每个提示需要以<think>\n结尾# 如果是数学推理内容,建议包含以下(中英文):# 请逐步推理,并将最终答案放在\boxed{}中。prompts = [{"role": "user","content": "生活的意义是什么?<think>\n"}]# 响应示例:# "<think> 生活的意义是快乐。 </think> 我认为生活的意义是快乐。"response = self.llm(prompts, gen_config=self.gen_config)return response

将上述代码直接在 python 环境中运行便可以直接启动我们的 DeepSeek 模型。

由于我们采用 LMDeploy 代码来部署模型,因此我们获得了更大的调整灵活性。我们能够针对内存管理、并发处理和负载均衡等多个方面进行细致的优化。此外,LMDeploy 允许我们集成其他 Python 库,以便对模型进行微调并添加自定义层,这些功能进一步提升了我们的定制化能力,确保了模型部署的灵活性和效率。

部署 Dify

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

简单来说如果你想使用模型构建自己的 RAG 知识引擎或者流程编排,那你少不写一堆LangChain的代码,但是 Dify 将这块业务进行了封装,你只需要在可视化的页面上操作,便可以实现相同的效果,快速的构建出自己的 AI 应用。

运行 Dify

Dify 的部署需要我们本地先支持 Docker 和 Git 的依赖环境,然后我们在对应的终端直接执行下面的代码,便可以直接运行 Dify

#克隆 Dify 源代码至本地环境。
git clone https://github.com/langgenius/dify.git#进入 Dify 源代码的 Docker 目录
cd dify/docker#复制环境配置文件
cp .env.example .env#启动 Docker 容器
docker-compose up -d

添加模型

Dify 启动成功后,我们直接浏览器访问:http://localhost

此时进入到 Dify 的主页面会提示新建账号密码,账号密码新建完成后,在右上角admin 处点击设置,然后新增我们的本地模型配置。

此处添加 LLM 模型为deepseek-r1:7b,基础 URL 为:http://host.docker.internal:11434

添加完 LLM 模型后,我们再新增一个Text Embedding 模型,还记得最开始我们使用 ollama 还安装了一套nomic-embed-text模型吗?对的,就是在这里使用的。

两个模型都添加完以后,就可以在模型列表中看到我们已经添加的模型信息了

构建知识库

在对应的知识库模块新建知识库,并上传我们的私有数据

文本分段与清洗中选择使用我们的nomic-embed-text模型进行清洗

然后我么直接保存为知识库即可

新建聊天助手

在机器人的上下文中选择我们刚刚新建的知识库:“数字生命贾克斯”

当我们问他一些知识库中独有的内容时,他便会根据知识库中独有的内容,来给与对应的回复。

我们可以点击发布将该机器人单独给发布出去,此时其他人也可以使用你这个机器人来获取知识库中的信息了。

工作流

Dify 中还有一个非常杀手锏的应用,那就是工作流!

我一直认为 Dify 中最有价值的一个模块就是工作流模块,合理构建自己的工作流,就好比让一个只有大脑能力的模型,瞬间具备了手的能力。

原本只能通过问答来交互的模型,瞬间具备了和外界交互的能力。

通过工作流,Dify 可以自动执行一系列复杂任务,比如数据分析、报告生成、资源调度甚至是跨平台操作。

这些任务不再是孤立的指令,而是形成了一个有机的整体,每个步骤都紧密相连,协同工作,从而极大地提升了工作效率。

文章转载自:陈咬金

原文链接:InfoQ 写作社区-专业技术博客社区

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

相关文章:

DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地

对于个人开发者或尝鲜者而言&#xff0c;本地想要部署 DeepSeek 有很多种方案&#xff0c;但是一旦涉及到企业级部署&#xff0c;则步骤将会繁琐很多。 比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型&#xff0c;以及我们所要部署的模型&…...

使用 Docker 部署 Apache Spark 集群教程

简介 Apache Spark 是一个强大的统一分析引擎&#xff0c;用于大规模数据处理。本文将详细介绍如何使用 Docker 和 Docker Compose 快速部署一个包含一个 Master 节点和两个 Worker 节点的 Spark 集群。这种方法不仅简化了集群的搭建过程&#xff0c;还提供了资源隔离、易于扩…...

基于暗通道先验的图像去雾算法解析与实现

一、算法背景 何凯明团队于2009年提出的暗通道先验去雾算法《single image haze removal using dark channel prior》&#xff0c;通过统计发现&#xff1a;在无雾图像的局部区域中&#xff0c;至少存在一个颜色通道的像素值趋近于零。这一发现为图像去雾提供了重要的理论依据…...

深入内存调试:Valgrind工具的终极指南(转)

在软件开发的世界里&#xff0c;代码质量就是生命线&#xff0c;而内存管理又是这条生命线中最脆弱的一环。内存泄漏&#xff0c;哪怕只是微小的一处&#xff0c;日积月累&#xff0c;都可能对整个系统造成灾难性的打击&#xff0c;无论是大型企业级应用、实时性要求极高的嵌入…...

深入解析MediaPipe:强大的实时计算机视觉框架

深入解析MediaPipe&#xff1a;强大的实时计算机视觉框架 1. 引言 在计算机视觉应用的快速发展中&#xff0c;实时处理和低延迟成为了许多应用的关键需求。Google 开发的 MediaPipe 是一个强大的开源框架&#xff0c;它能够高效处理 手势识别、姿态估计、物体检测、语音处理 …...

DeepSeek 和 ChatGPT 在特定任务中的表现:逻辑推理与创意生成

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux网络编程 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux网络编程笔记&#xff1a; https://blog.cs…...

大白话实战Sentinel

Sentinel是SpringCloudAlibaba提供的用来做服务保护的框架,而服务保护的常见手段就是限流和熔断降级。在大型分布式系统里面,由于微服务众多,所以服务之间的稳定性需要做特别关注,Sentinel的核心包就提供了从多个维度去保护服务稳定的策略,而且这些保护策略都可以连接上Se…...

【AI面板识别】

题目描述 AI识别到面板上有N&#xff08;1 ≤ N ≤ 100&#xff09;个指示灯&#xff0c;灯大小一样&#xff0c;任意两个之间无重叠。 由于AI识别误差&#xff0c;每次别到的指示灯位置可能有差异&#xff0c;以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1&#x…...

Docker安装Kafka(不依赖ZooKeeper)

创建docker-compose.yaml version: "3.9" #版本号 services:kafka:image: apache/kafka:3.9.0container_name: kafkahostname: kafkaports:- 9092:9092 # 容器内部之间使用的监听端口- 9094:9094 # 容器外部访问监听端口environment:KAFKA_NODE_ID: 1KAFKA_PROCES…...

大道至简 少字全意 易经的方式看 jvm基础 、 内存模型 、 gc、 内存异常、内存调优实战案例 、类加载机制、双亲委派模型 适用于 懂而久未用回忆 ,不懂而需明正理而用

目录 介绍 内存模型 一、线程私有区域 二、线程共享区域 1.堆Heap 2. 方法区Method Area 3.运行时常量池 Runtime constant Pool 三、直接内存(Direct Memory) 四、内存异常与调优 五、总结对比 类加载机制 一、类加载的三大阶段 二、双亲委派模型 三、类加载的特…...

【Java学习】继承

一、继承 子类继承父类&#xff0c;子类这个类变量的引用在原有的指向子类自己类变量空间的原有访问权限上&#xff0c;增加上了父类类变量空间的访问权限&#xff0c;此时子类类变量指向的空间变为了原来子类类变量空间加上父类类变量空间&#xff0c;此时子类类变量空间就变成…...

Ubuntu24安装MongoDB(解压版)

目录 0.需求说明1.环境检查2.下载软件2.1.下载MongoDB服务端2.2.下载MongoDB连接工具(可略过)2.3.检查上传或下载的安装包 3.安装MongoDB3.1.编辑系统服务3.2.启动服务3.3.客户端连接验证3.3.1.创建管理员用户 4.远程访问4.1.开启远程访问4.2.开放防火墙 0.需求说明 问&#x…...

计算机毕业设计Python考研院校推荐系统 考研分数线预测 考研推荐系统 考研可视化(代码+LW文档+PPT+讲解视频)

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

Python 爬虫框架对比与推荐

Python 爬虫框架对比与推荐 Python 爬虫框架对比与推荐1. Scrapy1.1 框架介绍1.2 优点1.3 缺点1.4 适用场景 2. PySpider2.1 框架介绍2.2 优点2.3 缺点2.4 适用场景 3. Selenium3.1 框架介绍3.2 优点3.3 缺点3.4 适用场景 4. BeautifulSoup Requests&#xff08;自定义方案&am…...

本地DeepSeek模型GGUF文件转换为PyTorch格式

接前文,我们在本地Windows系统上,基于GGUF文件部署了DeepSeek模型(DeepSeek-R1-Distill-Qwen-1.5B.gguf版本),但是GGUF是已经量化的版本,我们除了对其进行微调之外,无法对其训练,那么还有没有其他办法对本地的GGUF部署的DeepSeek模型进行训练呢?今天我们就反其道而行之…...

自动化测试框架搭建-单次接口执行-三部曲

目的 判断接口返回值和提前设置的预期是否一致&#xff0c;从而判断本次测试是否通过 代码步骤设计 第一步&#xff1a;前端调用后端已经写好的POST接口&#xff0c;并传递参数 第二步&#xff1a;后端接收到参数&#xff0c;组装并请求指定接口&#xff0c;保存返回 第三…...

SAP F1搜索帮助 添加自定义功能按钮

最近deepseek 比较火&#xff0c;好多伙伴把deep seek 调用集成到SAP 系统&#xff0c;集成需要方便的去查询问题&#xff0c;方便一点就是添加在F1搜索帮助的地方&#xff0c;看到有朋友问看自定义按钮怎么添加在F1的工具栏&#xff0c;跟踪了下代码&#xff0c;尝试了下&…...

Webpack,Vite打包的理解

Webpack 和 Vite 都是现代前端开发中常用的构建工具&#xff0c;用于打包和优化项目代码。尽管它们的目标相似&#xff0c;但在设计理念、工作方式和适用场景上存在显著差异。 Webpack Webpack 是一个模块打包工具&#xff0c;主要用于将多个模块&#xff08;如 JavaScript、…...

ollama部署大模型,本地调用

Ollama是一个强大的大型语言模型平台&#xff0c;它允许用户轻松地下载、安装和运行各种大型语言模型。在本文中&#xff0c;我将指导你如何在你的本地机器上部署Ollama&#xff0c;并展示如何使用Python进行简单的API调用以访问这些模型。 最近很多人在学习大模型的时候&…...

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑩】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase10 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月18日 关键词&#xff1a;UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-010测试用例 用例ID测试场景验证要点参考条款预期结果TC…...

opencv实时二维码识别的一种实现与思路分享

在嵌入式平台上比如 rk3568 这种弱鸡的平台,要做到实时视频处理就非常鸡肋,不像英伟达那种 deepstrem 什么的。 开始的时候,我们使用python 下的 pyzbar + opencv opencv 读取摄像头的数据然后每帧送到 pyzbar 二维码识别函数里面进行处理,然后打印出识别的数字。结果,非常…...

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑫】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase12 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月18日 关键词&#xff1a;UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-012测试用例 用例ID测试场景验证要点参考条款预期结果TC…...

Jenkins同一个项目不同分支指定不同JAVA环境

背景 一些系统应用,会为了适配不同的平台,导致不同的分支下用的是不同的gradle,导致需要不同的JAVA环境来编译,比如a分支需要使用JAVA11, b分支使用JAVA17。 但是jenkins上,一般都是Global Tool Configuration 全局所有环境公用一个JAVA_HOME。 尝试过用 Build 的Execut…...

小爱音箱连接电脑外放之后,浏览器网页视频暂停播放后,音箱整体没声音问题解决

背景 22年买的小爱音箱增强版play&#xff0c;小爱音箱连接电脑外放之后&#xff0c;浏览器网页视频暂停播放后&#xff0c;音箱整体没声音&#xff08;一边打着游戏&#xff0c;一边听歌&#xff0c;一边放视频&#xff0c;视频一暂停&#xff0c;什么声音都没了&#xff0c;…...

AIGC(生成式AI)试用 21 -- Python调用deepseek API

1. 安装openai pip3 install openai########################## Collecting openaiUsing cached openai-1.61.1-py3-none-any.whl.metadata (27 kB) Collecting anyio<5,>3.5.0 (from openai)Using cached anyio-4.8.0-py3-none-any.whl.metadata (4.6 kB) Collecting d…...

使用linux脚本部署discuz博客(详细注释版)

使用脚本部署一个discuzz项目 1.显示当前环境状态 防火墙状态 selinux状态 httpd状态 由上可知&#xff0c;虚拟机已处于最初始状态 2.脚本编写 #!/bin/bash #这是一个通过脚本来部署discuzz博客 firewalld关闭 systemctl stop firewalld if [ $? -eq 0 ];then echo "…...

Kafka的生产者和消费者模型

Kafka的生产者和消费者模型是一种消息传递模式&#xff0c;以下是该模型的详细描述&#xff1a; 一、生产者&#xff08;Producer&#xff09; 定义&#xff1a;生产者是消息的生产者&#xff0c;它将消息发布到Kafka的主题&#xff08;Topic&#xff09;中。 功能&#xff1…...

调用openssl实现加解密算法

由于工作中涉及到加解密&#xff0c;包括Hash&#xff08;SHA256&#xff09;算法、HMAC_SHA256 算法、ECDH算法、ECC签名算法、AES/CBC 128算法一共涉及5类算法&#xff0c;笔者通过查询发现openssl库以上算法都支持&#xff0c;索性借助openssl库实现上述5类算法。笔者用的op…...

【Python项目】信息安全领域中语义搜索引擎系统

【Python项目】信息安全领域中语义搜索引擎系统 技术简介&#xff1a;采用Python技术、MYSQL数据库等实现。 系统简介&#xff1a;系统主要是围绕着语义搜索展开的&#xff0c;要将输入的文字在爬取数据时能够通过深层次的内涵理解&#xff0c;来更好的查找到与之相关的精准信息…...

快速排序_912. 排序数组(10中排序算法)

快速排序_912. 排序数组&#xff08;10中排序算法&#xff09; 1 快速排序&#xff08;重点&#xff09;报错代码超时代码修改官方题解快速排序 1&#xff1a;基本快速排序快速排序 2&#xff1a;双指针&#xff08;指针对撞&#xff09;快速排序快速排序 3&#xff1a;三指针快…...

BS5852英国家具防火安全条款主要包括哪几个方面呢?

什么是BS5852检测&#xff1f; BS5852是英国针对家用家具的强制性安全要求&#xff0c;主要测试家具在受到燃烧香烟和火柴等火源时的可燃性。这个标准通常分为四个部分进行测试&#xff0c;但实际应用中主要测试第一部分和第二部分&#xff0c;包括烟头测试和利用乙炔火焰模拟…...

高考或者单招考试需要考物理这科目

问题&#xff1a;帮忙搜索一下以上学校哪些高考或者单招考试需要考物理这科目的 回答&#xff1a; 根据目前获取的资料&#xff0c;明确提及高考或单招考试需考物理的学校为湖南工业职业技术学院&#xff0c;在部分专业单招时要求选考物理&#xff1b;其他学校暂未发现明确提…...

基于vue3实现的课堂点名程序

设计思路 采用vue3实现的课堂点名程序&#xff0c;模拟课堂座位布局&#xff0c;点击开始点名按钮后&#xff0c;一朵鲜花在座位间传递&#xff0c;直到点击结束点名按钮&#xff0c;鲜花停留的座位被点名。 课堂点名 座位组件 seat.vue <script setup>//组合式APIimpo…...

压力传感器

压力传感器是一种用于测量气体或液体压力的设备&#xff0c;广泛应用于工业控制、汽车电子、医疗设备、航空航天等领域。以下是关于压力传感器的详细介绍&#xff1a; 一、压力传感器的分类 1. 按测量原理分类 - 压阻式压力传感器&#xff1a; - 原理&#xff1a;利用压…...

Django REST Framework (DRF) 中用于构建 API 视图类解析

Django REST Framework (DRF) 提供了丰富的视图类&#xff0c;用于构建 API 视图。这些视图类可以分为以下几类&#xff1a; 1. 基础视图类 这些是 DRF 中最基础的视图类&#xff0c;通常用于实现自定义逻辑。 常用类 APIView&#xff1a; 最基本的视图类&#xff0c;所有其…...

DeepSeek介绍[Cache-Through、Cache-Around、Cache-Behind、Cache-Asid]

Cache-Through、Cache-Around、Cache-Behind和Cache-Aside是几种常见的缓存策略&#xff0c;每种策略有其独特的工作机制和应用场景。以下是对这些缓存模式的详细介绍&#xff1a; 1. Cache-Through 工作原理&#xff1a; 读操作&#xff1a;应用程序首先向缓存层请求数据。…...

React 前端框架介绍

什么是 React&#xff1f; React 是一个由 Facebook 开发并维护的开源 JavaScript 库&#xff0c;用于构建用户界面。它主要用于创建交互式用户界Face&#xff08;UI&#xff09;&#xff0c;尤其是当数据变化时需要更新部分视图时非常有效。React 的核心思想是组件化和声明性…...

自制简单的图片查看器(python)

图片格式&#xff1a;支持常见的图片格式&#xff08;JPG、PNG、BMP、GIF&#xff09;。 import os import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTkclass ImageViewer:def __init__(self, root):self.root rootself.root.…...

基于Electron+Vue3创建桌面应用

Electron 是一个开源框架,基于 Chromium 和 Node.js,用于开发跨平台桌面应用程序。它允许开发者使用 HTML、CSS 和 JavaScript 等 Web 技术构建原生桌面应用,支持 Windows、macOS 和 Linux。Electron 以其开发便捷性、强大的功能和丰富的生态系统而广泛应用于工具类应用、媒…...

Redis实战-扩展Redis

扩展Redis 1、扩展读性能2、扩展写性能和内存容量3、扩展复杂的查询3.1 扩展联合查询3.2 扩展分片排序 如有侵权&#xff0c;请联系&#xff5e; 如有错误&#xff0c;也欢迎批评指正&#xff5e; 本篇文章大部分是来自学习《Redis实战》的笔记 1、扩展读性能 单台Redis服务器…...

Vue 前端开发中的路由知识:从入门到精通

文章目录 引言1. Vue Router 简介1.1 安装 Vue Router1.2 配置 Vue Router1.3 在 Vue 实例中使用 Vue Router 2. 路由的基本用法2.1 路由映射2.2 路由视图2.3 路由链接 3. 动态路由3.1 动态路径参数3.2 访问动态参数3.3 响应路由参数的变化 4. 嵌套路由4.1 定义嵌套路由4.2 渲染…...

为AI聊天工具添加一个知识系统 之109 详细设计之50 三性三量三境

本文要点 纵观整个讨论过程 最初我提“相得益彰的三性&#xff08;三性&#xff09; 相提并论的三者&#xff08;三量&#xff09; 相映成趣的三化&#xff08;三境&#xff09;” “ 确定 今天的讨论题-- “我”的知识树&#xff1a;相得益彰的三性&#xff08;即 三性&…...

51-ArrayList

51-ArrayList Collection 类型介绍 仓颉中常用的几种基础 Collection 类型&#xff0c;包含 Array、ArrayList、HashSet、HashMap。 可以在不同的场景中选择适合对应业务的类型&#xff1a; Array&#xff1a;如果不需要增加和删除元素&#xff0c;但需要修改元素&#xff…...

工业制造能耗管理新突破,漫途MTIC-ECM平台助力企业绿色转型!

在工业制造领域&#xff0c;能源消耗一直是企业运营成本的重要组成部分。随着“双碳”目标的推进&#xff0c;如何实现高效能耗管理&#xff0c;成为制造企业亟待解决的问题。漫途MTIC-ECM能源能耗在线监测平台&#xff0c;结合其自研的硬件产品&#xff0c;为工业制造企业提供…...

sql注入之python脚本进行时间盲注和布尔盲注

一、什么是时间盲注和布尔盲注&#xff1f; 答&#xff1a;时间盲注是攻击者通过构造恶意sql语句利用sleep()等延迟函数来观察数据库响应时间差异来进行推断信息和条件判断。如果条件为真&#xff0c;数据库会执行延时操作&#xff0c;如果为假则立即返回。响应时间较短。 SELE…...

map的使用(c++)

在了解map之前&#xff0c;我们先看看两个场景&#xff0c;通过这两个场景的对比&#xff0c;让我们知道为什么要存在存储双关键字的容器 场景一&#xff1a;判断一堆字符串中&#xff0c;某一个字符串是否出现过 在没学set容器之前&#xff0c;我们只能想到把这一堆字符串存到…...

Android13-包安装器PackageInstaller-之apk安装流程

目的 我们最终是为了搞明白安装的整个流程通过安卓系统自带的包安装器来了解PMS 安装流程实现需求定制&#xff1a;静默安装-安装界面定制-安装拦截验证。【核心目的】 安装流程和PMS了解不用多说了; 安装定制相关&#xff1a; 如 手机上安装时候弹出锁屏界面需要输入密码;安…...

前端函数在开发环境与生产环境中处理空字符串的差异及解决方案

在前端开发过程中&#xff0c;我们经常会遇到一些函数在开发环境中运行正常&#xff0c;但在生产环境中却出现报错的情况。本文将通过具体的代码示例和分析&#xff0c;探讨一个函数在开发环境和生产环境中处理空字符串的差异&#xff0c;并提供解决方案。 1. 问题描述 我们有…...

数智读书笔记系列014 MICK《SQL进阶教程》第一版和第二版对比和总结

引言 在当今数字化时代,数据已成为企业和组织的核心资产之一。而 SQL(Structured Query Language)作为管理和操作关系型数据库的标准语言,其重要性不言而喻。无论是数据查询、插入、更新还是删除,SQL 都能高效地完成任务,广泛应用于数据分析、数据挖掘、数据仓库、Web 开…...

智能猫眼实现流程图

物理端开发流程图 客户端端开发流程图 用户功能开发流程图 管理员开发流程图...