查看: 27|回复: 0

[技术分享] 原生的llama.cpp服务器简单部署指南(适用于Windows用户)

[复制链接]
累计签到:1 天
连续签到:1 天

1

主题

2

回帖

88

积分

星碎

名望
0
星币
72
星辰
0
好评
0
发表于 昨天 23:53 | 显示全部楼层 |阅读模式

注册登录后全站资源免费查看下载

您需要 登录 才可以下载或查看,没有账号?立即注册

×
《Ollama vs LM Studio,最适合你的是什么?》
《本地大语言模型部署工具对比:Ollama vs LM Studio 如何选择适合自己的 AI 助手》
《Ollama 与 LM Studio:主要区别是什么?》
《Ollama VS LM Studio,谁是最佳本地化模型运行工具》
《为什么都在用Ollama而LM studio却更少人使用?》
“LM Studio更好用点,可以全程鼠标草作”
“LM Studio性能比Ollama要好。”
“如果你要进阶,比如知识库、agent、使用工具等等,那LM Studio本身的功能是不够的,这也是为什么更多人选择Ollama/Ollama-cpp/vllm等基座”
............
你是否见到过这样的标题和言论?你是否还在为用LM Studio还是用Ollama苦恼?如果你是,那这篇文章就是解决你的痛点的文章,因为我会告诉你,这俩在某种程度上都是“玩具”!

为什么LM Studio和Ollama在某种意义上是玩具?
首先是最重要的,Ollama和LM Studio都缺少了最重要的安全保障措施:API密钥。这直接导致了被广泛用作个人、小型工作室与小型服务器部署小型AI的Ollama出现鉴权问题、被人偷取算力后,被学新闻学的报道成“Ollama被曝出严重安全漏洞”,而这根本不是安全漏洞,因为Ollama如果单本地部署的话是没有什么安全漏洞的,这只是一次鉴权缺失罢了。LM Studio同理,但由于使用它部署的多半是新手和个人,这些人要么完全不知道API的存在,要么用的不是公网IP,所以看似“没问题”,然而实际上还是有问题的,毕竟一旦有了公网IP,你就会发现,它只不过是把口改成了1234的Ollama罢了。
然后就是各自的缺陷了,Ollama既要命令行草作,又要简单,导致大量草作都无法在模型加载的时候设置,这其中包括最重要的GPU Offload和最大上下文长度,你甚至需要在模型加载完后,使用`/set parameters`命令调整,然后只要调整了,在聊天第一句话必定要执行自动重新加载,这就属于多此一举,因为我本来可以在加载前就设定好这些东西,然后只需要加载一次就够了。而LM Studio的GUI是闭源的,只有CLI是开源的,谁知道这个GUI会不会把你的聊天消息窃取掉?这个没人能够保证。最后,Ollama和LM Studio都使用了魔改版的llama.cpp,Ollama魔改的最厉害,导致连原本llama.cpp能加载的GGUF文件,它都要转化一道;而LM Studio稍微好一点,但仍然好的不多,因为其更新慢,甚至llama.cpp已经支持新模型了,它还要两天才能跟进,这两天的真空期,对绝大多数想要尝鲜的人,是非常痛苦的。
所以今天,我们放下Ollama和LM Studio,直接从它们的底层——llama.cpp入手,教你如何使用llama-server,来实现更好的效果。

什么是llama.cpp?
llama.cpp是一个基于纯C/C++实现的高性能大语言模型推理引擎,专为优化本地及云端部署而设计。其核心目标在于通过底层硬件加速和量化技术,实现在多样化硬件平台上的高效推理,同时保持低资源占用与易用性。
对这一块就不多做介绍了,你只需要知道,llama.cpp是个人设备AI部署的基石就行了。感兴趣的话自行了解。
如何获取llama.cpp?
首先我们需要编译llama.cpp,首先我们得执行:
  1. git clone https://github.com/ggml-org/llama.cpp
  2. cd llama.cpp
复制代码

然后用MAKE编译它...
嘶...
为什么要编译?编译有什么好处?
对了,大部分用户完全不需要编译llama.cpp,除非是Linux用户,还用了NVIDIA显卡,而这里我们主要面向的用户是Windows用户,所以嘛...这里不讲编译是什么,因为如果你去https://github.com/ggml-org/llama.cpp官网,你会直接发现根本不用编译,因为Release上面,已经有预编译好的文件。

你只需要根据自己的GPU型号,下载即可,NVIDIA GPU用户需要下载
  1. cudart-llama-bin-win-cuda-12.4-x64.zip
复制代码
  1. llama-b6945-bin-win-cuda-12.4-x64.zip
复制代码
,将这俩解压到同一个文件夹下就行,其他的用户也是按需下载即可。后续更新的话,只需要替换文件即可。
下载完以后还没完,如果你需要便携的运行llama.cpp的话,你需要将llama.cpp文件夹加入到环境变量Path中,Windows里面,打开设置,找到“系统信息”,找到“高级系统设置”,找到“环境变量”,最后找到Path,点开,然后点击“浏览...”,将llama.cpp的文件夹添加进来。
到这里,你基本上就配置好llama.cpp了。这个教程主要教你如何使用llama-server,其他的可以自行探索。
如何使用llama-server
首先,你仍然需要一个GGUF格式的模型,那么...LM Studio的价值就出来了,毕竟这货还能下载GGUF模型加上预览模型信息,你也可以直接上HuggingFace上下载,然后你可以用LM Studio看一下这个模型的参数是什么:

