[AI]从零开始的llama.cpp部署与DeepSeek格式转换、量化、运行教程

一、前言

        在上一次的DeepSeek的部署教程中,我们使用Ollama与LM Studio很轻松的部署了DeepSeek并且也完成了相关API的调用,如果还有不会的小伙伴请看下面的教程:

DeepSeek本地部署:[AI]从零开始的DeepSeek本地部署及本地API调用教程-CSDN博客

当然,在部署的时候,我们也发现了一些问题,那就是Ollama和LM Studio它们都只能运行GGUF格式的模型,但是我们会发现,在模型仓库中,模型的格式非常多样,比如有下图这种的:

这样的模型有一堆的配置文件和一个向量文件。那么这种模型,我们要怎么运行呢?答案其实很简单,这里我们需要使用到一款非常强大LLM框架——llama.cpp。它不仅可以完成模型的格式转换、量化,自身还可以运行被转化出来的模型。那么本次教程,就来教大家如何使用llama.cpp转换模型格式以及模型量化。如果你准备好了,就让我们开始吧!

二、谁适合本次教程 

        在本次教程中,会提供两种llama.cpp的安装方法,一种是自己编译llama.cpp另一种是直接使用预编译版本。如果你想体验编译的过程,那么你可以跟着我一起编译。如果你是小白,那么就建议直接使用预编译的版本,我也会讲解如何下载预编译的llama.cpp。最后就是,模型格式转换部分可能会使用到一个python脚本,这里需要部署脚本运行所需的环境,请确保自己对python或者python虚拟环境有一定的了解。

三、llama.cpp的部署

        在前面也提到了,本次我们会提供两种llama.cpp的部署方法,一种是自己编译,另一种是直接使用已经编译好的。这里的编译也提供了CPU和GPU两种版本的编译方法,GPU编译的过程比较麻烦并且对显卡有一定的要求。顺带一提,如果你只是想将模型的格式转化为GGUF的话,可以直接跳过整个第三步,模型格式的转化不需要安装llama.cpp。如果你准备好了,那就让我们开始吧!

1.编译安装llama.cpp

        之前也提到了,自己编译安装llama.cpp是非常麻烦的,需要安装好几个环境,不建议小白轻易尝试。自己安装llama.cpp首先要分两种情况。有NVIDIA的GPU和没有NVIDIA的GPU。这里划重点,必须要NVIDIA的GPU才行,目前AMD的显卡有一定的解决方案,但是资料太少了,这里不推荐。如果你没有NVIDIA的GPU那就只能编译CPU版的llama.cpp。llama.cpp我们主要也是用来做模型的量化,不会长期在上面运行模型,所以,CPU版的llama.cpp并没有什么影响,最多就是量化的时候会慢一些。

1.CUDA的安装 (没有NVIDIA显卡跳过此步)  

        如果你确定你有NVIDIA的显卡,那么就需要为你的显卡安装一个CUDA用来驱动CUDA核心。首先,使用下面的命令查看自己显卡支持的CUDA版本,直接在cmd窗口或者powershell输入即可:

nvidia-smi.exe

这里被我圈出来的数字就是显卡支持的最大的CUDA版本:

重点的来了,如果你这里的CUDA版本低于12.4请跳过此步,你的显卡不支持自己编译最新版的llama.cpp,会引发下面的错误:

当然,你不一定需要自己编译,也可以使用下面的预编译版本,那里有llama.cpp官方编译好的GPU版的llama.cpp。

当你确定你的GPU条件符合以后,就可以开始安装CUDA了,这里的CUDA安装教程我在之前的pytouch安装教程中已经讲得很详细了,你可以前往我的pytouch安装教程中查看如何为自己的显卡安装CUDA:

pytouch安装教程:[python]如何正确的安装pytorch?(详细)_pytorch安装-CSDN博客

当然,如果你是计算机高手知道安装步骤,直接前往CUDA的下载地址即可:

CUDA官网地址:CUDA Toolkit Archive | NVIDIA Developer

