# mini-llm-infra **Repository Path**: DreamPro/mini-llm-infra ## Basic Information - **Project Name**: mini-llm-infra - **Description**: mini-llm-infra - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-11 - **Last Updated**: 2026-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mini-llm-infra 从零手写、对齐 [SGLang](https://github.com/sgl-project/sglang) 的 LLM 推理框架。**只服务一个模型**,金标准为 SGLang `serve` 输出(不对齐 HuggingFace `generate()`)。 **目标模型**:[`Qwen/Qwen3.6-35B-A3B-FP8`](https://huggingface.co/Qwen/Qwen3.6-35B-A3B-FP8)(MoE + GDN + FP8 + VLM) **目标硬件**:2× RTX 4090(`--tp-size 2`);A800 80GB 可 `--tp-size 1` 做开发对齐。 ## 当前进度 | 模块 | 状态 | |------|------| | CLI `minllm-serve` | 可用 | | HTTP `/health` `/get_model_info` | 可用 | | HTTP `/generate` | 501(engine 未接) | | `ServerArgs` / `PortArgs` | 裁剪版已实现 | | ModelRunner / Scheduler / engine | 待实现 | | `minllm-kernel`(AOT/CUDA) | Phase 3+ 占位 | ## 仓库结构 ``` mini-llm-infra/ ├── python/minllm/ # Python 运行时(对齐 SGLang srt/) │ ├── launch_server.py # CLI 入口 │ └── srt/ │ ├── server_args.py │ ├── entrypoints/http_server.py │ ├── managers/ # 待实现 │ └── model_executor/ # 待实现 ├── test/registered/unit/ # 单测(mirror srt/ 目录) ├── minllm-kernel/ # CUDA/AOT kernel(后续) └── docs/ # 方案与专题(见 docs/README.md) ``` ## 快速开始 ### 1. 安装 ```bash cd python uv venv && source .venv/bin/activate uv pip install -e ".[test]" # HTTP 壳 + pytest # uv pip install -e ".[dev]" # 再 + torch / transformers(写 ModelRunner 时) ``` PyPI 默认华为镜像,见 `python/pyproject.toml` 的 `[tool.uv.index]`。细节:[开发环境搭建](docs/开发指导/开发环境搭建.md)。 ### 2. 启动 HTTP 服务 ```bash minllm-serve # 默认 model-path,仅 HTTP 壳 # minllm-serve --model-path Qwen/... --tp-size 2 curl http://127.0.0.1:30000/health curl http://127.0.0.1:30000/get_model_info ``` `/generate` 当前返回 501,待接入 engine。 ### 3. 跑单测 在**仓库根目录**: ```bash pytest test/registered/unit/ -v pytest test/registered/unit/server_args/ -v ``` ### 4. pre-commit(可选) ```bash pip install pre-commit pre-commit install pre-commit run --all-files # 修格式 + 跑单测;若有 Fixing,再 git add 后 commit git add -A && git commit -m "..." ``` ## 文档 入口:[docs/README.md](docs/README.md) · 主线:[从零写推理框架方案](docs/从零写推理框架方案.md) ### 入门 | 文档 | 内容 | |------|------| | [开发环境搭建](docs/开发指导/开发环境搭建.md) | 安装、依赖、启动、单测、pre-commit | | [从零写推理框架方案](docs/从零写推理框架方案.md) | 路线、Phase、验收标准 | ### 专题(`docs/专题/`) | 文档 | 内容 | |------|------| | [Qwen36推理链路](docs/专题/Qwen36推理链路.md) | Python → kernel 全链路 + 排障 | | [KV缓存注意力与批处理](docs/专题/KV缓存注意力与批处理.md) | KV / PagedAttention / 连续批处理 | | [HTTP与RPC入口指南](docs/专题/HTTP与RPC入口指南.md) | server_args / http_server / engine 对照 | | [PyTorch后端v1方案](docs/专题/PyTorch后端v1方案.md) | 无 flashinfer 的 PyTorch 后端 | | [AOT内核构建手册](docs/专题/AOT内核构建手册.md) | JIT/AOT、kernel 构建 | ### SGLang 对照(`docs/SGLang对照/`) | 文档 | 内容 | |------|------| | [SGLang技巧点清单](docs/SGLang对照/SGLang技巧点清单.md) | 特性清单与阶段 | | [SGLang工程地图](docs/SGLang对照/SGLang工程地图.md) | SGLang 目录与阅读顺序 | ## 与 SGLang 的关系 - **目录**:`python/minllm/srt/` 对齐 `python/sglang/srt/` - **模型实现对照**:SGLang `srt/models/qwen3_5.py` - **版本 pin**:torch 2.11.0、transformers 5.8.1 等见 [开发环境搭建](docs/开发指导/开发环境搭建.md) - **验收**:同权重、greedy、同 prompt → 与 `sglang serve` 逐 token 一致 ## License Apache-2.0