基于 FastAPI 的视觉分析系统开发:SQLite 日志持久化与性能监控实现
一、 今日进展概述
今天主要完成了视觉分析系统(HuiVision)的后端日志持久化模块。通过在 FastAPI 流程中集成 SQLite 数据库,成功实现了对 AI 视觉识别结果、首字延迟(First Token Latency)及总响应时长(Total Latency)的自动化存库。
二、 核心实现技术点
1. 数据库选型与架构
为了兼顾开发效率和轻量化需求,项目采用了 SQLite 作为日志存储介质。
-
数据库路径:
/PythonProject/huivision.db -
核心表结构 (
vision_logs):-
ai_result: 存储视觉模型生成的描述性文本(如:对人体解剖展示设备的识别描述)。 -
first_token_latency: 记录模型生成第一个字符的耗时,用于衡量流式输出的响应速度。 -
total_latency: 记录整个请求完成的总耗时。
-
2. 日志存库自动化
在 FastAPI 的路由处理函数中,通过异步方式调用存储逻辑。每当视觉分析请求完成,系统会自动将模型返回的解析内容及性能埋点数据写入 huivision.db。
三、 运行测试与数据分析
通过 DB Browser for SQLite 对生成的日志进行了验证(如下图):

测试结果分析:
-
识别准确性:模型成功识别出“正前方2米处的大型数字人体解剖展示设备”,描述语境准确,符合数字媒体实验室/展厅场景。
-
性能表现:
-
首字延迟:约
2617ms。 -
总时长:约
4216ms。 -
结论:目前的延迟主要集中在首字生成阶段,后续可以考虑在模型加载和并发处理上进行优化,或尝试更轻量化的 Vision Transformer 变体。
-
四、 遇到的问题与解决方案
-
问题:初始测试时发现
ai_result字段存在乱码风险。 -
解决:确保数据库连接字符串强制指定
UTF-8编码,并在存库前对模型输出进行字符串清洗。
五、 后续计划
-
前端展示:将
vision_logs中的数据同步到 Web 前端界面,实现可视化的历史记录查询。 -
性能对比:测试不同分辨率图片输入对
total_latency的影响。 -
Unity 集成:尝试将该视觉能力通过 API 接入正在开发的 Unity 地图解谜项目。
更多推荐
所有评论(0)