Skip to content

Repository files navigation

LlamaLauncher

LlamaLauncher 是一个轻量级 Windows 图形启动器,用于配置、启动和测试本地 llama.cpp 服务,重点支持 DFlash2 推测解码。

目前 DFlash2 尚未包含在 llama.cpp 主分支的常规 Windows 发布版中。想尝试它的用户通常需要自行寻找对应分支、准备编译环境、编译 CUDA 版本,再手工维护一长串启动参数。这个项目的目的就是省掉这些步骤:发布包直接附带已经编译好的通用 Windows x64 运行时,普通用户下载并解压后,通过界面选择模型即可使用,无需编辑源码或自己编译 llama.cpp。

DFlash2 属于实验性实现,兼容性和性能取决于模型、显卡、CUDA 驱动及所用运行时版本。模型权重不包含在发布包中。

界面预览

LlamaLauncher 主界面

主要功能

  • 附带基于 DFlash2 实现编译的 Windows x64 CUDA 运行时,可直接启动
  • 图形化选择 llama-server.exe、主模型和 DFlash2 Draft 模型
  • 模型不存在时给出明确状态,并提供固定 27B 示例模型下载入口;下载时可选择 Hugging Face 官方源或 HF-Mirror 国内公益镜像,该示例不作为所有显存档位的通用推荐
  • 主模型和 Draft 模型都可将脱敏后的显卡、显存与运行参数发送到 ChatGPT 或 DeepSeek 网页,获取实时模型推荐;提示词硬性排除 CPU offload/混合推理,只接受主模型、Draft、KV Cache、CUDA 缓冲和安全余量全部装入显存的方案,且不包含完整本地路径和用户名
  • 运行参数区域可直接“问 AI 怎么配”,针对当前已选主模型与 Draft 生成稳定、均衡、性能优先三套全显存 llama-server 参数
  • 自动检测 NVIDIA GPU 型号与显存;显存低于 16 GB 时默认关闭 DFlash2 并提示风险
  • 每次启动前刷新总显存、已用/可用显存和 CUDA 进程,并结合模型文件、Context、KV Cache 与计算缓冲给出粗略启动评估
  • 内置显存配置对照表,按显存档位给出模型量化、GGUF 大小、DFlash2 和 Context 建议
  • 一键启用或关闭 DFlash2,--spec-draft-n-max 默认使用已验证的值 4,并可按模型表现调整
  • 配置 Context、Host、Port、KV Cache 类型和 Draft n-max;Draft p-min 使用运行时默认值 0.00
  • 数字参数仅在按住 Ctrl 时响应鼠标滚轮,并可一键恢复运行参数默认值
  • 模型路径和参数修改后自动保存到 %LOCALAPPDATA%\LlamaLauncher\launcher.json,升级或更换解压目录仍会保留
  • 启动前检查端口占用,支持启动、停止、重启和实时日志
  • 自动识别由命令行启动的外部 llama-server,显示其 API 状态和监听 PID
  • 普通启动遇到外部 llama-server 时先展示 PID/路径,得到确认后才会终止并继续
  • 提供“在 PowerShell 中启动”命令编辑器,可检查、复制或修改完整启动命令
  • 自动轮询 /health,可直接复制 OpenAI-compatible API 地址
  • API 健康后可一键在默认浏览器打开 llama-server 聊天界面,直接测试当前模型
  • 内置固定 4096-token Benchmark,显示生成速度、耗时和 Draft 接受率
  • 简体中文和 English 即时切换,语言选择自动保存
  • 内置多尺寸 Windows 图标,程序本身不依赖额外 GUI 框架或第三方运行库

快速使用

  1. 从 Releases 下载 LlamaLauncher-win-x64.zip 并解压。
  2. 运行 LlamaLauncher.exe。
  3. 选择本地 GGUF 主模型;需要 DFlash2 时再选择匹配的 Draft 模型。
  4. 根据显存调整 Context 等参数,然后点击“启动服务器”。
  5. 服务健康后,使用界面显示的 http://127.0.0.1:8080/v1 连接 OpenCode 或其他 OpenAI-compatible 客户端。

如果还没有模型,可以使用主模型或 Draft 模型右侧的下载链接。发布包不包含模型文件,避免重复分发大体积权重。

增加更多语言

界面文案集中在 src\Localization.cs。新增语言时,在 CreateResources() 中注册新的语言代码和字符串字典,再把语言代码加入顶部选择器即可;进程控制、配置和界面布局不需要复制。

构建启动器

启动器本身无需安装 .NET SDK、Node.js、Visual Studio 或第三方包。Windows 自带的 .NET Framework 4.x 64 位编译器即可完成构建:

.\build.ps1
# 或
.\build.cmd

编译器使用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe,输出为 artifacts\win-x64\LlamaLauncher.exe。

导入 DFlash2 运行时

大型运行时 DLL 和 llama-server.exe 不提交到 Git。维护者可以从本机已编译的通用版目录导入,也可以指定其他兼容目录:

.\scripts\import-runtime.ps1
.\scripts\import-runtime.ps1 -Source 'D:\path\to\llama-dflash2-win-x64-universal' -Force

生成发布包

.\package.ps1

脚本会重新编译启动器,并将 runtime\win-x64 中的 DFlash2 版 llama-server.exe、CUDA DLL、许可证和说明文件一起打包为 artifacts\LlamaLauncher-win-x64.zip。

许可证与说明

这是 x64 Windows 构建。分发 CUDA 运行时和 llama.cpp 衍生二进制文件时,应同时保留 runtime\win-x64 中对应的 NVIDIA 与 llama.cpp 许可证文件。DFlash2 的上游实现仍在演进,更新运行时后建议重新执行 Benchmark 和模型加载测试。

显存对照表数据来源

对照表中的 GGUF 大小采用实际仓库文件或 llama.cpp 官方量化文档,不使用按参数量随意估算的范围:

文件大小只是权重文件大小,不等于完整运行显存。实际使用还需要 KV Cache、CUDA 计算缓冲、上下文和 Draft 模型空间。

About

Lightweight Windows GUI launcher for llama.cpp with experimental DFlash2 support

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages