项目定位
阅历知己是一个面向中型企业的 AI 智能化 BI / 决策工作台,定位为"企业 AI 大脑"。它区别于传统只能"看"的经营看板,提供发现 → 分析 → 解决 → 复盘问题的完整闭环能力。
功能模块
1. 数据导入
支持 CSV / TSV / XLSX / XLS 多格式上传
智能清洗:自动识别日期列并格式化、数值列比例检测、区域编码防误转
双存储:物理宽表(便于排查)+ JSON 行存储(主读取路径)
默认 SQLite 开箱即用,可切换 MySQL 生产部署
2. 语义映射与字段识别
这是项目的核心亮点,采用六层匹配 + 三信号融合:
六层匹配路径:人工确认 → 模板记忆 → 精确别名 → 模糊别名 → 列画像智能识别 → 销售额字段纠偏
三信号融合打分:列名字符相似度 + 列画像类型符合度 + 融合策略
即使列名乱码(如"备注"列实际装金额),也能通过内容画像兜底识别
模板记忆支持 Jaccard 模糊匹配,多一列少一列仍可复用历史模板
别名可由业务方前端自助维护,即改即生效
3. DSL 指标引擎
基于 AST 白名单的安全公式计算器
支持表达式依赖解析、fallback 降级策略
内置指标:总营收、净利润、客户数、成本率、同比环比等
4. 看板与可视化
单页前端:ECharts 图表 + KPI 卡片 + 知识图谱视图
支持多会话(localStorage 隔离)
角色化配置:总经理 / 销售总监 / 大区经理 / 客户经理
5. AI 智能问答
基于 LangChain + ChatOpenAI,兼容方舟 / OpenAI 协议
流式输出(NDJSON),对话历史本地持久化
前端携带 client_context 实现多会话上下文隔离
6. Neo4j 知识图谱(可选)
导入时异步守护线程同步,不阻塞 HTTP 响应
不可用时前端自动降级为 ontology 视图
1、字段识别引擎 resolve_entity_map() 接收 Excel 列名 + DataFrame,按六层优先级依次匹配,输出 entity_map(标准语义 → 实际列名)。升级后的 A 档采用三信号融合
2、 DSL 指标引擎 SafeFormulaEvaluator 基于 Python ast 模块解析表达式,白名单控制运算符(+ - * / % **)和内置函数(sum/avg/count/count_distinct/min/max/safe_div/if_present/effective_order_count),其余 AST 节点抛出 MetricEngineError。指标依赖通过 referenced_names() 静态扫描,先算无依赖指标再算依赖指标,缺字段时走 fallback 注册表。
3、AI 问答链路 把数据库中的结构化数据(指标、分布、图谱关系、DSL 依赖血缘)拼接成结构化摘要,注入 LangChain Prompt 模板,调用 LLM 生成分析文本。流式版本通过 NDJSON 分段输出(接收→加载上下文→图谱分析→汇总指标→刷新看板→完成)。
4、看板数据管线 次性返回完整看板载荷:core_metrics(14 个指标)、charts(6 类图表数据)、ontology(语义映射 + 图谱关系 + 层级)、metric_meta(DSL 依赖与可信度)、insight_context(经营洞察标记)。