当你安装安装好CUDA以后,输入下面的命令,如果有如下输出就表示CUDA安装成功了:

nvcc -V

如果你没有这样的输出,可以尝试跟着CUDA的安装教程再操作一遍,一般再CUDA这一步不会出错,这里就不多说了。

2.CMake的安装

        下面我们需要安装一个构建工具CMake,这里大家可以直接点击下方的链接前CMake的官网:

CMake官网:CMake - Upgrade Your Software Build System

进入官网以后,就能看到以下界面了:

我们直接点击右上角的“Download”:

进入新的页面以后,往下滑就能看到许多CMake的版本了:

这里我们直接选择64位的版本即可:

这里需要注意的是目前是2025年2月14日,目前CMake的版本是3.31.5,如果你在未来的某天使用我的方法构建失败了,那就将CMake和llama.cpp源码都降级到今天的版本。

点击了下载以后,浏览器就弹出了下载:

大家将其下载到自己能找到的地方即可:

我们双击这个安装引导程序开始安装,这里直接点击“Next”:

然后勾选同意协议随后点击下一步:

这里的第一个选项是将CMake添加到环境变量,需要勾上。第二个选项是将CMake添加到桌面,大家视情况勾选即可。勾选完以后,我们点击“Next”:

随后就是选择安装的路径了,这里大家自行选择即可,选择完成以后点击“Next”:

最后点击“Install”:

然后CMake就进入了安装阶段,大家等待安装完成即可:

出现下面的窗口就表示安装已经完成了,我们直接关掉窗口即可:

然后可以在cmd或者powershell中输入下面的命令来查看CMake是否安装成功:

cmake --version

输入命令以后CMake会输出自己的版本号,这就表示已经安装成功了:

如果你在这一步被提示找不到命令,可以检查CMake安装目录下的bin目录是否被添加到环境变量,如果没有,可以手动添加。

至此,我们CMake的安装就完成了。

3.Visual Studio 2022的安装

        这里建议大家和我使用一样的VS版本,避免出现一些未知的错误。这里VS的安装过于简单,只要你学过C语言应该都用过。所以VS的安装步骤就不多说了。我们主要讲一下需要在VS中勾选哪些开发环境。这里大家可以跟着我勾:

安装好对应的环境以后VS的安装就结束了。它们有的教程还需要添加VS的某些路径到环境变量,经过测试,这不是必须的。

5.拉取llama.cpp的源码

        我们直接使用git命令拉取llama.cpp的代码,在座的各位应该都会使用git吧?嗯,能够自己编译llama.cpp的应该都会使用git,那我就不教喽:

git clone https://github.com/ggerganov/llama.cpp.git

这里大家将其拉取到自己能找到的地方即可,拉取下来以后,就得到了一个名为“llama.cpp”的文件夹:

6.llama.cpp的编译

        我们进入llama.cpp的项目文件夹就能看到下面的文件和文件夹了:

这里,我们需要创建一个目录,用于存放编译后生成的文件,大家在powershell中执行下面的命令即可,当然,也可以直接右键创建:

mkdir build

这里使用下面的命令进入这个文件夹:

cd build

进入llama.cpp项目目录下的build文件夹以后,就可以输入下面的命令了:

cmake -DGGML_CUDA=ON ../

这里需要注意的是,只有你想编译GPU版的llama.cpp时才需要加“-DGGML_CUDA=ON”参数,如果你想编译CPU版的llama.cpp直接输入“cmake ../”即可。如果你的GPU的CUDA不符合要求或者是没有GPU,加了“-DGGML_CUDA=ON”参数就会出现错误导致相关的编译文件无法生成。这里的“../”表示上级目录,这里的命令也就表示,为build的上级目录下的文件生成makefile文件。

命令执行以后,可以看到许多输出:

结束以后,我们的build中就多了许多文件:

这里需要注意的是,如果你终端输出了一些乱码的字符或者有error字样,都代表生成makefile这一步出错了。建议检查CUDA的版本,大部分的错误都是CUDA版本不符引起的。实在不行,就去掉“-DGGML_CUDA=ON”参数,编译CPU版的llama.cpp。

