Skip to content

llamacpp的整合包,自用于AI MAX+ 395机器,但是Linux+Windows实际通用。如有问题可以私信B站:防爆键盘

Notifications You must be signed in to change notification settings

IIIIIllllIIIIIlllll/LlamacppServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

323 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Llama.cpp 模型管理系统

这是一个个人自用的 llama.cpp 模型管理工具,提供完整的模型加载、管理和交互功能,尽量提供不同API的兼容性。

注意:尽管本项目作为 Java 应用具有跨平台的特性,并且llama.cpp也支持多平台,但开发目标是专门用于 AI MAX+ 395 这台机器,对于‘手动GPU分层’的功能暂不考虑开发(反正llama.cpp也会自动使用fit功能计算CPU和GPU的最佳配比,我觉得这个手动分层不是必须的)。


注意:关于编译脚本,请注意JAVA_HOME的配置,默认使用系统环境变量中配置的值,如果你有多个不同版本的JDK,请确认脚本可以找到大于等于21的版本。如果系统环境变量中配置的值不是JDK21,请修改脚本,更改为正确的路径再进行编译,并且修改时请务必注意:Windows 使用 CRLF(\r\n)作为换行符,而 Linux 使用 LF(\n)。Java程序的编译是比较简单的,如果编译脚本存在问题,你也可以将它作为Maven项目拉进IDE操作。实在不行还以用release傻瓜包。


提醒:目前支持英语版本,会根据浏览器的语言设置自动切换,也可以在url中通过lang参数手动指定英语(如:http:127.0.0.1:8080/?lang=en)。


提醒:最新开源的Step-3.5-Flash,似乎无法通过Ollama兼容API调用,存在聊天模板的问题,待解决。


API兼容情况(llamacpp自身支持OpenAI Compatible和Anthropic API)

类型 接口路径 说明
兼容 Ollama /api/tags
/api/show
/api/chat
/api/embed
/api/ps
支持 Ollama 兼容接口,可用于模型查看、聊天、嵌入向量等操作
不兼容 Ollama /api/copy
/api/delete
/api/pull
/api/push
/api/generate
不支持 Ollama 的相关操作,如模型复制、删除、拉取、推送和生成
兼容 LM Studio /api/v0/models
/api/v0/chat/completions
/api/v0/completions
/api/v0/embeddings
支持 LM Studio 的模型查询、对话、嵌入和生成功能

主要功能

