diff --git a/AGENTS.md b/AGENTS.md index 7b61735..90c8432 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -18,7 +18,7 @@ 4. `miniapp/` — 微信小程序(Taro 4 + React + TypeScript + Sass);`project.config.json` 的 `miniprogramRoot` 指向 `dist/`,该目录是 Taro 构建产物,不得手改。 5. `wvp/` — WVP-PRO + ZLMediaKit 视频平台(`docker-compose.yml` 包含 WVP、ZLMediaKit、MySQL、Redis),并含 `recorder-go`(Go 连续录制服务,默认 :9090)与 Dockerfile。 6. 根目录文档 — `README.md`、`部署指南(物理机).md`、`变更记录.md`、`故障排查处理记录.md`、`物联网设备接口和数据格式.md`、`后续工作计划.md`(规格书 V2.1 的工作清单与技术选型决策)等为项目说明、规划与部署运维依据。 -7. `ai-service/`(规划中)— Python FastAPI + ONNX Runtime AI 推理微服务(YOLO 蚕病检测、图像/光谱分析),独立部署于 Tesla P4 GPU 服务器,与 Go 后端通过 HTTP/gRPC 通信;技术方向为「现有 Go 底座 + Python AI 微服务」混合架构,详细规划见 `后续工作计划.md`。 +7. `ai-service/`(规划中)— Python FastAPI + ONNX Runtime AI 推理微服务(YOLO 蚕病检测、图像/光谱分析),生产部署于云 GPU 主机(NVIDIA T4 16G),与 Go 后端通过 HTTP/gRPC 通信;模型训练在本地 fnOS/P4 物理机完成。技术方向为「现有 Go 底座 + Python AI 微服务」混合架构,生产环境全部上云(业务云主机 + GPU 云主机 + 云对象存储),本地仅用于开发/训练/测试,详细规划见 `后续工作计划.md`。 生成文件及其来源命令: @@ -47,7 +47,7 @@ 6. 选择未明确指定的技术栈、包管理器、数据库、运行时、部署目标或外部服务前,必须先获得用户确认。 7. 初始化项目时,如果技术栈尚未明确,应先让用户选择技术栈,再创建项目文件。 8. 不得将密钥写入需要提交的文件;需要环境配置时使用占位值创建 `.env.example`。 -9. AI 推理服务(规划中):Python 3.11 + 虚拟环境,PyTorch(cu121/cu124 wheel,兼容 Tesla P4)+ ultralytics;训练与推理在远程 fnOS 服务器(i7-8700T / 62G / Tesla P4 8G)上进行,模型导出 ONNX 后由 FastAPI 服务加载;数据集路径 `/vol1/ai/datasets`。 +9. AI 推理服务(规划中):Python 3.11 + 虚拟环境,PyTorch(cu121/cu124 wheel,兼容 Tesla P4)+ ultralytics;模型训练在本地 fnOS 服务器(i7-8700T / 62G / Tesla P4 8G,数据集路径 `/vol1/ai/datasets`)完成,导出 ONNX 后部署到云 GPU 主机(T4 16G)由 FastAPI 服务加载。 ## 验证 diff --git a/后续工作计划.md b/后续工作计划.md index ba0d7ff..a42ab67 100644 --- a/后续工作计划.md +++ b/后续工作计划.md @@ -7,10 +7,25 @@ **采用混合架构:现有 Go 底座 + Python AI 微服务** - 平台/业务:沿用 `server-go`(Go/Gin/GORM、PostgreSQL、IoTDB、Valkey/Redis、VerneMQ、Ceph S3、WVP+ZLM 等现有能力) -- AI 能力:新建独立 Python 服务 `ai-service/`(FastAPI + ONNX Runtime),承载 YOLO 检测、图像/光谱分析,部署于 Tesla P4 GPU 服务器 +- AI 能力:新建独立 Python 服务 `ai-service/`(FastAPI + ONNX Runtime),承载 YOLO 检测、图像/光谱分析 - 通信:Go 后端 ↔ AI 服务通过 HTTP/gRPC;摄像头流巡检由 AI 服务直接消费 ZLMediaKit 流 - 端侧:农户端微信小程序沿用现有 Taro miniapp;端侧 ONNX 推理作为后续优化项 +**部署决策(2026-08-11 确定):生产环境全部上云,本地仅用于开发/训练/测试** + +- 生产:业务云主机 + GPU 云主机(NVIDIA T4 16G)+ 云对象存储(OSS/COS),同地域同 VPC 内网互通 +- 本地(开发 VM + fnOS/i7-8700T/Tesla P4 物理机):仅做代码开发、YOLO 模型训练、数据集处理与功能测试;训练产物(`best.onnx` 等)上传云端部署 + +## 云部署配置(2026-08-11 确定) + +| 资源 | 推荐配置 | 用途 | +|---|---|---| +| 业务云主机 | 8 vCPU / 32GB / 100GB SSD 系统盘 + 500GB SSD 数据盘,10Mbps 起步(视频多则按量),Debian 12 / Ubuntu 22.04,华南或华东 | Go 后端、PostgreSQL、IoTDB、VerneMQ、Valkey、Docker(WVP/ZLM/MySQL/Redis)、recorder-go、前端 | +| GPU 云主机 | NVIDIA T4 16G,8 vCPU / 32GB / 100GB SSD,与业务主机同 VPC | `ai-service`(ONNX Runtime 推理),不承担训练 | +| 云对象存储 | OSS/COS:录像 bucket + 图片 bucket,配置生命周期(录像按保留期转低频/删除) | 替代 Ceph(现有 loop 100GB 容量/性能受限) | +| 网络与入口 | 域名 + HTTPS 证书(小程序合法域名需 ICP 备案)、负载均衡(可选)、CDN(模型/静态资源分发) | 对外访问与端侧模型更新 | +| 数据库 | 优先云 RDS(高可用+自动备份);成本敏感则业务主机自装 + 每日备份 + 云盘快照 | PostgreSQL 业务数据 | + ## 一、前置准备(P0) - [ ] 1. 修复数据集:按原始图重新划分 train/valid/test(消除 Roboflow 增强副本导致的跨集泄漏);修正 `data.yaml`(`heathly` → `healthy`、绝对路径);删除空标签 @@ -67,4 +82,5 @@ - [ ] 时序数据库:IoTDB(现状)还是 TDengine(规格书) - [ ] 数据集病种扩展:由二分类(healthy/sick)扩展为 7 类病种标注(影响 AI 巡检与溯源联动) -- [ ] AI 服务部署形态:Docker(nvidia-container-toolkit)还是 systemd 裸进程 +- [x] AI 服务部署形态:已定——云 GPU 主机(T4 16G),容器化部署 +- [x] 对象存储:已定——云 OSS/COS,替代 Ceph