在makefile生成以后我们就可以开始编译了,这里我们直接使用下面的命令进行编译:

cmake --build . --config Release -j20

这里的-j20表示使用20个线程进行编译,大家根据自己CPU情况自行修改。

编译时,可能会出现警告(不用在意),并且CPU占用非常高:

出现下面的提示,就表示编译已经完成了:

编译生成的文件都被放到了“bin\Release”文件夹下:

图中所示文件夹中的那些exe文件就是我们通过编译得到的可执行文件了。后面会教大家如何使用这些文件。至此,我们llama.cpp的编译就完成了。

2.使用预编译的llama.cpp

        现在来教大家如何使用预编译的llama.cpp。使用预编译的llama.cpp也分为有NVIDIA的GPU和没有两种情况。llama.cpp的官方编译了一套CUDA版的llama.cpp。并且支持到了CUDA12.4。下面就来教大家如何下载llama.cpp的预编译文件,我们首先通过下面的链接来到llama.cpp的开源主页:

llama.cpp开源主页:ggerganov/llama.cpp: LLM inference in C/C++

因为是GitHub可能加载会比较慢甚至加载失败,大家可以选择更换网络环境或者使用一些正向代理手段。进入llama.cpp的开源主页以后,我们直接点击右边的Releases下面发布的应用:

进来以后,就可以看到许多llama.cpp的预编译版本了:

这里我们主要看windows平台并且架构为X64的,这也是最常见的情况,如下图被我框起来的:

这里首先我们来看第一个名字:

​llama-b4713-bin-win-avx-x64.zip​

这里的llama很好理解,就指的是llama.cpp嘛,后面的“b4173”表示版本号,后面的“win”就表示windows系统。再往后就是"avx"这是英特尔推出的一种指令集扩展,下面的也同理,avx2表示256位,avx512表示512位。如果你只有CPU的话,就使用预编译的avx版本,这里下载512即可。

然后我们再看看下面的名字:

llama-b4713-bin-win-cuda-cu11.7-x64.zip

这里前面的部分就不说了,就说说后面的“cuda”部分,这里的cuda表示这个预编译包是在cuda之上构建的,这也意味着,你需要自己的cuda满足要求才能运行。后面的“cu11.7”就表示,这个包是基于cuda11.7构建的,你要运行的话,显卡的CUDA版本就必须大于11.7,使用下面的命令可以直接查看显卡支持的CUDA版本:

nvidia-smi.exe

 

这里大家根据输出的内容就可以确定自己的CUDA版本了。在确定了CUDA版本以后需要安装CUDA软件才能调用CUDA核心。CUDA的安装步骤我们在pytouch的安装教程中讲过,大家可以自行前往:

pytouch安装教程:[python]如何正确的安装pytorch?(详细)_pytorch安装-CSDN博客

这里大家需要确定,你下载的llama.cpp的预编译包的CUDA版本没有大于你自己的CUDA版本。假如你下载的预编译包支持12.4的CUDA,但是你显卡最高就只能支持到CUDA11.8那么这个包很可能就无法运行。

下面我们继续看文件名字:

llama-b4713-bin-win-hip-x64-gfx1030.zip

这是一个支持AMD显卡的包,“hip”是AMD显卡特殊的调用接口类似于N卡的CUDA,后面的“gfx1030”表示这个包支持的版本。这里我对AMD的显卡不是很了解,就不多说了。有能力的小伙伴自己研究吧!

大家选择好适配自己硬件的包以后,点击包,浏览器就会开始下载了,这里建议新建一个文件夹将其放在文件夹中,我这里就放在桌面的文件夹中了:

我们这里直接右键解压即可,解压得到下面的文件:

这些文件都是可执行文件,和我们编译时得到的是一样的。这样我们预编译的llama.cpp就已经部署好了。后面我会教大家如何使用。

