dsh-data-domain-knowledge 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +360 -0
- package/cordis.patch.yml +410 -0
- package/eval/README.md +76 -0
- package/eval/evaluate-retrieval.mjs +121 -0
- package/eval/queries.example.jsonl +2 -0
- package/lib/client.js +111415 -0
- package/lib/types/config-schema.d.ts +35 -0
- package/lib/types/config-schema.d.ts.map +1 -0
- package/lib/types/config-schema.js +34 -0
- package/lib/types/config-schema.js.map +1 -0
- package/lib/types/convert/core-loader.d.ts +32 -0
- package/lib/types/convert/core-loader.d.ts.map +1 -0
- package/lib/types/convert/core-loader.js +60 -0
- package/lib/types/convert/core-loader.js.map +1 -0
- package/lib/types/convert/host.d.ts +88 -0
- package/lib/types/convert/host.d.ts.map +1 -0
- package/lib/types/convert/host.js +479 -0
- package/lib/types/convert/host.js.map +1 -0
- package/lib/types/convert/ingest.d.ts +125 -0
- package/lib/types/convert/ingest.d.ts.map +1 -0
- package/lib/types/convert/ingest.js +228 -0
- package/lib/types/convert/ingest.js.map +1 -0
- package/lib/types/convert/settings-schema.d.ts +18 -0
- package/lib/types/convert/settings-schema.d.ts.map +1 -0
- package/lib/types/convert/settings-schema.js +26 -0
- package/lib/types/convert/settings-schema.js.map +1 -0
- package/lib/types/convert/types.d.ts +46 -0
- package/lib/types/convert/types.d.ts.map +1 -0
- package/lib/types/convert/types.js +41 -0
- package/lib/types/convert/types.js.map +1 -0
- package/lib/types/diagnosis/cards.d.ts +71 -0
- package/lib/types/diagnosis/cards.d.ts.map +1 -0
- package/lib/types/diagnosis/cards.js +482 -0
- package/lib/types/diagnosis/cards.js.map +1 -0
- package/lib/types/diagnosis/problem-classes.d.ts +51 -0
- package/lib/types/diagnosis/problem-classes.d.ts.map +1 -0
- package/lib/types/diagnosis/problem-classes.js +66 -0
- package/lib/types/diagnosis/problem-classes.js.map +1 -0
- package/lib/types/diagnosis/schema.d.ts +65 -0
- package/lib/types/diagnosis/schema.d.ts.map +1 -0
- package/lib/types/diagnosis/schema.js +208 -0
- package/lib/types/diagnosis/schema.js.map +1 -0
- package/lib/types/diagnosis/seed-source.d.ts +20 -0
- package/lib/types/diagnosis/seed-source.d.ts.map +1 -0
- package/lib/types/diagnosis/seed-source.js +96 -0
- package/lib/types/diagnosis/seed-source.js.map +1 -0
- package/lib/types/diagnosis/seed.d.ts +50 -0
- package/lib/types/diagnosis/seed.d.ts.map +1 -0
- package/lib/types/diagnosis/seed.js +242 -0
- package/lib/types/diagnosis/seed.js.map +1 -0
- package/lib/types/diagnosis/store.d.ts +81 -0
- package/lib/types/diagnosis/store.d.ts.map +1 -0
- package/lib/types/diagnosis/store.js +409 -0
- package/lib/types/diagnosis/store.js.map +1 -0
- package/lib/types/diagnosis/types.d.ts +124 -0
- package/lib/types/diagnosis/types.d.ts.map +1 -0
- package/lib/types/diagnosis/types.js +13 -0
- package/lib/types/diagnosis/types.js.map +1 -0
- package/lib/types/directory-picker.d.ts +94 -0
- package/lib/types/directory-picker.d.ts.map +1 -0
- package/lib/types/directory-picker.js +110 -0
- package/lib/types/directory-picker.js.map +1 -0
- package/lib/types/extract-model.d.ts +76 -0
- package/lib/types/extract-model.d.ts.map +1 -0
- package/lib/types/extract-model.js +193 -0
- package/lib/types/extract-model.js.map +1 -0
- package/lib/types/extract.d.ts +121 -0
- package/lib/types/extract.d.ts.map +1 -0
- package/lib/types/extract.js +549 -0
- package/lib/types/extract.js.map +1 -0
- package/lib/types/fts.d.ts +96 -0
- package/lib/types/fts.d.ts.map +1 -0
- package/lib/types/fts.js +184 -0
- package/lib/types/fts.js.map +1 -0
- package/lib/types/index.d.ts +39 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +1112 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/intent/engine.d.ts +108 -0
- package/lib/types/intent/engine.d.ts.map +1 -0
- package/lib/types/intent/engine.js +501 -0
- package/lib/types/intent/engine.js.map +1 -0
- package/lib/types/intent/host.d.ts +88 -0
- package/lib/types/intent/host.d.ts.map +1 -0
- package/lib/types/intent/host.js +389 -0
- package/lib/types/intent/host.js.map +1 -0
- package/lib/types/intent/preset-tools.d.ts +37 -0
- package/lib/types/intent/preset-tools.d.ts.map +1 -0
- package/lib/types/intent/preset-tools.js +45 -0
- package/lib/types/intent/preset-tools.js.map +1 -0
- package/lib/types/intent/settings-schema.d.ts +59 -0
- package/lib/types/intent/settings-schema.d.ts.map +1 -0
- package/lib/types/intent/settings-schema.js +57 -0
- package/lib/types/intent/settings-schema.js.map +1 -0
- package/lib/types/intent/store.d.ts +75 -0
- package/lib/types/intent/store.d.ts.map +1 -0
- package/lib/types/intent/store.js +139 -0
- package/lib/types/intent/store.js.map +1 -0
- package/lib/types/intent/tools.d.ts +63 -0
- package/lib/types/intent/tools.d.ts.map +1 -0
- package/lib/types/intent/tools.js +108 -0
- package/lib/types/intent/tools.js.map +1 -0
- package/lib/types/intent/types.d.ts +189 -0
- package/lib/types/intent/types.d.ts.map +1 -0
- package/lib/types/intent/types.js +62 -0
- package/lib/types/intent/types.js.map +1 -0
- package/lib/types/knowledge-bases.d.ts +266 -0
- package/lib/types/knowledge-bases.d.ts.map +1 -0
- package/lib/types/knowledge-bases.js +1107 -0
- package/lib/types/knowledge-bases.js.map +1 -0
- package/lib/types/layout.d.ts +262 -0
- package/lib/types/layout.d.ts.map +1 -0
- package/lib/types/layout.js +312 -0
- package/lib/types/layout.js.map +1 -0
- package/lib/types/migrate.d.ts +110 -0
- package/lib/types/migrate.d.ts.map +1 -0
- package/lib/types/migrate.js +280 -0
- package/lib/types/migrate.js.map +1 -0
- package/lib/types/recall-rank.d.ts +158 -0
- package/lib/types/recall-rank.d.ts.map +1 -0
- package/lib/types/recall-rank.js +261 -0
- package/lib/types/recall-rank.js.map +1 -0
- package/lib/types/runtime.d.ts +568 -0
- package/lib/types/runtime.d.ts.map +1 -0
- package/lib/types/runtime.js +3045 -0
- package/lib/types/runtime.js.map +1 -0
- package/lib/types/settings-schema.d.ts +117 -0
- package/lib/types/settings-schema.d.ts.map +1 -0
- package/lib/types/settings-schema.js +92 -0
- package/lib/types/settings-schema.js.map +1 -0
- package/lib/types/settings-volatile.d.ts +102 -0
- package/lib/types/settings-volatile.d.ts.map +1 -0
- package/lib/types/settings-volatile.js +114 -0
- package/lib/types/settings-volatile.js.map +1 -0
- package/lib/types/types.d.ts +799 -0
- package/lib/types/types.d.ts.map +1 -0
- package/lib/types/types.js +387 -0
- package/lib/types/types.js.map +1 -0
- package/lib/types/wiki-types.d.ts +68 -0
- package/lib/types/wiki-types.d.ts.map +1 -0
- package/lib/types/wiki-types.js +322 -0
- package/lib/types/wiki-types.js.map +1 -0
- package/package.json +101 -0
- package/preset/tita-data-agent/agent.cordis.yml +376 -0
- package/preset/tita-data-agent/preset.yml +3 -0
- package/python/requirements.txt +8 -0
- package/scripts/doctor.mjs +70 -0
- package/scripts/e2e-pipeline.mjs +355 -0
- package/scripts/install-agent-preset.mjs +92 -0
- package/scripts/setup-embedding.sh +34 -0
- package/scripts/sync-agent-preset.mjs +188 -0
- package/src/client/AgentPresetCard.tsx +247 -0
- package/src/client/DirectoryPicker.tsx +357 -0
- package/src/client/InfoHint.tsx +65 -0
- package/src/client/IntentLogicTab.tsx +185 -0
- package/src/client/IntentTab.tsx +715 -0
- package/src/client/KnowledgeBaseTab.tsx +1454 -0
- package/src/client/KnowledgeGraphView.tsx +306 -0
- package/src/client/KnowledgePanel.tsx +381 -0
- package/src/client/KnowledgeStepRail.tsx +60 -0
- package/src/client/NodeSettings.tsx +392 -0
- package/src/client/PreviewSections.tsx +116 -0
- package/src/client/RecallPanel.tsx +399 -0
- package/src/client/TypeDefinitionDrawer.tsx +215 -0
- package/src/client/WikiFlowCard.tsx +226 -0
- package/src/client/WikiTypeEditor.tsx +332 -0
- package/src/client/agent-preset.ts +121 -0
- package/src/client/arch/AgentArchitectureGraph.tsx +219 -0
- package/src/client/arch/NodeLogicPanel.tsx +133 -0
- package/src/client/arch/ProblemDetailPanel.tsx +88 -0
- package/src/client/arch/model.ts +691 -0
- package/src/client/architecture.css +191 -0
- package/src/client/architecture.tsx +530 -0
- package/src/client/attribution/AttributionGraph.tsx +104 -0
- package/src/client/attribution/AttributionTab.tsx +332 -0
- package/src/client/attribution/CaseView.tsx +102 -0
- package/src/client/attribution/GraphStage.tsx +87 -0
- package/src/client/attribution/RunView.tsx +184 -0
- package/src/client/attribution/StageChrome.tsx +403 -0
- package/src/client/attribution/ViewSwitch.tsx +107 -0
- package/src/client/attribution/graph-options.ts +381 -0
- package/src/client/attribution/model.ts +462 -0
- package/src/client/config-scope.ts +119 -0
- package/src/client/convert/ConvertPanel.tsx +594 -0
- package/src/client/convert/styles.css +138 -0
- package/src/client/convert/styles.ts +49 -0
- package/src/client/format.ts +39 -0
- package/src/client/graph/layout.ts +181 -0
- package/src/client/graph.css +113 -0
- package/src/client/index.ts +98 -0
- package/src/client/problem-domains.ts +114 -0
- package/src/client/styles.css +940 -0
- package/src/client/styles.ts +11 -0
- package/src/client/useFitScale.ts +68 -0
- package/src/config-schema.ts +45 -0
- package/src/convert/core-loader.ts +68 -0
- package/src/convert/host.ts +579 -0
- package/src/convert/ingest.ts +367 -0
- package/src/convert/settings-schema.ts +27 -0
- package/src/convert/types.ts +65 -0
- package/src/diagnosis/cards.ts +498 -0
- package/src/diagnosis/problem-classes.ts +117 -0
- package/src/diagnosis/schema.ts +260 -0
- package/src/diagnosis/seed-source.ts +107 -0
- package/src/diagnosis/seed.ts +291 -0
- package/src/diagnosis/store.ts +432 -0
- package/src/diagnosis/types.ts +152 -0
- package/src/directory-picker.ts +164 -0
- package/src/extract-model.ts +227 -0
- package/src/extract.ts +632 -0
- package/src/fts.ts +203 -0
- package/src/index.ts +1091 -0
- package/src/intent/README.md +63 -0
- package/src/intent/engine.ts +527 -0
- package/src/intent/host.ts +462 -0
- package/src/intent/preset-tools.ts +48 -0
- package/src/intent/settings-schema.ts +63 -0
- package/src/intent/store.ts +143 -0
- package/src/intent/tools.ts +139 -0
- package/src/intent/types.ts +245 -0
- package/src/knowledge-bases.ts +1160 -0
- package/src/layout.ts +350 -0
- package/src/migrate.ts +262 -0
- package/src/python/embedding_worker.py +471 -0
- package/src/recall-rank.ts +299 -0
- package/src/runtime.ts +3069 -0
- package/src/settings-schema.ts +94 -0
- package/src/settings-volatile.ts +122 -0
- package/src/types.ts +1140 -0
- package/src/wiki-types.ts +357 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 三个问题域的**唯一数据源**。
|
|
3
|
+
*
|
|
4
|
+
* 0027 之前这里还有一个 React 组件(`problem-domains.tsx`),把三个问题域渲染成
|
|
5
|
+
* 三张卡挂在画布外面。结果是:「这张图要解决什么」和「这张图长什么样」分居两块表面,
|
|
6
|
+
* 而概览页存在的理由恰恰是把这两件事放在一起给人看。
|
|
7
|
+
*
|
|
8
|
+
* 现在问题域**画在画布自己的第四条带里**(见 `arch/model.ts` 的 `problemPlateHtml`),
|
|
9
|
+
* 点开后的完整论述(业界对照、衡量方式)落在画布内的浮层里。所以这个模块只剩数据:
|
|
10
|
+
* 纯函数、无 React、无 DOM —— 它要被画布几何层 import,而那一层是可以在 node:test 里
|
|
11
|
+
* 直接跑纯函数的(`tests/agent-overview.test.mjs` 就是打包 `arch/model.ts` 后断言的)。
|
|
12
|
+
* 一条 JSX 都不留,是为了让那条测试链路不必把 React 拖进来。
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { ChartLine, Library, Stethoscope } from '@tita-data-agent/ui/icons'
|
|
16
|
+
import type { LucideIcon } from '@tita-data-agent/ui/icons'
|
|
17
|
+
import { noteCountOf, sourceCountOf, type KnowledgeStats, type NodeId, type Tone } from './architecture.tsx'
|
|
18
|
+
|
|
19
|
+
export interface ProblemDomainAction {
|
|
20
|
+
label: string
|
|
21
|
+
/** 有节点 id 标签就是可点的入口;没有就是「还没落地」的静态标签。 */
|
|
22
|
+
node?: NodeId
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface ProblemDomainProgress { label: string; value: string }
|
|
26
|
+
|
|
27
|
+
export interface ProblemDomain {
|
|
28
|
+
id: string
|
|
29
|
+
index: string
|
|
30
|
+
title: string
|
|
31
|
+
/** 一句话说清「谁在什么时刻遇到它」,用业务语言,不写能力名词。 */
|
|
32
|
+
question: string
|
|
33
|
+
/** 业界同题的做法与代表产品;只写有公开资料支撑的,不写宣传话术。 */
|
|
34
|
+
industry: string
|
|
35
|
+
status: { label: string; tone: 'success' | 'warning' | 'neutral' }
|
|
36
|
+
actions: ProblemDomainAction[]
|
|
37
|
+
/** 用真实计数说明「现在走到哪一步」;没有真实数据的域不定义这个方法。 */
|
|
38
|
+
progress?: (stats: KnowledgeStats, version: number) => ProblemDomainProgress[]
|
|
39
|
+
/** 衡量方式:一个说不清怎么算解决的问题域,等于还没解决。 */
|
|
40
|
+
measure: string
|
|
41
|
+
icon: LucideIcon
|
|
42
|
+
tone: Tone
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 三个问题域按重要性排序。
|
|
47
|
+
*
|
|
48
|
+
* 顺序就是画布上从左到右的顺序,也是「先有可信取数、再有归因、最后才谈预测」的
|
|
49
|
+
* 依赖顺序 —— 后一个域建立在前一个域之上,所以顺序不能按视觉平衡来排。
|
|
50
|
+
*/
|
|
51
|
+
export const PROBLEM_DOMAINS: ProblemDomain[] = [
|
|
52
|
+
{
|
|
53
|
+
id: 'asset',
|
|
54
|
+
index: '01',
|
|
55
|
+
title: '数据资产迭代',
|
|
56
|
+
question: '每一次问答与文档录入都沉淀为可复用的口径、结构与分析方法,同类问题的回答质量随使用次数提升。',
|
|
57
|
+
industry: 'Snowflake 用查询历史反向补全语义模型;ThoughtSpot Spotter 把 Liveboard 与对话沉淀为 Memory 与 business terms。',
|
|
58
|
+
status: { label: '运行中', tone: 'success' },
|
|
59
|
+
actions: [
|
|
60
|
+
{ label: 'SourceRaw', node: 'source-raw' },
|
|
61
|
+
{ label: '编译 wiki / wikiNotes', node: 'compile' },
|
|
62
|
+
{ label: '构建向量与图谱', node: 'build' },
|
|
63
|
+
{ label: '每日更新', node: 'daily-update' },
|
|
64
|
+
],
|
|
65
|
+
progress: (stats, version) => [
|
|
66
|
+
{ label: 'SourceRaw', value: String(sourceCountOf(stats)) },
|
|
67
|
+
{ label: 'wiki 卡片', value: String(stats.cards ?? 0) },
|
|
68
|
+
{ label: 'wikiNotes', value: String(noteCountOf(stats)) },
|
|
69
|
+
{ label: '索引', value: version > 0 ? `v${version}` : '未构建' },
|
|
70
|
+
],
|
|
71
|
+
measure: '可复用条目数 · 复用次数 · 首次命中率',
|
|
72
|
+
icon: Library,
|
|
73
|
+
tone: 'violet',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: 'attribution',
|
|
77
|
+
index: '02',
|
|
78
|
+
title: '异常波动智能归因',
|
|
79
|
+
question: '指标出现异常波动时,输出候选原因的排序、依据与下一步排查动作,而不是一个孤立的数值。',
|
|
80
|
+
industry: 'ThoughtSpot SpotIQ 的 Change Analysis 做跨周期、跨维度对比并回答「变了什么、为什么变」,配合 anomaly alert 告警;SmartBI 用指标树 + 维度贡献度分解;经典算法为 Adtributor / HotSpot / iDice。',
|
|
81
|
+
status: { label: '设计中', tone: 'warning' },
|
|
82
|
+
actions: [
|
|
83
|
+
{ label: '三路召回', node: 'recall' },
|
|
84
|
+
{ label: '上下文包', node: 'context' },
|
|
85
|
+
{ label: '排查图谱(0021)' },
|
|
86
|
+
],
|
|
87
|
+
measure: '首次定位命中率 · 平均定位耗时 · 未归类占比',
|
|
88
|
+
icon: Stethoscope,
|
|
89
|
+
tone: 'green',
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: 'forecast',
|
|
93
|
+
index: '03',
|
|
94
|
+
title: '数据预测',
|
|
95
|
+
question: '基于历史数据与已知事件输出未来走势与区间,并显式声明所用假设、口径与置信水平。',
|
|
96
|
+
industry: 'ThoughtSpot SpotIQ Forecasting 把预测做成内置图表能力;阿里云 DMS 把「趋势推演」列为 Data Agent 要补的能力。多数 Data Agent 将预测作为工具调用(时序模型 / Python),不自行训练模型。',
|
|
97
|
+
status: { label: '规划中', tone: 'neutral' },
|
|
98
|
+
actions: [
|
|
99
|
+
{ label: '回答与数据工具', node: 'answer' },
|
|
100
|
+
{ label: 'Notebook 复现', node: 'data-notebook' },
|
|
101
|
+
],
|
|
102
|
+
measure: 'MAPE / SMAPE · 区间覆盖率 · 方向命中率',
|
|
103
|
+
icon: ChartLine,
|
|
104
|
+
tone: 'blue',
|
|
105
|
+
},
|
|
106
|
+
]
|
|
107
|
+
|
|
108
|
+
/** 按 id 取一个域;找不到返回 undefined 而不是猜一个。 */
|
|
109
|
+
export function problemDomainOf(id: string): ProblemDomain | undefined {
|
|
110
|
+
return PROBLEM_DOMAINS.find(domain => domain.id === id)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/** 三个域共用的底座说明:它是入场券,不是第四个问题域。 */
|
|
114
|
+
export const PROBLEM_BASE_NOTE = '三个问题域都建立在「口径可信的自然语言取数」之上:业界用语义层与 trusted queries 保证(Databricks Genie、Snowflake 语义模型),本产品由 Runtime + Table 承担。'
|