或者一种更加麻烦的方式:用
  1. llama-cli
复制代码
查看,输入命令
  1. llama-cli -m model.gguf -n 1
复制代码
,然后等待以后,Ctrl+C退出即可,我们只需要那一些输出信息。


重点要看的版块是:
  1. n_layer
复制代码
(对应GPU Offload)
  1. n_ctx_train
复制代码
(对应模型最大能支持的上下文长度)
嗯,就这俩要关注一下,然后就没了,我们不需要管别的。
然后现在可以评估一下你的GPU情况,来拟定命令了。
我们主要需要的文档是https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md,这里面你能了解到各种参数,下面我会把LM Studio GUI上的参数都使用命令行的形式写出来:


这样我们就能对应着写出命令来。把命令组合起来,就可以加载服务器。
当然这还没完,如果你是多模态模型,你还需要额外加载mmproj模型,使用以下命令即可。
  1. --mmproj your_mmproj_model.gguf
复制代码
另外,llama.cpp还支持API密钥功能,刚好是Ollama和LM Studio都缺失的功能,我们可以使用以下命令直接搞一个API密钥鉴权
  1. --api-key sk-your-super-secret-key
复制代码
也可以把它保存到文件里面,使用以下命令加载。
  1. --api-key-file FNAME
复制代码

那么现在这里就有一行示例命令:
  1. llama-server -m Qwen3-VL-30B-A3B-Instruct-Q4_K_M.gguf --mmproj mmproj-Qwen3-VL-30B-A3B-Instruct-F16.gguf --host 0.0.0.0 --port 12345 -c 40960 -ngl 4 -t 6 -b 512 --mlock --temp 0.8 --top-k 40 --repeat-penalty 1.2 --min-p 0.05 --top-p 0.95 --api-key-file key.txt
复制代码

我们来好好解释一下这些东西:
  1. -m Qwen3-VL-30B-A3B-Instruct-Q4_K_M.gguf
复制代码
指定要加载的主模型文件。
  1. --mmproj mmproj-Qwen3-VL-30B-A3B-Instruct-F16.gguf
复制代码
对于多模态模型(如Qwen-VL),需要额外指定mmproj投影模型文件。
  1. -c 40960
复制代码
设置最大上下文长度为40960个token。这个值不能超过模型`n_ctx_train`的限制。
  1. -ngl 4
复制代码
设置GPU卸载层数为4。这意味着模型的前4层将在GPU上运行,其余层在CPU上运行。
  1. -t 6
复制代码
设置使用的CPU线程数为6,一般来说,设置的线程数不大于CPU核心数即可。
  1. -b 512
复制代码
设置评估批处理大小为512。
  1. --mlock
复制代码
锁定模型在内存中,防止被系统交换到磁盘,提高性能稳定性。
  1. --temp 0.8
复制代码
设置温度参数,控制输出的随机性。
  1. --top-k 40
复制代码
设置Top-K采样,限制每一步只从概率最高的40个词中选择。
  1. --repeat-penalty 1.2
复制代码
设置重复惩罚,降低生成重复词语的概率。
  1. --min-p 0.05
复制代码
设置Min-P采样,只保留累积概率大于等于0.05的词。
  1. --top-p 0.95
复制代码
设置Top-P采样(核采样),保留累积概率达到0.95的最小词集。
  1. --api-key-file key.txt
复制代码
启用API密钥鉴权,从key.txt文件中读取密钥。这是对Ollama和LM Studio安全缺陷的完美弥补。
把这串命令输入到你的终端上,或者干脆保存成bat文件,直接双击bat文件执行即可(推荐这么做),然后你就能通过http://localhost:12345访问到一个简单的Web UI,没错,llama.cpp默认运行一个Web UI!如果想禁用,只需要加一个`--no-webui`即可,然而我非常不建议这么做,毕竟这个WebUI就是你调试的基础工具。另外,如果你设置了API密钥,记得把API密钥输入进WebUI里,然后你就可以得到一个非常“简陋”的对话UI,但是已经足够了,不是吗?

通过这篇文章,你已经掌握了如何绕过Ollama和LM Studio,直接利用llama.cpp的强大能力。你不仅获得了对模型参数的完全控制权,还通过`--api-key-file`实现了至关重要的安全保障。这不再是“玩具”,而是一个真正可以用于个人、工作室甚至小型企业生产环境的、可定制、可扩展的本地AI基础设施。下一步,你可以探索llama.cpp文档中更多高级功能,如语法约束、嵌入向量生成、重排序模型等,将你的本地AI体验提升到新的高度。
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:service@pai.al或paijishu@outlook.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|偏爱技术社区-偏爱技术吧-源码-科学刀-我爱辅助-娱乐网--教开服-游戏源码

偏爱技术社区-偏爱技术吧-源码-科学刀-我爱辅助-娱乐网-游戏源码

Powered by Discuz! X3.5

GMT+8, 2025-11-20 08:27 , Processed in 0.072439 second(s), 33 queries .

快速回复 返回顶部 返回列表