跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI算法

Llama-Swap 本地多模型切换配置指南

Llama-Swap,一个轻量级开源代理服务,用于在本地运行多个大语言模型(LLM)时实现动态切换。通过监听 OpenAI 风格 API 请求,它可根据模型名称自动启动或停止对应的 llama-server 进程,支持资源分组管理。文章提供了环境准备、安装步骤、配置文件编写及 API 调用测试的完整指南,帮助用户在本地低成本、高隐私环境下灵活部署多模型服务。

战神发布于 2026/4/6更新于 2026/9/797 浏览
Llama-Swap 本地多模型切换配置指南

运行多个大语言模型(LLM)非常有用:无论是用于比较模型输出、设置备用方案,还是实现行为定制,实践中我们经常以这种方式使用 LLM。

一些应用已经提供了多模型运行的平台。但如果你希望完全在本地运行、节省 API 成本并保证数据隐私,情况就会复杂许多。

问题在于:本地设置通常意味着要处理多个端口、运行不同进程,并且手动切换,不够理想。

这正是 Llama-Swap 要解决的痛点。它是一个超轻量的开源代理服务(仅需一个二进制文件),能够让你轻松在多个本地 LLM 之间切换。简单来说,它会在本地监听 OpenAI 风格的 API 请求,并根据请求的模型名称,自动启动或停止对应的模型服务。客户端无需感知底层切换,使用体验完全透明。

工作原理

概念上,Llama-Swap 就像一个智能路由器,位于多个 LLM 服务进程之前。 当 API 请求到达(如 POST /v1/chat/completions),它会检查 JSON 里的 model 字段,加载对应的服务进程,如果需要,还会停止其他已经运行的模型。

例如:

  • 先请求模型 A,再请求模型 B → 代理会自动关掉 A 的进程,再启动 B,让每次请求都由正确的模型响应。

默认情况下,Llama-Swap 每次只允许运行一个模型。但它的 Groups 功能可以调整:

  • swap: false → 组内的多个小模型可以同时运行,不会互相卸载
  • 大模型组 → 每次只启动一个,节省资源 这样你可以灵活掌控系统资源与并发能力。

环境准备

确保系统具备以下条件:

  • Python 3 (>=3.8):用于脚本和工具。
  • llama.cpp (llama-server):兼容 OpenAI API 的服务程序。
  • 硬件:现代 CPU 足够;GPU 可加速。
  • Docker(可选):运行预构建镜像,x86 更佳,Apple M1/M2 建议裸机安装。

Hugging Face CLI:便捷下载模型文件:

pip install -U "huggingface_hub[cli]"

Homebrew(macOS):快速安装运行环境,例如:

brew install llama.cpp

提供 llama-server 二进制文件来运行本地模型。

分步操作

1. 安装 Llama-Swap
curl -L -o llama-swap.tar.gz https://github.com/mostlygeek/llama-swap/releases/download/v126/llama-swap_126_darwin_arm64.tar.gz
tar -xzf llama-swap.tar.gz
chmod +x llama-swap
./llama-swap --version
2. 下载示例模型

以 SmolLM2-135M 和 Qwen2.5-0.5B 为例:

mkdir -p ~/llm-models
huggingface-cli download bartowski/SmolLM2-135M-Instruct-GGUF \
  --include "SmolLM2-135M-Instruct-Q4_K_M.gguf" \
  --local-dir ~/llm-models
huggingface-cli download bartowski/Qwen2.5-0.5B-Instruct-GGUF \
  --include "Qwen2.5-0.5B-Instruct-Q4_K_M.gguf" \
  --local-dir ~/llm-models
3. 配置文件(config.yaml)
models:
  smollm2:
    cmd: |
      llama-server --model /path/to/models/llm-models/SmolLM2-135M-Instruct-Q4_K_M.gguf --port ${PORT}
  qwen2.5:
    cmd: |
      llama-server --model /path/to/models/llm-models/Qwen2.5-0.5B-Instruct-Q4_K_M.gguf --port ${PORT}
4. 启动 Llama-Swap
./llama-swap --config config.yaml --listen 127.0.0.1:8080
5. 调用 API 测试

使用 Qwen2.5:

curl -s http://localhost:8080/v1/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer no-key" \
  -d '{ "model": "qwen2.5", "prompt": "User: What is Python?\nAssistant:", "max_tokens": 100 }' | jq '.choices[0].text'

使用 SmolLM2:

curl -s http://localhost:8080/v1/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer no-key" \
  -d '{ "model": "smollm2", "prompt": "User: What is Python?\nAssistant:", "max_tokens": 100 }' | jq '.choices[0].text'

不同模型输出风格不同:

  • Qwen2.5 → 更技术性、更详细
  • SmolLM2 → 更简洁直观

结论

恭喜!你已在本地成功配置 Llama-Swap,实现双模型动态切换。你可以扩展更多模型(如 TinyLlama、Phi-2、Mistral),并结合 LangChain、FastAPI 等框架,打造强大的个性化应用环境。

目录

  1. 工作原理
  2. 环境准备
  3. 分步操作
  4. 1. 安装 Llama-Swap
  5. 2. 下载示例模型
  6. 3. 配置文件(config.yaml)
  7. 4. 启动 Llama-Swap
  8. 5. 调用 API 测试
  9. 结论

更多推荐文章

查看全部
  • Bugku Web 实战:PHP assert 绕过与文件读取
  • JRebel 插件安装、激活与配置教程
  • 区块链安全与共识机制深度解析
  • AI Agent 新范式:基于 FastGPT 与 MCP 协议构建工具增强型智能体
  • JavaWeb 核心:JSON 数据交换与 Ajax 异步请求实战
  • RabbitMQ 客户端连接管理与信道搭建实践
  • 使用 Shoelace 构建零构建的现代 Web 应用
  • Vue3 Pinia Token 全流程操作指南
  • 基于 Qwen3-VL 的游戏 AI 视觉决策系统搭建
  • MySQL 分组查询、聚合查询与联合查询
  • 海光 DCU K100-AI 环境部署 Ollama 与 DeepSeek
  • Obsidian 连接 AI 大模型的 5 种主流方式
  • AI 提示词核心教程与全场景指令合集
  • AMD AI Max+ 395 CPU 本地大模型推理性能评测
  • FPGA 加速图像处理:核心算法解析
  • JavaScript 简介:跨平台脚本语言入门
  • 机器人远程监控与 OTA 升级
  • 星辰 RPA 实现小红书自动发文机器人
  • AIGC 赋能插画创作:技术解析与代码实战
  • SenseVoice-Small ONNX 量化版部署与 Gradio 使用记录

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online