四、使用llama.cpp转换模型格式为GGUF

        现在来教大家,如何将不同格式的模型转换为GGUF格式,首先我们看看模型大致分为几种。目前,模型站中常见的模型,有safetensors为后缀的模型,如下图:

我们可以看到,模型文件夹中有两个非常大的以safetensors结尾的文件,这就是模型权重文件。其它还有一些用JSON写的配置文件。这是第一种常见的模型格式。还有一种就是以bin结尾的,如下图:

我们可以看到这里有一个名为“pytouch_model.bin”的文件。从大小来看,很明显,这也是一个模型权重文件。

以上说的两种都是常见的模型权重格式,我们可以使用llama.cpp将其转换为GGUF格式的模型。下面就让我们开始吧!

1.Conda的安装

        在开始之前,我们需要准备一些环境,因为在llama.cpp中,处理模型格式转换的是一个python的脚本。所以我们这里需要安装一个Conda来管理python和python的一些依赖,这一步请确保自己有一定的python基础。Conda的安装可以查看我以前的Conda安装教程:

Miniconda安装:[python]我们应该如何安装Miniconda虚拟环境?(详细)_miniconda创建虚拟环境-CSDN博客

如果你对Conda不够了解也可以从上面的教程中学习。 

安装好以后,启动conda的终端,输入conda就可以获得下面的输出:

至此,Conda的安装就完成了。

2.llama.cpp项目拉取

        这里考虑到可能会有新手,不会使用git命令,这里我们就使用简单的办法下载llama.cpp的项目源码。这里大家先点击下方的链接前往llama.cpp的主页:

llama.cpp项目主页:

ggerganov/llama.cpp: LLM inference in C/C++

因为是github链接,可能会出现有的小伙伴打不开的情况。这里可以尝试更换网络环境或者使用一些正向代理手段。

进入llama.cpp的主页以后,我们点击右边的code:

随后再点击“Download”:

点击以后,过一会浏览器就会弹出下载了:

将下载下来的压缩包直接解压以后,就得到了下面的文件,这些文件和拉取的是一样的:

至此,我们llama.cpp的的项目文件就算是拉取过来了。

3.安装依赖

        这里因为我们要运行的是一个python脚本,我们就需要安装相关的依赖文件。这里首先在Conda的终端中使用下面的命令创建一个虚拟环境:

conda create --name llamacpp python=3.10

创建好以后,使用下面的命令进入虚拟环境:

conda activate llamacpp

然后,这里需要将终端的路径切换到llama.cpp的项目目录下,注意,这里一定要切换到llama.cpp的项目目录下:

切换到项目目录下以后,我们开始安装环境。这里首先需要安装pytouch,大家可以看下面的pytouch安装教程:

pytouch安装教程:[python]如何正确的安装pytorch?(详细)_pytorch安装-CSDN博客

当然,如果你是小白,不清楚pytouch的GPU与CPU版,也可以跳过此步。直接在下面使用安装命令安装CPU版的touch。

我们可以在llama.cpp的项目目录下执行下面的命令安装依赖:

pip install -r .\requirements.txt

安装完成,没有错误的话,llama.cpp的相关依赖就安装完成了:

至此,llama.cpp的相关依赖就安装完成了。

4.模型的下载

        模型的下载之前在部署DeepSeek的教程中已经讲得很详细了,如果你还不知道如何下载模型,可以去看上一篇教程:

DeepSeek部署:[AI]从零开始的DeepSeek本地部署及本地API调用教程-CSDN博客

这里模型下载同样使用hf-mirror,地址如下:HF-Mirror

这里主要教大家如何拉取非GGUF格式的模型。GGUF格式的模型只有一个文件,直接下载即可,但是我们之前介绍了两种特殊模型权重文件还附带了一堆的配置文件,我们需要将这些配置文件也下载下来,假如下面是一个我想下载的模型:

这里就可以直接点击如图所示的三个点:

在出现的选项中选择第一个,这表示要克隆这个模型:

随后使用中间的git命令进行克隆即可:

