关于 flagrelease-entrance-flagos
flagrelease-entrance-flagos 在 GPU 容器中编排 LLM 部署、验证和性能测试,面向验证多芯片 GPU 软件栈的团队。它按顺序调用多个技能,并通过门控步骤汇总结果。
主要功能
- 01依次执行安装、环境与模型检查
- 02对比目标模型的多芯片软件栈
- 03运行五种性能测试配置
- 04生成结构化状态与错误报告
- 05通过超时和门控处理失败
适用场景
- 01验证多芯片 GPU 部署
- 02比较模型启用与未启用多芯片软件栈的表现
- 03汇总基准测试结果与部署状态
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ flagos-ai/ skills --skill flagrelease-entrance-flagos安装后在 Claude Code 中输入/flagrelease-entrance-flagos确认已加载。
附带文件references/pipeline-state.md
详细介绍
FlagRelease 流水线编排器
面向多芯片 GPU 后端的端到端大模型部署与测试流水线。 按顺序编排 4 个子技能并生成最终报告。
技能组件
flagrelease/
├── SKILL.md # This file — orchestration flow
└── references/
└── pipeline-state.md # Pipeline state schema, gate logic, data flow
子技能(均可独立调用):
../install-stack/ # Step 2: Install 5 packages
│ ├── SKILL.md
│ ├── scripts/
│ │ ├── detect_network.py # Probe GitHub/PyPI, return mirror config
│ │ ├── collect_env_info.py # Python/glibc/arch/vendor/disk info
│ │ ├── select_flagtree_wheel.py # Match vendor+python+glibc → wheel
│ │ └── validate_packages.py # Import-test all 5 packages
│ └── references/
│ ├── vendor-mappings.md # FlagCX make flags, adaptor names
│ └── network-mirrors.md # Mirror config rules
../env-verify/ # Step 3: Qwen3-0.6B smoke test
│ ├── SKILL.md
│ ├── scripts/
│ │ ├── run_offline_inference.py # Phase A: offline inference test
│ │ └── test_serve_mode.py # Phase B: serve + health + chat test
│ └── references/
│ └── error-classification.md # Layer-based error classification
../model-verify/ # Step 4: Target model ± multi-chip
│ ├── SKILL.md
│ ├── scripts/
│ │ └── diff_analysis.py # Compare Run A vs Run B results
│ └── references/
│ └── multichip-errors.md # Multi-chip error patterns
../perf-test/ # Steps 5+6: Accuracy + Performance
│ ├── SKILL.md
│ ├── scripts/
│ │ ├── run_benchmark.py # Run single benchmark profile
│ │ └── run_all_benchmarks.py # Run all profiles + summarize
│ └── references/
│ └── benchmark-profiles.md # Profile definitions and metrics
流水线概览
[Prerequisite: /gpu-container-setup already done by another team]
│
▼
install-stack → Install 5 packages (vLLM, FlagTree, FlagGems, FlagCX, plugin)
│ scripts: detect_network, collect_env_info, select_flagtree_wheel
│
│ GATE: vLLM + plugin must succeed
▼
env-verify → Smoke test with Qwen3-0.6B (FlagGems/CX OFF)
│ scripts: run_offline_inference, test_serve_mode
│
│ Verify Layers 0-3
▼
model-verify → Target model test (OFF then ON), diff analysis
│ scripts: run_offline_inference, test_serve_mode, diff_analysis
│
│ Determine which stack works (full vs base)
▼
perf-test → Accuracy (placeholder) + Performance benchmarks
│ scripts: run_benchmark, run_all_benchmarks
▼
Final Report
前提条件
运行中的 Docker 容器,且具备:
- 已安装 PyTorch,并可访问 GPU
- 已知容器名称(例如
flagrelease-worker)
此容器由 /gpu-container-setup 创建(由另一个团队维护)。
执行流程
阅读 references/pipeline-state.md,了解完整的状态架构和门控逻辑。
步骤 0:收集初始信息
向用户询问容器名称(或检测正在运行的容器):
docker ps --format '{{.Names}}' | head -10
确认容器正在运行:
docker inspect --format='{{.State.Status}}' <CONTAINER> | grep -q running
初始化流水线状态(参见 references/pipeline-state.md)。
步骤 1:安装软件栈
阅读并遵循 ../install-stack/SKILL.md。
install-stack 技能将:
- 将
scripts/collect_env_info.py复制到容器中 → 获取厂商、Python 和 glibc 信息 - 将
scripts/detect_network.py复制到容器中 → 获取镜像配置 - 按顺序安装 5 个包,并使用
scripts/select_flagtree_wheel.py安装 FlagTree - 在容器内运行
scripts/validate_packages.py→ 获取最终状态
门控检查: 如果 gate_passed 为 false(vLLM 或插件安装失败)→ 停止流水线。
报告失败,并提供安装错误。
将结果保存到流水线状态中。
步骤 2:环境验证
阅读并遵循 ../env-verify/SKILL.md。
env-verify 技能将:
- 下载 Qwen3-0.6B(如果尚未缓存)
- 将
scripts/run_offline_inference.py复制到容器中 → 阶段 A - 将
scripts/test_serve_mode.py复制到容器中 → 阶段 B - 使用
references/error-classification.md对错误进行分类
决策: 遇到致命错误时停止。遇到非致命错误时记录并继续。
将结果保存到流水线状态中。
步骤 3:模型验证
阅读并遵循 ../model-verify/SKILL.md。
此步骤为交互式——将询问用户模型路径。
model-verify 技能将:
- 获取用户提供的模型信息(AskUserQuestion)
- 对运行 A 和运行 B 重用
run_offline_inference.py和test_serve_mode.py - 运行
scripts/diff_analysis.py比较结果 - 确定
recommended_stack(full/base/none)
决策: 如果 recommended_stack 为 none(运行 A 失败)→ 停止。
将结果保存到流水线状态中(包括 model_path、tp_size、recommended_stack)。
步骤 4:性能测试
阅读并遵循 ../perf-test/SKILL.md。
perf-test 技能将:
- 使用推荐的软件栈启动 vllm serve
- 将
scripts/run_all_benchmarks.py复制到容器中 → 运行 5 种配置 - 收集指标并生成汇总表
将结果保存到流水线状态中。
步骤 5:最终报告
将流水线状态中的所有结果汇总为最终报告:
{
"status": "PASS | PARTIAL | FAIL",
"pipeline": "flagrelease",
"container": "<name>",
"vendor": "<vendor>",
"model": "<path>",
"tensor_parallel_size": 8,
"steps": {
"install_stack": { "status": "...", "packages": {...} },
"env_verify": { "status": "...", "phase_a": "...", "phase_b": "..." },
"model_verify": { "status": "...", "run_a": "...", "run_b": "...", "recommended_stack": "..." },
"perf_test": { "status": "...", "profiles_passed": "5/5", "summary_table": "..." }
},
"errors": [...],
"conclusion": "Pipeline completed. ..."
}
向用户清晰地展示以下摘要:
- 安装成功或失败的包
- 基础软件栈是否正常工作
- 多芯片软件栈是否正常工作(若否,指出失败组件)
- 性能数据(汇总表)
- 按层分类的所有错误
总体状态:
PASS— 所有步骤均通过,多芯片软件栈完整可用PARTIAL— 模型可在降级软件栈下运行,或部分性能配置测试失败FAIL— 模型无法提供服务(门控失败或运行 A 失败)
设计规则
- 每项操作都有超时时限——不允许卡住
- 捕获每个错误,并准确记录位置(步骤、阶段、层、原因)
- 流水线始终会完成,并生成成功报告或结构化错误报告
- 某个子步骤失败不会导致无关步骤跳过(门控失败除外)
- 直接访问失败时使用网络镜像
- 脚本生成 JSON——结构化、可解析且可跨运行比较