运行时依赖
安装命令
点击复制技能文档
FlagRelease 流水线编排器 用于多芯GPU后端的端到端LLM部署和测试流水线。 该流水线编排器按顺序调用4个子技能,并生成最终报告。 技能组件 flagrelease/ ├── SKILL.md # 本文件 — 编排流程 └── references/ └── pipeline-state.md # 流水线状态模式、门逻辑、数据流 子技能(每个都可以独立调用): ../install-stack/ # 步骤2:安装5个包 │ ├── SKILL.md │ ├── scripts/ │ │ ├── detect_network.py # 探测GitHub/PyPI,返回镜像配置 │ │ ├── collect_env_info.py # 获取Python/glibc/arch/vendor/disk信息 │ │ ├── select_flagtree_wheel.py # 匹配vendor+python+glibc → wheel │ │ └── validate_packages.py # 导入测试所有5个包 │ └── references/ │ ├── vendor-mappings.md # FlagCX make标志,适配器名称 │ └── network-mirrors.md # 镜像配置规则 ../env-verify/ # 步骤3:Qwen3-0.6B烟雾测试 │ ├── SKILL.md │ ├── scripts/ │ │ ├── run_offline_inference.py # 阶段A:离线推理测试 │ │ └── test_serve_mode.py # 阶段B:服务 + 健康 + 聊天测试 │ └── references/ │ └── error-classification.md # 基于层的错误分类 ../model-verify/ # 步骤4:目标模型 ± 多芯 │ ├── SKILL.md │ ├── scripts/ │ │ └── diff_analysis.py # 比较Run A和Run B结果 │ └── references/ │ └── multichip-errors.md # 多芯错误模式 ../perf-test/ # 步骤5+6:准确性 + 性能 │ ├── SKILL.md │ ├── scripts/ │ │ ├── run_benchmark.py # 运行单个基准测试配置文件 │ │ └── run_all_benchmarks.py # 运行所有配置文件 + 总结 │ └── references/ │ └── benchmark-profiles.md # 配置文件定义和指标 流水线概述 [先决条件:/gpu-container-setup已经由另一个团队完成] │ ▼ install-stack → 安装5个包(vLLM,FlagTree,FlagGems,FlagCX,插件) │ scripts:detect_network,collect_env_info,select_flagtree_wheel │ │ GATE:vLLM + 插件必须成功 ▼ env-verify → 烟雾测试与Qwen3-0.6B(FlagGems/CX关闭) │ scripts:run_offline_inference,test_serve_mode │ │ 验证层0-3 ▼ model-verify → 目标模型测试(关闭然后打开),差异分析 │ scripts:run_offline_inference,test_serve_mode,diff_analysis │ │ 确定哪个堆栈有效(完整 vs 基础) ▼ perf-test → 准确性(占位符)+ 性能基准测试 │ scripts:run_benchmark,run_all_benchmarks ▼ 最终报告 先决条件 一个运行的Docker容器,具有: PyTorch已安装且GPU可访问 容器名称已知(例如flagrelease-worker) 该容器由/gpu-container-setup产生(由另一个团队维护)。 执行流程 阅读references/pipeline-state.md以获取完整的状态模式和门逻辑。 步骤0:收集初始上下文 询问用户容器名称(或检测运行容器):docker ps --format '{{.Names}}' | head -10 验证容器正在运行:docker inspect --format='{{.State.Status}}' | grep -q running 初始化流水线状态(见references/pipeline-state.md)。 步骤1:安装软件堆栈 阅读并遵循../install-stack/SKILL.md。 install-stack技能将: 将scripts/collect_env_info.py复制到容器中 → 获取vendor,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) 重用run_offline_inference.py和test_serve_mode.py用于Run A和Run B 运行scripts/diff_analysis.py以比较结果 确定recommended_stack(完整/基础/无) 决策:如果recommended_stack为无(Run A失败)→ 停止。 将结果存储在流水线状态中(包括model_path,tp_size,recommended_stack)。 步骤4:性能测试 阅读并遵循../perf-test/SKILL.md。 perf-test技能将: 运行单个基准测试配置文件 运行所有配置文件 + 总结 将结果存储在流水线状态中。 最终报告 将所有结果存储在流水线状态中。 生成最终报告。