如果这里没安装git需要自行安装一下,安装过程并不复杂,大家自行安装即可。安装完git就可以使用git命令了。如果git拉取大文件比较慢,可以直接复制大文件的链接然后直接下载。

当我们克隆完成一个模型,就能得到这样一个模型文件夹:

这个文件夹中,就包含了模型的权重文件以及配置文件:

至此,模型的下载就已经完成了。

5.使用llama.cpp进行模型转换

        当我们准备好上面的环境以后,就可以进行模型转换了。首先需要将我们拉取的模型文件夹复制到llama.cpp的“models”文件夹下,这里我就用我已经下载好的“DeepSeek-R1-Distill-Qwen-7B”模型举例:

这里要注意是将整个模型文件夹都复制过来,并且注意路径不要弄错了。

然后我们这里进入虚拟环境,然后在llama.cpp的项目目录下执行下面的命令,模型格式的转换就开始了:

python convert_hf_to_gguf.py models/DeepSeek-R1-Distill-Qwen-7B

这里的“convert_hf_to_gguf.py”表示调用的python脚本。这个脚本就放在了llama.cpp的项目根目录下。然后“models/DeepSeek-R1-Distill-Qwen-7B”表示我模型存放的路径,这里的路径要根据你文件夹的名字来定,不一定和我一样。

输入命令回车以后,模型转换就开始了,如果你回车以后,被提示缺少xxx库,那就说明环境没有装好,可以尝试重新安装依赖:

模型转换完成以后,我们就可以看到,这里转换后的模型已经被输出到了模型文件夹下:

去到模型文件夹下,就可以看到这个GGUF格式的模型了:

至此,我们的模型转换就完成了。这里生成出来的GGUF格式的模型在Ollama,LM Studio中同样适用。

五、使用llama.cpp量化模型

        现在我们就可以对GGUF格式的模型进行量化了。这里首先你需要确定自己已经部署好了llama.cpp。现在我们开始吧!

这里就使用我刚才已经输出的GGUF模型进行演示,我的模型路径为“models\DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-F16.gguf”。

这里我们要量化模型需要去到llama.cpp可执行文件的目录。不管是自己编译的llama.cpp还是下载的预编译版的llama.cpp。都需要去到可执行文件的目录,其实就是有一堆exe文件的目录,如图:

在可执行文件目录下,打开终端,使用下面的命令就可以进行模型的量化了。注意,你用我的命令不一定可以直接运行,需要一些修改,请看下面我对命令的说明:

.\llama-quantize.exe e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-F16.gguf e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-Q4.gguf Q4_K_S

这里的“.\llama-quantize.exe”表示使用当前目录下的“llama-quantize.exe”程序,因为我们就在可执行目录下,所以直接写“.\”。“e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-F16.gguf”表示模型的路径,我的模型放在了这个路径下,所以命令是这样,你可以根据自己的模型路径来写命令。“e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B\DeepSeek-R1-Distill-Qwen-7B-Q4.gguf”表示输出模型的路径,可以在输出这里修改被量化后模型的名字,这里将模型后面的F16改为了Q4,表示这个模型使用了Q4的量化算法。最后面的“Q4_K_S”表示量化算法。

如果你不知道有哪些量化算法可用,在终端中直接执行下面的命令就可以看到所有的量化算法了:

.\llama-quantize.exe

综上所示,模型量化命令的大致格式为:

.\llama-quantize.exe 输入模型的路径 输出模型的路径 量化算法

输入命令回车以后,量化就开始了:

量化结束以后,被量化过的模型,就被输出到了我们指定的目录下:

至此,我们使用llama.cpp进行模型量化就已经完成了。

六、使用llama.cpp运行GGUF格式模型

        llama.cpp本身也是可以运行模型的,这里同样的我们前往可执行文件目录:

在可执行目录下,输入下面的命令就可以运行相关的模型了:

.\llama-cli.exe -m e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B/DeepSeek-R1-Distill-Qwen-7B-Q4.gguf  -n 2048

