diff --git a/README.md b/README.md new file mode 100644 index 0000000..ccdb393 --- /dev/null +++ b/README.md @@ -0,0 +1,106 @@ +# 🦙 llama.cpp 命令生成器 + +> 一个用于生成 llama.cpp 执行命令的 Web 工具,支持参数可视化配置、自然语言生成、实时显存估算。 + +## ✨ 功能特性 + +### 命令生成 +- **多版本支持**:内置 b6310 和 b10068 两个版本的参数定义,可按版本精准匹配参数 +- **GPU 模式 / GPU+CPU 模式**:默认 GPU 模式,可切换混合模式查看系统内存占用 +- **多 GPU**:最多支持 4 张显卡,每张可选不同型号,自动计算总显存 +- **智能输出**:仅输出非默认值的参数,生成干净可用的命令 + +### 自然语言生成 +输入自然语言描述,自动解析为参数配置: + +``` +用RTX 4090跑70B模型, 上下文8192, 温度0.7, flash attention +``` + +支持中文和英文关键词,涵盖 GPU 型号、数量、上下文、温度、Top-K/P、线程数、端口等。 + +### 实时显存估算 +- 选择模型和 GPU 后实时计算显存占用 +- 分项显示:模型权重 / KV缓存 / 计算开销 / CUDA开销 +- 进度条颜色预警:绿(正常) → 黄(警告) → 红(超限) +- GPU+CPU 模式额外显示 CPU 侧权重和 KV 缓存占用 + +### 参数管理 +- 参数按分类标签页组织:通用 / 采样 / 服务器 / 模型来源 / LoRA / 日志 / 高级 +- 重要参数直接显示,次要参数点击展开 +- 影响显存的参数标记 ⚡ 标识 +- 支持参数搜索(按键名、标志、描述) + +### 模型选择 +- 内置 26 个常见模型预设(Llama 3/3.1、Qwen2.5、DeepSeek V2/R1、Mistral、Gemma2、Phi-3、GLM-4 等) +- 支持搜索过滤 +- 后台可增删改 + +### 后台管理 +- **GPU 管理**:增删改查显卡型号、显存、计算能力 +- **版本管理**:增删改查 llama.cpp 版本 +- **参数管理**:按版本增删改查参数定义 +- **模型管理**:增删改查模型预设 +- **系统设置**:修改管理密码等配置 + +## 🚀 部署 + +### 环境要求 +- Python 3.8+ +- Flask +- flask-cors + +### 安装 +```bash +cd llama-cmd-gen +pip install flask flask-cors +``` + +### 启动 +```bash +python3 app.py +# 或 +./start.sh +``` + +服务默认监听 `0.0.0.0:16052`。 + +### 访问 +- **主界面**:`http://:16052/` +- **后台管理**:`http://:16052/admin`(需密码登录,默认 `admin123`) + +## 📁 项目结构 + +``` +llama-cmd-gen/ +├── app.py # Flask 主应用 + API +├── db.py # 数据库初始化 + 默认数据 +├── data.db # SQLite 数据库(运行时生成) +├── start.sh # 启动脚本 +├── requirements.txt # Python 依赖 +├── logs/ +│ └── app.log # 运行日志 +└── static/ + ├── index.html # 主界面 + ├── admin.html # 后台管理界面 + ├── css/ + │ └── style.css # 样式 + └── js/ + ├── main.js # 主界面逻辑 + └── admin.js # 后台逻辑 +``` + +## 🛠️ 技术栈 + +- **后端**:Python / Flask / SQLite +- **前端**:原生 HTML / CSS / JavaScript(无框架依赖) +- **数据**:SQLite 本地存储,包含 GPU、版本、参数、模型等表 + +## 📝 版本历史 + +- **v1.1.0** — 修复输入焦点丢失、加参数搜索、模型选择器、后台密码登录、复制兼容性 +- **v1.0.0** — 初始版本:命令生成、自然语言解析、显存估算、多 GPU、后台管理 + +## 📄 License + +MIT