- Oracle 依赖安装: flask/gunicorn/requests/PyYAML/opencv/numpy 全部成功 - FAM-Edge 全部 8 个模块导入验证 PASS - llava-phi3 基准测试: 冷启动 109s, 预热无限制 13.35s, 预热+num_predict=30 仅 4.34s PASS - OllamaAdapter 新增 num_predict 可配置参数 (默认 500) - config.yaml.example 新增 num_predict 配置项 - 创建 PROGRESS.md 进度追踪文档
95 lines
4.0 KiB
Markdown
95 lines
4.0 KiB
Markdown
# 项目进度追踪
|
||
|
||
> 最后更新: 2026-08-19 22:50
|
||
|
||
## 环境状态
|
||
|
||
### 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/ | 已创建 |
|
||
|
||
### Synology NAS (192.168.50.64) - FAM-Core + FAM-UI 节点
|
||
| 项目 | 状态 | 备注 |
|
||
|------|------|------|
|
||
| Python | 3.8.15 | |
|
||
| pip3 | 未安装 | 待安装 |
|
||
| MariaDB | 未安装 | 待安装 |
|
||
| Streamlit | 未安装 | 待安装 |
|
||
| Tailscale | 未安装 | 待安装 |
|
||
|
||
### 网络互通
|
||
| 项目 | 状态 |
|
||
|------|------|
|
||
| Tailscale | 未安装(两台均未装) |
|
||
| Oracle -> NAS Gitea | 不通(192.168.50.64 不可达) |
|
||
| 当前方案 | rsync 同步代码到 Oracle |
|
||
|
||
## 模型可行性基准测试 (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 + 依赖安装 + 导入验证 | 进行中 | 2026-08-19 |
|
||
| 9 | 模型可行性基准测试 (llava-phi3 ≤8s) | 进行中 | 2026-08-19 |
|
||
| 10 | OllamaAdapter 优化 (num_predict 参数) | 进行中 | 2026-08-19 |
|
||
|
||
### 待完成
|
||
|
||
| # | 任务 | 依赖 | 优先级 |
|
||
|---|------|------|--------|
|
||
| 11 | NAS 安装 MariaDB + 执行 DDL | Tailscale | 高 |
|
||
| 12 | NAS 安装 Python 依赖 (pip3, flask, mysql-connector, streamlit) | - | 高 |
|
||
| 13 | NAS 部署 FAM-Core (gunicorn + 配置) | MariaDB, pip3 | 高 |
|
||
| 14 | NAS 部署 FAM-UI (streamlit) | pip3 | 中 |
|
||
| 15 | Oracle 部署 FAM-Edge (gunicorn + 配置 + systemd) | 依赖安装完成 | 高 |
|
||
| 16 | 安装 Tailscale (Oracle + NAS) | - | 高 |
|
||
| 17 | 更新配置文件中的 Tailscale IP | Tailscale 安装 | 高 |
|
||
| 18 | 端到端集成测试 | 全部部署完成 | 高 |
|
||
| 19 | 单元测试 (JSON parser, circuit breaker, schema) | - | 中 |
|
||
| 20 | FAM-Edge config.yaml 实际配置 | Tailscale IP | 高 |
|
||
|
||
## 技术决策记录
|
||
|
||
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 数控制延迟
|