Skip to content

视频行业分析体系结构

基于视频的行业工作流主要包含两个大的步骤,首先是事件的分析和采集,由视频服务完成解码后调用大模型

结合提示词进行事件推理.然后将推理结果入库.后续客户在进行数据分析的时候调用大模型生成SQL语句,

结合文档模板生成文档.

体系结构

system_structure

工作流程

Step0: 文档模板管理

文档上传,本期为固定文档,不做开发.通过已有的文件系统上传.

Step1: 视频流事件分析

  1. 首先是拉流解码,将解码后的图片进行回调触发后续任务
  2. 具体的任务按照固定的帧率抽取图片,组成一个Batch调用大模型推理服务(Lm Service)进行推理
  3. 判断推理结果是否存在事件,有事件则存入数据库

Step2: 创建知识库

用户调用知识库管理服务,依据创建条件创建新的知识库

Step3: 数据分析流程

当请求过来先按照任务类型进行分派调度,如果是一般聊天任务就直接调用调用原有的聊天服务,具体 任务根据插件选择来.下面分别就数据库图表生成和文档生成做说明

数据库图表生成流程:

  1. 单次图表的生成有用户选择要生成的图表类型,然后提出问题,后端服调用SqlCoder服务生成对应的sql语句
  2. 后端根据Sql语句调用对应的数据库查询引擎得到数据,返回给前端进行图表渲染.

文档生成流程:

方案一:

  1. 当用户请求产生文档时,服务将请求提交给文档生成器
  2. 文档生成器首先读取文档提示词模板,根据模板进行任务拆分,然后按照每一个任务进行执行
  3. 当任务需要查询数据库时调用SqlCoder生成sql语句,然后查询得到数据 (该步也可以根据问题提前准备好Sql模板)
  4. 将查到的数据作为输入,调用图表生成器(Charts Generator)生成对应的图表.
  5. 最后调用大模型(Lm Service)将问题和数据进行总结渲染,将图表和结论一同生产到文档中
  6. 循环3-5步直到所有任务完成

方案二:(待验证)

  1. 当用户请求产生文档时,服务将请求提交给文档生成器
  2. 文档生成器将要生成问题的Sql语句逐一执行,得到所有问题的数据
  3. 将问题和数据依次罗列,配合回答提示词模板统一提交给大模型进行润色
  4. 依据文档结构按段落逐一生成文档.

组件

  • VideoTaskService: 视频任务服务,负责拉取视频流,解码,调用大模型服务识别事件并入库
  • Text Task Dispatcher: 简单的任务分拆器,将任务分类为普通聊天,图表生成和文档生成
  • SqlCoder: NL2SQL大模型服务,将文字转换成SQL查询语句
  • Document Generator: 将生成文档拆分成多个任务步骤,包含数据库查询,图表生成,和结论生成
  • Lm Service: 多模态行业大模型服务,具有对话,图片视频推理能力,结论总结等能力

问题

  1. 在文档生成的方案一中反复调用大模型会使得生成速度很慢,后续或许可以尝试Plan或者ReWOO的方法先计划好文档生成的方案步骤,后续直接执行文档生成.
  2. 生成知识库的设计,当前以某个点位为过滤条件生成并不太合理,比如换一个点位又要重新生成知识库,但点位可以直接作为数据库的查询条件
  3. 如果模型中间执行失败怎么处理,一般性通用对话返回?
  4. 这次离线视频如果涉及更长时间的数据分析,怎么进行模拟数据生成
  5. 生成文档的sql是走sqlcoder还是提前人工准备好, 提前准备好的优点是不走模型,执行快.缺点是非专业人士无法操作.sqlcoder的缺点是执行慢,优点是NL2SQL门槛较低,可以参考写提示词