Skip to main content

更新日志

本页记录 KnowFlow 智能问数的显著变更。

版本号含义

0.x 阶段,语义资源合同、问数阶段与失败行为可能在小版本之间调整;每次调整都会在下面写清受影响的行为。


[0.0.3] - 2026-09-07

修复

  • 目录库不存在时服务自己建出来,与上传库 analytics_uploads 同一套做法。此前 KNOWFLOW_ANALYTICS_AUTO_CREATE_SCHEMA 只做 metadata.create_all(建表、建不出库),全新部署启动会失败在连接层,报错是一句与问数无关的 database "analytics_catalog" does not exist,只能手动 createdb 才能起来。建不出来时给出明确的 CATALOG_DATABASE_UNAVAILABLE,不静默回落到别的库;已存在的库原样保留,绝不重建。

[0.0.2] - 2026-09-05

镜像 knowflowai/analytics:v0.0.2linux/amd64linux/arm64)。

新增

  • 多数据源:数据源成为一等实体,可按项目绑定,一个项目里可同时接多个库。
  • MySQL 方言sqlglot 是方言权威,只保留三处经真库实测的例外。五种时间粒度与同比自连接、占比窗口在真 MySQL 上与 PostgreSQL 逐行比对一致。
  • 上传表格:Excel 落库成数据源,走与数据库表相同的建模与问数链路。
  • 流式问数:按阶段推送事件;「理解问题」完成时带上模型认出的语义成员。
  • 结果解读:结果返回之后异步生成一段话,只允许引用结果里字面出现过的数字,禁止自行计算。默认关闭。
  • 助手级问数配置:单次请求可覆盖返回行数、默认时间窗、多轮改写、自洽次数、模型与温度。
  • 默认时间窗:问题没写时间范围时按配置补最近 N 天;补上的窗在回答上可见,并可一键改回不限时间。
  • 文本 S2SQL 续跑:下钻与重跑做确定性编辑,形状不支持时明确拒绝,不静默降级。
  • 问数反馈:词汇缺口收件箱,含拒答、澄清、模型猜测、取值不认识、点赞、点踩六类。
  • 发布管理:线上版本可切换到任意一个已发布版本。
  • 可观测性:每个查询阶段带真实耗时;诊断可见每次模型与向量调用的用途、尝试次数、耗时与 prompt 规模。

变更

  • 作用域选择改为「生成后确定性反推」。此前先按局部证据选定作用域再让模型作答,选错时模型被锁在错误范围里只能硬凑,六道治理关全部放行——用户拿到的是一个看起来正常的错误数字。现在最终 LLM 看到候选作用域成员的并集并写出业务名 S2SQL,编译器逐个真实作用域尝试确定性翻译。校验比选择容易。
  • 澄清退成兜底:业务对象卡整体删除,只保留同名语义元素与跨事实根的指标短语两类。
  • 多轮改写默认开启,并加两道确定性门:原话已经点名指标就不改写;改写后多出原话没有的分组维度就作废回退。
  • 最终 LLM 的指标/维度目录从逐条字典改为带表头的竖线表。实测 prompt 均值 6161→4744 字符,端到端 14.8s→11.7s。
  • 模型调用按用途封顶超时;重试时把上一次的校验拒绝原因作为事实告诉模型,不替它改写。

修复

  • 模型表达不了某个条件时会自己发明「永不成立」的过滤条件顶掉它,执行成功 0 行,界面显示「查询成功,但没有返回数据」——用户读到的是一句关于自己业务的假话。现在任一 WHERE/HAVING 经常量折叠归约为 FALSE 即拒绝。
  • 0 行且过滤值不在该维度已发布取值里时指名道姓说出来;编辑相似度 ≥0.6 才给近似建议。措辞是「不在已发布取值里」而不是「不存在」。
  • 「每组取前 N」整类问题答不出来。
  • 一个词恰好是某维度的取值时,不再当成用户要的过滤条件。
  • GROUP BY 的语句判为聚合查询。
  • 期间比:治理聚合显式写出来与裸指标引用同义。
  • 时间维不参与同名歧义结算,此前会陷入选一次弹一次的无限澄清。
  • 查询自己写的 LIMIT 到顶不再被误报成「超出上限」。
  • 派生时间列与期间比列没有别名时按业务名命名。
  • 数据源不能是服务自己的 catalog 库;裸 postgresql:// 统一钉到 psycopg 3。

移除

  • 确认记忆整条链路。人工选择只在当次查询内生效,长期修复走业务词典。
  • 弱召回确认卡与 AI 裁决。弱命中仍进入最终 LLM 的提示,但不再形成确认卡或结算义务。
  • 「默认数据源」概念,改为一次性迁移。

[0.0.1] - 2026-08-31

首个开源版本,镜像 knowflowai/analytics:v0.0.1

  • 受治理语义目录:Model、Relation、Metric、Dimension、Term、DimensionValue。
  • AI 辅助建模产出可逐项审核的 Candidate Revision,人工确认后才能发布。
  • 编译器生成查询作用域:冻结事实根、成员与安全 Join 路径。
  • LLM 只生成业务名 S2SQL,物理 SQL 由 Translator 确定性编译,Guard 做只读 AST 白名单、行数上限与执行超时。
  • 双模式 Playground、Golden Suite、真实数据质量报告。
  • 固定阶段查询时间线与脱敏 Markdown 诊断导出。
  • Docker Compose 独立部署。