# llama.cpp 服务器新增多模型管理功能

- 来源：Hugging Face：Blog（RSS）
- 发布时间：2025-12-11 23:47
- AIHOT 分数：76
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmoegbhak00a4slxx4drrrsd4
- 原文链接：https://huggingface.co/blog/ggml-org/model-management-in-llamacpp

## 精选理由

本地跑模型终于能像 Ollama 一样热切换，开发调试效率大幅提升

## AI 摘要

llama.cpp 服务器新增了类似 Ollama 的多模型管理功能。该功能采用多进程架构，每个模型独立运行，确保单个模型崩溃不影响其他服务。系统支持自动发现本地 GGUF 模型文件、按需加载，并默认采用 LRU 机制管理最多同时加载4个模型。用户可通过请求中的模型字段路由到特定模型，并可使用 API 进行加载、卸载和列表查看。所有加载的模型可继承路由器的统一设置，也支持通过预设文件为每个模型单独配置参数。内置 Web UI 同样支持模型切换。

## 正文

llama.cpp 服务器现已内置路由模式，可让您动态加载、卸载和切换多个模型，无需重启。

提醒：llama.cpp 服务器是一个轻量级、兼容 OpenAI 的 HTTP 服务器，用于在本地运行大语言模型。

该功能是用户呼声很高的需求，旨在将 Ollama 风格的模型管理引入 llama.cpp。它采用多进程架构，每个模型在独立进程中运行，因此即使某个模型崩溃，其他模型也不会受到影响。

快速开始

启动服务器时，不指定模型即可进入路由模式：

llama-server

这会自动从您的 llama.cpp 缓存（LLAMA_CACHE 或 ~/.cache/llama.cpp）中发现模型。如果您之前通过 `llama-server -hf user/model` 下载过模型，它们将自动可用。

您也可以指向一个包含 GGUF 文件的本地目录：

llama-server --models-dir ./my-models

功能特性

自动发现：扫描您的 llama.cpp 缓存（默认）或自定义的 `--models-dir` 文件夹，查找 GGUF 文件

按需加载：模型在首次被请求时自动加载

LRU 淘汰：当达到 `--models-max`（默认：4）限制时，最近最少使用的模型会被卸载

请求路由：请求中的 model 字段决定了由哪个模型来处理该请求

示例

与特定模型对话

curl http://localhost:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "ggml-org/gemma-3-4b-it-GGUF:Q4_K_M", "messages": [{"role": "user", "content": "Hello!"}] }'

在首次请求时，服务器会自动将模型加载到内存中（加载时间取决于模型大小）。后续对同一模型的请求将即时响应，因为模型已加载完毕。

列出可用模型

curl http://localhost:8080/models

返回所有已发现的模型及其状态（已加载、加载中或未加载）。

手动加载模型

curl -X POST http://localhost:8080/models/load \ -H "Content-Type: application/json" \ -d '{"model": "my-model.gguf"}'

卸载模型以释放显存

curl -X POST http://localhost:8080/models/unload \ -H "Content-Type: application/json" \ -d '{"model": "my-model.gguf"}'

关键选项

标志 描述

--models-dir PATH 包含您的 GGUF 文件的目录

--models-max N 同时加载的最大模型数量（默认：4）

--no-models-autoload 禁用自动加载；需要显式调用 /models/load 接口

所有模型实例均继承路由器的设置：

llama-server --models-dir ./models -c 8192 -ngl 99

所有已加载的模型将使用 8192 上下文和完全 GPU 卸载。您也可以使用预设为每个模型定义独立设置：

llama-server --models-preset config.ini

[my-model] model = /path/to/model.gguf ctx-size = 65536 temp = 0.7

同样可在 Web UI 中使用

内置的 Web UI 也支持模型切换。只需从下拉菜单中选择一个模型，它便会自动加载。

加入讨论

我们希望这一功能能让用户更轻松地对不同模型版本进行 A/B 测试、运行多租户部署，或者在开发过程中无需重启服务器即可切换模型。

有问题或反馈？请在下方留言，或在 GitHub 上提交 issue。
