课程录像、培训讲解视频越积越多,想找某个知识点,往往只能拖着进度条一段段翻。我们基于开源项目 SentrySearch 深度改造,做成了一套对话式视频检索系统——用一句自然语言提问,智能体自动检索视频库、定位相关时间段、裁剪片段并生成分析报告。
课程录像、培训讲座、产品讲解这类视频,信息密度高、时长又长。想回看"讲 ReAct 的那一段",要么记得大概时间点,要么只能从头拖进度条;按文件名或人工打标签检索,也只能找到"事先标注过"的内容。
客户指定以开源项目 SentrySearch 的视频向量检索能力为基础,希望把它做成一套完整的业务系统:上传视频、用"说人话"的方式提问,系统就能找到相关片段、导出出来,并写成一份文字报告。
我们在 SentrySearch 之上新增了 HTTP + WebSocket 服务端、ReAct 智能体运行时和 5 个视频专用工具,新增定制逻辑超过一万行,把一个命令行检索工具变成了浏览器里就能用的对话式系统。智能体自主决定调用哪些工具、按什么顺序——先检索、再裁剪、再分析,工具调用出错时会自行换一种策略继续。
在聊天页直接提问,智能体理解意图后调用检索工具,思考过程与工具调用实时流式显示。
视频按 30 秒一片、5 秒重叠切分,自动跳过静止画面,最多 3 个视频并行索引,进度实时推送。
用 qwen3-vl-embedding 把视频片段和问题映射到同一个 768 维向量空间,按相似度召回相关时间段。
用 ffmpeg 裁出命中片段,再交给视觉模型 MiMo v2.5 描述画面内容、识别画面文字。
每轮对话结束自动生成 Markdown / HTML 分析报告,按会话归档,可在报告页预览和下载。
支持多文件上传、索引状态查看、删除与批量操作,并为每个视频自动生成中文标签。
以下截图来自交付录屏:上传一段教学解说视频,提问"找一下讲解 ReAct 的片段"。
系统分为前端、服务端、检索引擎三层,由 ReAct 智能体串起整条链路: