Files
ln-bi/docs/asset-ai-question-log.md
T

2.5 KiB
Raw Blame History

AI 问数全量记录

在部署包含本次代码的服务之前,执行增量建表(只创建审计表,不修改业务数据):

node --import tsx scripts/migrate-ai-questions.ts           # 只查看 SQL,不连接数据库
node --import tsx scripts/migrate-ai-questions.ts --apply   # 使用部署环境 DB 配置执行

表:bi_asset_ai_questions。所有已登录、通过参数校验的 /ask 请求都先 INSERT,再执行查询;不按问题去重。 未登录、空问题、非法请求体不作为用户提问保存。输入中的凭据会脱敏。没有自动清理策略;旧的需求缺口表仍按原有 90 天规则维护。

  • event_type:question 首次提问、followup 连续追问、action 下钻操作、feedback 未解决反馈。
  • business_types:JSON 数组,使用既有计划分类(inventory 库存、operating 运营、pending 待交车、abnormal 异动、flow 交还替换等);综合问题可以有多个分类,无法完成理解时为空数组。
  • outcome:processing 处理中、success 成功、empty 无匹配、partial 部分回答、clarification 待澄清、help 使用说明、unsupported 暂不支持、failed 失败、cancelled 取消、rejected 拒绝执行、feedback 用户反馈。
  • reason:失败/拒绝/缺口原因代码,例如 busy、session_expired、generation、unsatisfied。
  • actor_id 是实际操作者;user_id、login_name、user_name 是当前数据权限用户;模拟视角另有 is_preview 与 preview_session_id。
  • question 保存接受的完整问题(最多 2000 字符,敏感凭据脱敏),action_json 保存下钻参数。会话、上级结果、当前结果、公司和权限级别分别关联。
  • answer 保存回答摘要、提示和子分析摘要,不复制车辆明细数据;另存引擎、开始/结束时间、毫秒耗时。

初始写入失败返回 503,不继续执行无记录的查询。结束更新失败重试一次;原始问题仍在数据库,回答提示“处理结果暂未保存”,服务只输出记录 ID,不输出问题或数据库错误。进程突然终止或结束更新失败的记录保持 processing,可通过 started_at 识别长期未完成,不能将其算作成功。

模拟用户提问同样记录,但不新增需求缺口反馈,也不改变原有只读业务权限。没有新增公开查询接口;数据库查看权限沿用现有管理制度。新表不能补回此前仅在内存中保存的历史问题。