基于 FastAPI 的视觉分析系统开发:SQLite 日志持久化与性能监控实现
今天主要完成了视觉分析系统(HuiVision)的后端日志持久化模块。通过在 FastAPI 流程中集成 SQLite 数据库,成功实现了对 AI 视觉识别结果、首字延迟(First Token Latency)及总响应时长(Total Latency)的自动化存库。
一、 今日进展概述
今天主要完成了视觉分析系统(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)