build: local stack, container images and the end-to-end smoke script

docker-compose brings up PostgreSQL 16 with pgvector and Redis 7 on
non-standard host ports so it never collides with an existing local database.
scripts/smoke.sh is the proof: compose, migrate, boot the API, issue a token,
call the real DeepSeek API and print the resulting ob_ai_call and bl_ledger
rows. services/vision and services/matting are placeholders noting that the
local RTX 5090 makes BiRefNet and RTMPose developable without cloud GPU.
This commit is contained in:
xsl
2026-08-14 00:26:39 +08:00
parent 93b88db2f5
commit 8a4720472b
14 changed files with 481 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# `services/vision/` — 视觉服务(占位)
架构 §8.2。独立服务,CPU + ONNX。
```
POST /internal/vision/analyze
├─ segment_portrait 腾讯云 SegmentPortraitPic → 前景掩膜
├─ body_keypoints RTMPose ONNX(自建,腾讯云已下线,ADR-06)
├─ face_landmarks 腾讯云 AnalyzeFace(90点) / AnalyzeDenseLandmarks(888点)
├─ face_attributes 腾讯云 DetectFaceAttributes
├─ color_sampling 自研:按关键点定位采样区 → Lab,稳健统计(去高光/阴影)
└─ body_measure 自研:掩膜宽度剖面法(TD-06、ADR-07)
返回:结构化特征 + 每项置信度 + 质量问题标记
```
## 本地有 RTX 5090
**RTMPose ONNX 推理可以完全在本地开发和调参,不需要租云 GPU。**
准确率验证(体型 ≥ 80%、季型 ≥ 75%、脸型 ≥ 80%,各 30~50 样本,FR-RPT-05)
也可以在本地跑完。
## 质量门禁必须前置
架构 §8.2:图片质量不达标(多人、遮挡、侧脸过大、光线过暗)应在分析**前**就
返回明确的重拍指引,而不是硬算出一个低置信度结果。
**用户宁愿重拍一次,也不愿收到一份错的报告。**
## 人脸原图
不落盘。处理完立即删除(TD-20 / CR-02)。只返回派生特征。