2.9 KiB
2.9 KiB
单个旧脚本接入计划
已被新方案覆盖:没有实施本文的 Rundeck/UNIX socket 集成。当前采用专用控制台与私有执行器,见 console-plan.md。原始副本仍保持不变。
日期:2026-10-13。用户已选择轻量功能检查,并明确只复制一份脚本,保留写死的 GPU、端口、路径,不修改其他维护者工作区;结果和日志需在控制台可见。
范围
只复制 20261010-dsv41-trial/scripts/smoke.sh,字节和 SHA-256 保持一致。它包含一次模型列表 GET 和三个顺序推理请求,每个请求原有 max_tokens=512。完整 functional_check.py 含长上下文,不纳入本次。
新增独立 CPU 执行容器,复用现有镜像的 Bash/curl/Python,不安装模型或开启 GPU 设备。容器内回环 18100 适配原脚本固定地址,转发到已有模型服务;代理只允许固定模型、固定路径及最多三个推理请求,不自动重试。原认证文件仅单文件只读挂载,在启动时读入内存后降为现有 UID 1000;不复制密钥、不写入环境或日志。
Rundeck 通过项目结果目录中的专用 UNIX socket 调用固定任务。任务定义由 Git 工作区中的客户端源文件生成后导入数据库,不从 Git 自动拉取。执行容器只运行原样副本,结果保存在本项目 runtime/results/legacy/<执行编号>,日志流和中文逐项汇总回传控制台。
行为约束
- 原脚本只复制一个;源工作区只读。
- 不启动、停止、重启模型服务,不更改 GPU 分配。
- 每次最多 1 个模型列表请求、3 个推理请求,顺序执行,无自动重试;总时限 180 秒。
- 请求转发前持久化次数;同一执行编号不重复运行,服务重启不重置记录。
- 同时只允许一个旧脚本任务,重复或并发请求拒绝。
- 取消关闭本次客户端和进程组,阻止新请求;已提交的上游请求取消不能保证,记录结果未知。
- 模型结果完整性和接口成功分别判断,不能把退出 0 或截断回答当作通过;不宣称完成标准模型质量评测。
- 密钥和上游认证头不进入命令参数、文件、Git 或网页日志。
实施步骤
- 原样复制并核对哈希;备份本项目受影响配置。
- 编写并验证请求预算、结果判定、日志脱敏和旧脚本进程生命周期。
- 配置隔离执行容器和固定 UNIX socket 客户端,登记一个网页任务。
- 在无网络隔离容器内用模拟上游验证原脚本、超时、取消、重复编号与恢复路径。
- 真实调用只运行一轮:1 GET + 3 推理请求,不因模型失败自动重跑。
- 浏览器核对日志与结果;记录请求次数、原脚本哈希、原模型容器状态;更新维护说明。
所有 Git 改动保持未暂存、未提交、未推送。测试结果真实失败时保留失败证据,不修改原脚本参数来制造通过。