📦 模型管理

  • 模型扫描与管理:自动扫描指定目录下的所有 GGUF 格式模型,支持多个模型根目录
  • 模型收藏与别名:为常用模型设置收藏标记和自定义别名,方便快速识别
  • 模型详情查看:查看模型的详细信息,包括元数据、运行指标(metrics)、属性(props)和聊天模板(可编辑模板)
  • 分卷模型支持:自动识别和处理分卷模型文件(如 *-00001-of-*.gguf
  • 多模态模型支持:支持带视觉组件的模型(mmproj 文件)
  • 聊天模板: 在模型的详细信息中,聊天模板默认不会自动加载,需要手动点击‘默认’按钮才会加载。如果点击加载后依然是空值,说明GGUF模型中可能不包含默认的聊天模板,需要在‘内置聊天模板’中选择适合的模板,或者自己手动设置一个模板。
14f92988319d6ed4d4280bc41f350803 e7db8db4c33a1f27f312b83a1c0d2d62 60bab939c769d2ac0988c7fbb4773d38

🌐 模型下载

  • 模型搜索:支持从HuggingFace和hf-mirror上搜索并下载gguf模型
  • 断点续传:支持断点续传功能,网络中断后可继续下载
  • 并发下载:最多支持 4 个任务同时下载,其余任务进入等待队列
  • 进度监控:通过 WebSocket 实时推送下载进度
  • 任务管理:支持任务的暂停、恢复、删除和状态持久化
  • 已知缺陷:下载过程中,程序如果因意外停止,会导致下载进度丢失,如需重启程序请手动暂停下载任务 屏幕截图_18-1-2026_173859_192 168 5 12 屏幕截图_18-1-2026_17395_192 168 5 12

🖥️ Web 管理界面

  • 模型列表:直观展示所有模型,支持搜索、排序(按名称、大小、参数量)
  • 加载配置:配置模型启动参数,包括上下文大小、批处理、温度、Top-P、Top-K 等
  • 对话界面:内置聊天界面,可直接与加载的模型进行对话,用于快捷测试和验证
  • 下载管理:管理下载任务,查看进度和状态
  • 控制台日志:实时查看系统日志,支持自动刷新
  • 系统设置:配置模型目录和 llama.cpp 可执行文件路径,设置Ollama和LM Studio兼容API,配置MCP服务,进行并发测试
87c9dc5e8213035e79c859f2fabfed08 3b60ca902a477b258c2b32450f4ce219 bd3f923f8c557fc93f8013930be3ed71 452ea5375b3034405af95654512b98db

🔌 API 兼容性

  • OpenAI API:兼容 OpenAI API 格式(默认端口 8080),可直接接入现有应用
  • Anthropic API:兼容 Anthropic API 格式(端口 8070)
  • Ollama API: 兼容Ollama部分API,可以用于那些只支持Ollama的应用
  • LM Studio:兼容LM Studio的/api/v0/** API,目前实际意义不明

⚡ 性能测试

  • 模型基准测试:对模型进行性能测试,评估推理速度
  • 多参数配置:支持配置重复次数、提示长度、生成长度、批量大小等测试参数
  • 结果对比:保存和对比多次测试结果,分析性能差异
  • 测试结果管理:查看、追加、删除测试结果文件
259ac4d62ad19ebacd299395acccb488

📊 系统监控

  • 实时状态:通过 WebSocket 实时推送模型加载/停止事件
  • 日志广播:控制台日志实时广播到 Web 界面
8a9a6ebc449d15f9daef74aa5d47ab93

⚙️ 配置管理

  • 启动配置保存:为每个模型保存独立的启动参数配置
  • 多版本支持:支持配置多个 llama.cpp 版本路径,加载时选择
  • 多目录支持:支持配置多个模型目录,自动合并检索
  • 配置持久化:所有配置自动保存到本地文件

📱 移动端适配

🔧 其它功能

  • 显存估算:根据上下文大小、批处理等参数估算所需的显存占用(对于视觉模型不准确)

使用说明

手动编译

# Windows
javac-win.bat

# Linux
javac-linux.sh

注意:关于Linux的编译脚本,请注意JAVA_HOME的配置,默认使用该路径:/opt/jdk-24.0.2/。请修改为你所使用的路径再进行编译,并且修改时请务必注意:Windows 使用 CRLF(\r\n)作为换行符,而 Linux 使用 LF(\n)。


直接下载

直接从release下载编译好的程序使用

启动程序

编译成功后,在build目录下找到启动脚本:run.sh或者run.bat,运行即可。

  • 注意:默认会占用8080和8070端口,如果这两个端口不可以,请手动在application.json中修改监听的端口。

访问 Web 界面

启动成功后,在浏览器中访问:

  • 主界面:http://localhost:8080
  • 对话界面:http://localhost:8080/chat/completion.html

配置模型目录和 llama.cpp 路径

  1. 打开 Web 界面
  2. 点击左侧菜单的「系统设置」
  3. 添加模型目录(可添加多个)
  4. 添加 llama.cpp 可执行文件路径(可添加多个版本)

加载模型

  1. 在模型列表中找到要加载的模型
  2. 点击「加载」按钮
  3. 配置启动参数(可使用已保存的配置)
  4. 点击「加载模型」开始加载

使用 API

加载模型后,可通过以下方式调用:

  • OpenAI APIhttp://localhost:8080/v1/chat/completions
  • Anthropic APIhttp://localhost:8070/v1/messages
  • Completion APIhttp://localhost:8080/completion

系统要求

  • Java 21 运行环境
  • 已编译的 llama.cpp 可执行文件

About

llamacpp的整合包,自用于AI MAX+ 395机器,但是Linux+Windows实际通用。如有问题可以私信B站:防爆键盘

Resources

Stars

Watchers

Forks

Packages

No packages published