Files
sentinel-home-ai/PROGRESS.md
ericwyuan 47658fa068 [deploy] PyMySQL 替换 + Tailscale 组网 + config.yaml + 路径修复
- db_layer.py: mysql-connector-python(19MB) → PyMySQL(45KB), 去掉连接池
- config_loader.py: 修复路径解析 (2级→3级 dirname), FAM-Core + FAM-Edge 均修复
- Tailscale 组网完成: Oracle=100.74.137.126, NAS=100.70.234.39, 互通验证通过
- NAS Python 依赖: flask/gunicorn/pymysql/PyYAML 全部安装成功
- NAS 代码部署: /volume1/web/sentinel-home-ai/, FAM-Core 7 模块导入 PASS
- NAS DB 连接验证: PyMySQL → MariaDB 10.11.11, 6 张表可见, PASS
- config.yaml 创建: FAM-Core + FAM-Edge + FAM-UI (Tailscale IP + 密码)
- requirements.txt: mysql-connector-python → PyMySQL
2026-08-19 23:27:28 +08:00

4.7 KiB
Raw Blame History

项目进度追踪

最后更新: 2026-08-19 23:06

环境状态

Oracle Cloud (129.146.203.203) - FAM-Edge 节点

项目 状态 备注
OS Ubuntu 20.04 ARM64 Ampere A1 2C12G
Python 3.8.10 python3-venv 已安装
pip 25.0.1 (venv内)
FFmpeg 已安装 apt 安装
Ollama 0.32.14
llava-phi3:latest 2.9 GB 已拉取
Python 依赖 全部安装成功 flask, gunicorn, requests, PyYAML, opencv, numpy
模块导入验证 PASS FAM-Edge 全部 8 个模块导入正常
代码部署 /opt/fam-edge/ rsync 同步
venv /opt/fam-edge/venv/ 已创建
Tailscale 1.102.2 已安装 待用户认证

Synology NAS (192.168.50.64) - FAM-Core + FAM-UI 节点

项目 状态 备注
型号 DS220+ (Geminilake) DSM 7
Python 3.8.15
pip3 未安装 待安装
MariaDB 10.11.11 已运行 端口 3306, root 密码 iLoveJava5!
sentinel_home_ai 库 6 张表已创建 DDL 执行成功
Docker 24.0.2 (ContainerManager) 路径 /var/packages/ContainerManager/target/usr/bin/docker
Tailscale 已运行 IP: 100.70.234.39, hostname: ericwyuan-nas
Streamlit 未安装 待安装

网络互通 (Tailscale)

节点 Tailscale IP 状态
NAS (ericwyuan-nas) 100.70.234.39 已连接
Oracle (oracle-fam-edge) 待认证 需用户访问认证 URL
当前方案 Oracle Tailscale 待认证,认证后可直连

模型可行性基准测试 (Task 1.4)

测试环境

  • Oracle Ampere A1 2C12G ARM64
  • Ollama 0.32.14 + llava-phi3:latest (2.9 GB)
  • Python 3.8.10 + requests

测试结果

场景 加载时间 Prompt 处理 生成时间 Token 数 总耗时 是否达标(≤8s)
冷启动 (首次推理) 54.56s 37.40s 17.22s 86 109.21s 否 (首次加载)
预热 (无限制) 0.06s 0.20s 13.06s 65 13.35s
预热 (num_predict=30) 0.07s 1.41s 2.83s 15 4.34s PASS

结论

  1. 冷启动延迟: 首次推理需加载 2.9GB 模型到内存,耗时 ~55s。建议通过 systemd keep-alive 或定时心跳保持模型常驻
  2. 预热性能: 模型加载后,单图推理可控制在 4-5s限制输出 30 token满足 ≤8s 设计目标
  3. ARM CPU 瓶颈: token 生成速度 ~0.1-0.2s/token多帧分析(5-8帧)需合理设置 num_predict(默认 500)
  4. 已优化: OllamaAdapter 新增 num_predict 可配置参数,默认 500

任务进度

已完成

# 任务 提交 日期
1 项目骨架 + 全部 Python 模块代码 d741ade 2026-08-19
2 DDL 数据库建表脚本 d741ade 2026-08-19
3 部署脚本 + 文档 d741ade 2026-08-19
4 init.py 导出链路 c45464c 2026-08-19
5 Storage-Cleaner 补全 5e4587b 2026-08-19
6 服务器凭证写入 README ba905d2 2026-08-19
7 requirements.txt 兼容 Python 3.8 c1bfac5 2026-08-19
8 Oracle 部署: venv + 依赖 + 导入验证 50d8353 2026-08-19
9 模型基准测试 (llava-phi3 ≤8s PASS) 50d8353 2026-08-19
10 OllamaAdapter 优化 (num_predict) 50d8353 2026-08-19
11 Tailscale 安装 (Oracle + NAS) + 认证 e5ac667 2026-08-19
12 NAS MariaDB DDL 执行 (6 张表) e5ac667 2026-08-19
13 db_layer.py 切换 PyMySQL (45KB 替代 19MB) 进行中 2026-08-19
14 config_loader.py 路径修复 (3 级 dirname) 进行中 2026-08-19
15 NAS Python 依赖安装 (flask/gunicorn/pymysql/PyYAML) 进行中 2026-08-19
16 NAS 代码部署 + FAM-Core 导入验证 PASS 进行中 2026-08-19
17 NAS DB 连接验证 PASS (PyMySQL → MariaDB 10.11.11) 进行中 2026-08-19
18 config.yaml 实际配置 (FAM-Core + FAM-Edge + FAM-UI) 进行中 2026-08-19

待完成

# 任务 依赖 优先级
19 NAS 启动 FAM-Core (gunicorn) 依赖安装
20 Oracle 启动 FAM-Edge (gunicorn) 依赖安装
21 NAS 安装 Streamlit + 部署 FAM-UI pip3
22 端到端集成测试 FAM-Core + FAM-Edge 启动
23 单元测试 (JSON parser, circuit breaker, schema) -

技术决策记录

  1. 移除 google-generativeai SDK 硬依赖 - 代码用 requests 直接调 REST API兼容 Python 3.8
  2. rsync 替代 git clone - Oracle 无法直连 NAS Gitea (无 Tailscale),用 rsync 从本地同步
  3. num_predict 参数 - ARM CPU 上 llava-phi3 生成速度较慢,限制输出 token 数控制延迟