staging worker 原本跑 WORKER_MODE=stub(假轉檔、產佔位 NEF),visionA 因此反映拿到的是 stub。本次讓真實轉檔上線並打通 onnx→bie→nef 完整鏈路。
新增:
- services/workers/Dockerfile.real:真實版 worker image,COPY repo 自帶 ktc/ + toolchain/prebuild(2GB),設 USE_PREBUILD/LD_LIBRARY_PATH/PYTHONPATH/KTC_DISABLE_MP/WORKER_MODE=real;排除 libs/dynasty+libs/compiler 省 3.2G
- .dockerignore:控制 build context(排除被 USE_PREBUILD 取代的舊系統 binaries)
- docker-compose.real.yml:override 三 worker 改用 registry image,保留 base stub build 供一鍵 rollback
修正(e2e 抓到的兩個問題):
- jobService.js: ref_images S3 key 由 jobs/{id}/ref_images/ 改為 jobs/{id}/input/ref_images/,對齊系統主約定(local.js/legacy.js/bie worker consumer.py),修好 bie 量化抓不到 dataset 的 blocker。加 contract guard test 鎖死寫入 prefix == worker 讀取 prefix
- security.md: 同步 ref_images S3 key 路徑描述
驗證(staging e2e):
- platform 530(與模型相符)下 onnx→bie→nef 全綠,產真 NEF 636KB(合法 FlatBuffer、非 STUB),/result 可拉、結果上 MinIO
- 已知約定:呼叫端 platform 必須與模型量化 platform 一致(配錯會在 bie 量化階段失敗)
scheduler 全套件 667 tests pass。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
43 lines
1.8 KiB
YAML
43 lines
1.8 KiB
YAML
##
|
||
# Kneron Model Converter — REAL worker override(真實轉檔版)
|
||
#
|
||
# 用途:把 onnx/bie/nef 三個 worker 從 stub 切成真實轉檔 image
|
||
# (jim800121/kneron-model-converter-worker:real-20260622)
|
||
#
|
||
# 部署(staging):
|
||
# export DOCKER_HOST=tcp://192.168.0.130:2375
|
||
# docker compose -f docker-compose.yml -f docker-compose.real.yml pull onnx-worker bie-worker nef-worker
|
||
# docker compose -f docker-compose.yml -f docker-compose.real.yml up -d onnx-worker bie-worker nef-worker
|
||
#
|
||
# Rollback 回 stub(秒退、不靠 Docker Hub):
|
||
# export DOCKER_HOST=tcp://192.168.0.130:2375
|
||
# # 直接用 base compose(不帶 -f docker-compose.real.yml)重啟,會用回本地 stub image:
|
||
# docker compose -f docker-compose.yml up -d --build onnx-worker bie-worker nef-worker
|
||
# # (stub image 還在 staging 本地;--build 確保用回 Dockerfile.stub。
|
||
# # 或更快:base compose 的 stub image 還在,省略 --build 直接 up -d 即用回原 stub container)
|
||
#
|
||
# 設計:override 只覆寫「image / WORKER_MODE」,其餘(STAGE / REDIS / MinIO env / volumes /
|
||
# depends_on / restart)沿用 base compose。base 的 build: 區段保留不刪 → rollback 乾淨。
|
||
# STORAGE_BACKEND=minio 由 .env 提供(已驗證),三個 worker 沿用 base 的
|
||
# STORAGE_BACKEND=${STORAGE_BACKEND:-local} → 最終生效 minio。
|
||
##
|
||
|
||
services:
|
||
onnx-worker:
|
||
image: jim800121/kneron-model-converter-worker:real-20260622
|
||
pull_policy: always
|
||
environment:
|
||
- WORKER_MODE=real
|
||
|
||
bie-worker:
|
||
image: jim800121/kneron-model-converter-worker:real-20260622
|
||
pull_policy: always
|
||
environment:
|
||
- WORKER_MODE=real
|
||
|
||
nef-worker:
|
||
image: jim800121/kneron-model-converter-worker:real-20260622
|
||
pull_policy: always
|
||
environment:
|
||
- WORKER_MODE=real
|