这里的“.\llama-cli.exe”同样表示当前目录下的可执行文件。后面的“-m”表示指定模型的路径,再后面的“e://openproject/llama.cpp/models/DeepSeek-R1-Distill-Qwen-7B/DeepSeek-R1-Distill-Qwen-7B-Q4.gguf”就是我们模型的路径了,大家替换成自己GGUF文件所在的路径即可。后面的-n表示上下文最大的token数,这里我们这里指定的是2048。回车以后,模型就开始运行了:

随后,我们就可以和模型进行对话了:

这样,我们使用llama.cpp运行GGUF格式的模型就已经完成了。

七、结语

        本次教程,教了大家如何部署llama.cpp以及如何使用llama.cpp运行,转换,量化模型。当然llama.cpp的强大远不止这些,剩下的,就留给大家自己探索吧,那么最后,感谢大家的观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/971104.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

内容中台重构企业内容管理流程驱动智能协作升级

内容概要 内容中台作为企业数字化转型的核心基础设施,通过技术架构革新与功能模块整合,重构了传统内容管理流程的底层逻辑。其核心价值在于构建动态化、智能化的内容生产与流转体系,将分散的创作、存储、审核及分发环节纳入统一平台管理。基…

LM Studio笔记

一、什么是 LM Studio? LM Studio 是一款功能强大、易于使用的桌面应用程序,用于在本地机器上实验和评估大型语言模型(LLMs)。它允许用户轻松地比较不同的模型,并支持使用 NVIDIA/AMD GPU 加速计算。 功能集&#xff1…

oracle使用动态sql将多层级组织展平

ERP或者其他企业管理软件中都会有一张组织机构表,可以写固定sql的方式将其展平获取组织表中的字段信息,如负责人、上级组织负责人、分管领导、成立时间等。但是这种方式有个缺陷,就是如果只写到处理4个层级,那么后期层级增多就无法…

【JavaEE进阶】Spring Boot日志

目录 🌴日志概述 🚩为什么要学习日志 🚩日志的用途 🚩日志使用 🌳打印日志 🚩在程序中得到日志对象 🚩使用日志对象打印日志 🌲日志框架介绍(Slf4j ) 🚩门面模式…

【机器学习】向量化使得简单线性回归性能提升

向量化使得简单线性回归性能提升 一、摘要二、向量化运算概述三、向量化运算在简单线性回归中的应用四、性能测试与结果分析 一、摘要 本文主要讲述了向量化运算在简单线性回归算法中的应用。通过回顾传统for循环方式实现的简单线性回归算法,介绍了如何通过最小二乘…

基于微信小程序的场地预约设计与实现

第3章 系统设计 3.1系统设计目标 本系统的实现可以帮助体育馆场地信息的管理。帮助管理员对注册用户管理以及用户预约管理。同时可以帮助用户进行场地预约。本系统可以实现用户足不出户预约到需要的场地,为用户提供场地信息了解的平台。 3.2系统功能结构图 本系统的…

2025百度快排技术分析:模拟点击与发包算法的背后原理

一晃做SEO已经15年了,2025年还有人问我如何做百度快速排名,我能给出的答案就是:做好内容的前提下,多刷刷吧!百度的SEO排名算法一直是众多SEO从业者研究的重点,模拟算法、点击算法和发包算法是百度快速排名的…

TCP开发

TCP客户端编程开发 任何的网络编程套接字开发的两种工作模式:TCP网络、UDP网络。 TCP和UDP的介绍 TCP:连接式网络通信,长连接通信或流式通信。TCP的通信一般稳定、可靠,但传输速度往往没有UDP快。其中有这样一个概念----心跳时…

CPP集群聊天服务器开发实践(五):nginx负载均衡配置

1 负载均衡器的原理与功能 单台Chatserver可以容纳大约两万台客户端同时在线聊天,为了提升并发量最直观的办法需要水平扩展服务器的数量,三台服务器可以容纳六万左右的客户端。 负载均衡器的作用: 把client的请求按照负载均衡算法分发到具体…

