修复AI模型不可用状态交互

- AI智能分割页禁用不可用SAM2.1模型变体,并在模型状态未可用时阻止推理请求。

- 分割工作区AI自动推理在提交传播前校验模型状态,所有模型不可用时禁用入口,当前权重不可用时禁用开始传播。

- 传播权重下拉标记并禁用不可用权重,避免提交后无结果的假可用状态。

- 补充AI页和工作区模型不可用回归测试,扩展默认测试状态覆盖四个SAM2.1变体。

- 更新前端元素审计、交互状态机、测试计划和Docker/GPU部署说明。
This commit is contained in:
2026-05-07 17:08:40 +08:00
parent 9cde34b2fc
commit c8a78a1038
8 changed files with 178 additions and 19 deletions

View File

@@ -27,6 +27,14 @@
| 视频处理 | FFmpeg |
| GPU | NVIDIA GPU + CUDA用于 SAM 2.1 推理;无 GPU 时可 CPU 运行但会很慢 |
Docker GPU 部署还需要宿主机安装 NVIDIA Container Toolkit并确保以下命令可正常输出 GPU
```bash
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
```
如果这里报 `failed to discover GPU vendor from CDI`,说明 Docker 还没有拿到 GPU即使宿主机 `nvidia-smi` 正常,容器内仍会显示 CPU。
安装系统依赖:
```bash
@@ -68,6 +76,48 @@ cd /home/wkmgc/Desktop/Seg_Server
---
## 2.1 Docker 最小部署
当前仓库旁的 `/home/wkmgc/Desktop/Seg_Server_Docker` 是最小 Docker 部署目录包含前端、FastAPI 后端、Celery worker、PostgreSQL、Redis、MinIO、演示视频/DICOM 数据和部署文档。
编辑 `.env`
```bash
cd /home/wkmgc/Desktop/Seg_Server_Docker
cp .env.example .env
```
关键配置:
```ini
PUBLIC_HOST=192.168.3.11
CORS_ORIGINS=["http://192.168.3.11:3000","http://localhost:3000","http://127.0.0.1:3000"]
SAM_MODELS_DIR=/home/wkmgc/Desktop/Seg_Server/models
```
`SAM_MODELS_DIR` 会挂载到容器内 `/app/models`。当前后端镜像安装 PyTorch/SAM2 后,只有这里存在 checkpoint 的 SAM 2.1 变体会显示可用;如果没有 NVIDIA Container Toolkit模型可在 CPU 上可用,但 GPU 状态仍是 CPU。
启动普通容器:
```bash
docker compose up -d --build
```
启动 GPU 容器:
```bash
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d --build
```
验证:
```bash
docker compose ps
curl http://localhost:8000/health
```
---
## 3. 配置 PostgreSQL
默认后端配置来自 `backend/config.py`