神经网络新手入门(3)光明顶复出(2006-2012)

让我们继续这场科技江湖的传奇,见证神经网络如何从寒冬中涅槃重生: 第五章:光明顶复出(2006-2012) 2006年,江湖人称"深度学习教主"的辛顿(Geoffrey Hinton)闭关修炼二十…

Flutter Gradle 命令式插件正式移除,你迁移旧版 Gradle 配置了吗?

在 Flutter 3.29 版本里官方正式移除了 Flutter Gradle Apply 插件,其实该插件自 3.19 起已被弃用,同时 Flutter 团队后续也打算把 Flutter Gradle 从 Groovy 转换为 Kotlin,并将其迁移到使用 AGP(Android Gradle Plugin&#xff…

linux-带宽性能压测-全解iperfwgetspeedtest-cli

【摘要】本文介绍了iperf,wget,speedtest-cli 测速linux 服务器带宽,测速方法,和测速分析结果都有详解。同时也附带了windows的带宽测速已经这些软件的下载。快来测试下您的网速 1.iperf: iperf是一个开源网络带宽测试工具&…

总结前端常用数据结构 之 数组篇【JavaScript -包含常用数组方法】

【亲爱的读者,爱博主记得一键三连噢噢ooo~~ 啾咪】 创建数组: 以字面量的形式创建新数组:let arr1 [1, 2, 3];通过 Array 构造函数并传入一组元素(4,5,6)来创建一个新数组:let arr2 new Array(4, 5, 6);…

Redis 09章——哨兵(sentinel)

一、是什么 吹哨人巡查监控后台master主机是否故障,如果故障了根据$\textcolor{red}{投票数}$自动将某一个从库转换为新主库,继续对外服务作用:俗称无人值守运维官网理论:High availability with Redis Sentinel | Docs 二、能干…

Visual Studio Code使用ai大模型编成

1、在Visual Studio Code搜索安装roo code 2、去https://openrouter.ai/settings/keys官网申请个免费的配置使用

[数据结构]二叉搜索树详解

目录 一、二叉搜索树的概念 二、二叉搜索树的性能分析 三、二叉搜索树的中序遍历用于排序去重 四、二叉搜索树的查找 1、查找的非递归写法 2、查找的递归写法 五、二叉搜索树的插入 1、插入的非递归写法 2、插入的递归写法 六、二叉搜索树的删除 1、删除的非递归写法…

数据结构 day05

数据结构 day05 5. 队列5.3. 链式队列5.3.1. 特征5.3.2. 代码实现 6. 双向链表6.1. 特性6.2. 代码实现 5. 队列 5.3. 链式队列 5.3.1. 特征 逻辑结构:线性结构 存储结构:链式存储 操作:创建、入列、出列、判空、清空 5.3.2. 代码实现 头文…

【深度解析】图解Deepseek-V3模型架构-混合专家模型(MoE)

一、引言 最近非常火爆的DeepSeek-V3模型,是一个包含6710亿总参数的强大混合专家模型(MoE),其中每个token激活370亿参数。该模型在DeepSeek-V2验证有效的核心架构基础上,采用多头潜在注意力(MLA&#xff0…

内容中台驱动企业数字化内容管理高效协同架构

内容概要 在数字化转型加速的背景下,企业对内容管理的需求从单一存储向全链路协同演进。内容中台作为核心支撑架构,通过统一的内容资源池与智能化管理工具,重塑了内容生产、存储、分发及迭代的流程。其核心价值在于打破部门壁垒,…

多模态本地部署ConVideoX-5B模型文生视频

文章目录 一、多模态概念1.多模态学习2. 人机交互3. 健康医疗4. 内容创作和娱乐 二、模型介绍三、环境安装1. 安装工具包2. 模型下载 四、运行代码五、代码解析六、效果生成七. 总结1. 模型介绍2. 部署环境3. 部署步骤4. 生成视频5. 应用场景 一、多模态概念 多模态&#xff0…