dsh-data-domain-knowledge 0.1.0-alpha.2 → 0.1.0-alpha.4
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/README.md +147 -19
- package/cordis.patch.yml +25 -10
- package/lib/client.js +6400 -3326
- package/lib/doc-page.js +7761 -0
- package/lib/types/convert/host.d.ts.map +1 -1
- package/lib/types/convert/host.js +63 -11
- package/lib/types/convert/host.js.map +1 -1
- package/lib/types/convert/ingest.d.ts +7 -4
- package/lib/types/convert/ingest.d.ts.map +1 -1
- package/lib/types/convert/ingest.js +52 -14
- package/lib/types/convert/ingest.js.map +1 -1
- package/lib/types/convert/types.d.ts +2 -2
- package/lib/types/convert/types.d.ts.map +1 -1
- package/lib/types/convert/types.js +2 -2
- package/lib/types/convert/types.js.map +1 -1
- package/lib/types/diagnosis/cards.d.ts +8 -7
- package/lib/types/diagnosis/cards.d.ts.map +1 -1
- package/lib/types/diagnosis/cards.js +119 -49
- package/lib/types/diagnosis/cards.js.map +1 -1
- package/lib/types/diagnosis/run.d.ts +57 -0
- package/lib/types/diagnosis/run.d.ts.map +1 -0
- package/lib/types/diagnosis/run.js +245 -0
- package/lib/types/diagnosis/run.js.map +1 -0
- package/lib/types/diagnosis/schema.d.ts +25 -2
- package/lib/types/diagnosis/schema.d.ts.map +1 -1
- package/lib/types/diagnosis/schema.js +64 -25
- package/lib/types/diagnosis/schema.js.map +1 -1
- package/lib/types/diagnosis/seed-source.d.ts +17 -2
- package/lib/types/diagnosis/seed-source.d.ts.map +1 -1
- package/lib/types/diagnosis/seed-source.js +19 -2
- package/lib/types/diagnosis/seed-source.js.map +1 -1
- package/lib/types/diagnosis/seed.d.ts +32 -42
- package/lib/types/diagnosis/seed.d.ts.map +1 -1
- package/lib/types/diagnosis/seed.js +187 -51
- package/lib/types/diagnosis/seed.js.map +1 -1
- package/lib/types/diagnosis/store.d.ts +95 -25
- package/lib/types/diagnosis/store.d.ts.map +1 -1
- package/lib/types/diagnosis/store.js +297 -166
- package/lib/types/diagnosis/store.js.map +1 -1
- package/lib/types/diagnosis/types.d.ts +168 -16
- package/lib/types/diagnosis/types.d.ts.map +1 -1
- package/lib/types/diagnosis/types.js +1 -1
- package/lib/types/diagnosis/types.js.map +1 -1
- package/lib/types/document-page.d.ts +39 -0
- package/lib/types/document-page.d.ts.map +1 -0
- package/lib/types/document-page.js +43 -0
- package/lib/types/document-page.js.map +1 -0
- package/lib/types/extract-model.d.ts +67 -27
- package/lib/types/extract-model.d.ts.map +1 -1
- package/lib/types/extract-model.js +225 -97
- package/lib/types/extract-model.js.map +1 -1
- package/lib/types/extract.d.ts +16 -0
- package/lib/types/extract.d.ts.map +1 -1
- package/lib/types/extract.js +19 -2
- package/lib/types/extract.js.map +1 -1
- package/lib/types/fs-atomic.d.ts +11 -0
- package/lib/types/fs-atomic.d.ts.map +1 -0
- package/lib/types/fs-atomic.js +41 -0
- package/lib/types/fs-atomic.js.map +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +466 -63
- package/lib/types/index.js.map +1 -1
- package/lib/types/intent/types.js +1 -1
- package/lib/types/intent/types.js.map +1 -1
- package/lib/types/knowledge-bases.d.ts +23 -12
- package/lib/types/knowledge-bases.d.ts.map +1 -1
- package/lib/types/knowledge-bases.js +37 -44
- package/lib/types/knowledge-bases.js.map +1 -1
- package/lib/types/layout.d.ts +3 -3
- package/lib/types/layout.d.ts.map +1 -1
- package/lib/types/layout.js +4 -4
- package/lib/types/layout.js.map +1 -1
- package/lib/types/migrate.d.ts +1 -1
- package/lib/types/migrate.js +2 -2
- package/lib/types/migrate.js.map +1 -1
- package/lib/types/model-text.d.ts +99 -0
- package/lib/types/model-text.d.ts.map +1 -0
- package/lib/types/model-text.js +103 -0
- package/lib/types/model-text.js.map +1 -0
- package/lib/types/present.d.ts +239 -0
- package/lib/types/present.d.ts.map +1 -0
- package/lib/types/present.js +255 -0
- package/lib/types/present.js.map +1 -0
- package/lib/types/recall-rank.d.ts +37 -0
- package/lib/types/recall-rank.d.ts.map +1 -1
- package/lib/types/recall-rank.js +41 -1
- package/lib/types/recall-rank.js.map +1 -1
- package/lib/types/runtime.d.ts +564 -31
- package/lib/types/runtime.d.ts.map +1 -1
- package/lib/types/runtime.js +2645 -292
- package/lib/types/runtime.js.map +1 -1
- package/lib/types/settings-schema.d.ts +4 -2
- package/lib/types/settings-schema.d.ts.map +1 -1
- package/lib/types/settings-schema.js +2 -0
- package/lib/types/settings-schema.js.map +1 -1
- package/lib/types/source-images.d.ts +118 -0
- package/lib/types/source-images.d.ts.map +1 -0
- package/lib/types/source-images.js +288 -0
- package/lib/types/source-images.js.map +1 -0
- package/lib/types/types.d.ts +356 -28
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/types.js +112 -18
- package/lib/types/types.js.map +1 -1
- package/lib/types/wiki-finalize.d.ts +140 -0
- package/lib/types/wiki-finalize.d.ts.map +1 -0
- package/lib/types/wiki-finalize.js +269 -0
- package/lib/types/wiki-finalize.js.map +1 -0
- package/lib/types/wiki-types.d.ts +10 -2
- package/lib/types/wiki-types.d.ts.map +1 -1
- package/lib/types/wiki-types.js +27 -30
- package/lib/types/wiki-types.js.map +1 -1
- package/package.json +4 -3
- package/preset/tita-data-agent/agent.cordis.yml +25 -10
- package/src/client/DirectoryPicker.tsx +12 -12
- package/src/client/DrawerSection.tsx +18 -0
- package/src/client/InfoHint.tsx +21 -8
- package/src/client/IntentTab.tsx +20 -26
- package/src/client/KnowledgeBaseTab.tsx +458 -158
- package/src/client/KnowledgePanel.tsx +44 -10
- package/src/client/KnowledgeStepRail.tsx +3 -0
- package/src/client/KnowledgeToolRow.tsx +331 -0
- package/src/client/NodeSettings.tsx +20 -22
- package/src/client/PreviewSections.tsx +178 -43
- package/src/client/RecallPanel.tsx +418 -127
- package/src/client/TypeDefinitionDrawer.tsx +154 -54
- package/src/client/WikiCardReview.tsx +266 -0
- package/src/client/WikiFlowCard.tsx +57 -95
- package/src/client/WikiTypeEditor.tsx +197 -95
- package/src/client/arch/AgentArchitectureGraph.tsx +30 -14
- package/src/client/arch/NodeLogicPanel.tsx +6 -3
- package/src/client/arch/model.ts +164 -26
- package/src/client/architecture.css +25 -10
- package/src/client/architecture.tsx +66 -41
- package/src/client/asset-images.ts +125 -0
- package/src/client/attribution/AttributionGraph.tsx +481 -34
- package/src/client/attribution/AttributionTab.tsx +501 -106
- package/src/client/attribution/CaseView.tsx +9 -14
- package/src/client/attribution/GraphStage.tsx +25 -18
- package/src/client/attribution/RunView.tsx +27 -9
- package/src/client/attribution/StageChrome.tsx +280 -140
- package/src/client/attribution/graph-options.ts +611 -47
- package/src/client/attribution/model.ts +559 -30
- package/src/client/convert/ConvertPanel.tsx +36 -4
- package/src/client/doc-page.css +134 -0
- package/src/client/doc-page.tsx +242 -0
- package/src/client/index.ts +18 -0
- package/src/client/panel-state.ts +105 -0
- package/src/client/problem-domains.ts +1 -1
- package/src/client/request.ts +36 -0
- package/src/client/styles.css +397 -54
- package/src/client/useFitScale.ts +15 -2
- package/src/client/wiki-type-groups.ts +86 -0
- package/src/convert/host.ts +68 -9
- package/src/convert/ingest.ts +61 -18
- package/src/convert/types.ts +2 -2
- package/src/diagnosis/cards.ts +120 -50
- package/src/diagnosis/run.ts +251 -0
- package/src/diagnosis/schema.ts +67 -26
- package/src/diagnosis/seed-source.ts +29 -4
- package/src/diagnosis/seed.ts +187 -85
- package/src/diagnosis/store.ts +310 -173
- package/src/diagnosis/types.ts +181 -16
- package/src/document-page.ts +51 -0
- package/src/extract-model.ts +254 -99
- package/src/extract.ts +35 -3
- package/src/fs-atomic.ts +41 -0
- package/src/index.ts +499 -62
- package/src/intent/types.ts +1 -1
- package/src/knowledge-bases.ts +50 -49
- package/src/layout.ts +4 -4
- package/src/migrate.ts +2 -2
- package/src/model-text.ts +126 -0
- package/src/present.ts +367 -0
- package/src/recall-rank.ts +57 -2
- package/src/runtime.ts +2802 -293
- package/src/settings-schema.ts +2 -0
- package/src/source-images.ts +326 -0
- package/src/types.ts +446 -45
- package/src/wiki-finalize.ts +310 -0
- package/src/wiki-types.ts +28 -32
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 知识工具在**对话流**里的样子(0045)。
|
|
3
|
+
*
|
|
4
|
+
* ## 为什么要有这个文件
|
|
5
|
+
*
|
|
6
|
+
* 0045 之前,这些工具的 `output.render` 统一是 `JSON.stringify(value)`,而 Web 端没有
|
|
7
|
+
* 给它们注册 toolview —— 于是「让 Agent 批量编译入库」在对话流里长成一条
|
|
8
|
+
* `import_sources` 加一坨 JSON,「召回知识库」同理。人看不到「导了几份、编出了几张卡、
|
|
9
|
+
* 命中了哪几条」,只能自己去右侧面板里找。
|
|
10
|
+
*
|
|
11
|
+
* 这一层做两件事,都在**纯函数**里,所以能被测试钉住:
|
|
12
|
+
*
|
|
13
|
+
* 1. `presentationMeta` —— 结构化的小账本,随 `tool/result` 落进会话日志,
|
|
14
|
+
* Web 端的卡片读它渲染(`src/client/KnowledgeToolRow.tsx`)。它必须
|
|
15
|
+
* **可 JSON 序列化**(会话日志会整份校验),所以这里不塞函数、不塞 Date;
|
|
16
|
+
* 2. `present*View` —— 与工具名无关的渲染意图(标题 / 分类 / 一段 Markdown),
|
|
17
|
+
* 给终端界面和「没有专用卡片的界面」用。
|
|
18
|
+
*
|
|
19
|
+
* ## 一条规矩:数字必须来自真实的产物
|
|
20
|
+
*
|
|
21
|
+
* 这些账本里出现的每一个数都对应一次真的写入或一次真的编译(见 `RebuildReport`
|
|
22
|
+
* 的注释)。**没有估算、没有占位** —— 面板与对话流是同一份诚实标准的两个出口。
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* 一段 Markdown 内容块。
|
|
26
|
+
*
|
|
27
|
+
* 单独包一层是为了让 `present*View` 不必各自去构造平台的内容块形状 ——
|
|
28
|
+
* 那些字段(`type: 'text'`)一旦写错,界面会静默显示空白。
|
|
29
|
+
*/
|
|
30
|
+
function markdown(text) {
|
|
31
|
+
return [{ type: 'text', text }];
|
|
32
|
+
}
|
|
33
|
+
/** 把数字与名字排成一行「摘要」。空数组返回空串,调用方据此跳过这一段。 */
|
|
34
|
+
function facts(entries) {
|
|
35
|
+
return entries
|
|
36
|
+
.filter(([, value]) => value !== undefined && value !== null && value !== '')
|
|
37
|
+
.map(([label, value]) => `${label} ${value}`)
|
|
38
|
+
.join(' · ');
|
|
39
|
+
}
|
|
40
|
+
/** 截断长标题:卡片标题要能排成一行,`title` 属性里仍给全文。 */
|
|
41
|
+
function short(text, max = 48) {
|
|
42
|
+
const flat = text.replace(/\s+/g, ' ').trim();
|
|
43
|
+
return flat.length > max ? `${flat.slice(0, max)}…` : flat;
|
|
44
|
+
}
|
|
45
|
+
/** `import_sources` 的账本。字段逐个点名,不用展开运算符 —— 形状是契约,要看得见。 */
|
|
46
|
+
export function importMetaOf(value) {
|
|
47
|
+
return {
|
|
48
|
+
kind: 'import',
|
|
49
|
+
attempted: value.attempted ?? (value.written?.length ?? 0) + (value.failed?.length ?? 0),
|
|
50
|
+
written: (value.written ?? []).map(item => ({
|
|
51
|
+
sourceId: item.sourceId,
|
|
52
|
+
...(item.title ? { title: item.title } : {}),
|
|
53
|
+
bytes: item.bytes ?? 0,
|
|
54
|
+
})),
|
|
55
|
+
failed: (value.failed ?? []).map(item => ({
|
|
56
|
+
index: item.index,
|
|
57
|
+
...(item.title ? { title: item.title } : {}),
|
|
58
|
+
code: item.code,
|
|
59
|
+
message: item.message,
|
|
60
|
+
})),
|
|
61
|
+
compile: value.compile ?? null,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/** 运行中的标题:**先说清楚这一下要动多少东西**。 */
|
|
65
|
+
export function importCallView(args) {
|
|
66
|
+
const count = Array.isArray(args?.sources) ? args.sources.length : 0;
|
|
67
|
+
const titles = (args?.sources ?? [])
|
|
68
|
+
.map(item => (item && typeof item === 'object' && typeof item.title === 'string' ? item.title : ''))
|
|
69
|
+
.filter(Boolean);
|
|
70
|
+
return {
|
|
71
|
+
card: 'generic',
|
|
72
|
+
kind: 'edit',
|
|
73
|
+
title: `导入 ${count} 份来源${args?.compile === false ? '' : '并编译'}`,
|
|
74
|
+
rawInput: titles.length > 0 ? titles.map(title => short(title)) : { 份数: count },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** 完成后的 Markdown:终端界面与「没有专用卡片」的界面都用它。 */
|
|
78
|
+
export function importResultMarkdown(meta) {
|
|
79
|
+
const lines = [`**导入 ${meta.attempted} 份来源** —— 写入 ${meta.written.length} 份,失败 ${meta.failed.length} 份。`];
|
|
80
|
+
for (const item of meta.written)
|
|
81
|
+
lines.push(`- ${item.title ? `**${short(item.title)}**` : item.sourceId} · ${item.bytes} 字符`);
|
|
82
|
+
for (const item of meta.failed)
|
|
83
|
+
lines.push(`- 第 ${item.index + 1} 份${item.title ? `「${short(item.title)}」` : ''}失败:${item.code} ${item.message}`);
|
|
84
|
+
if (meta.compile) {
|
|
85
|
+
const { cardsCreated, cardsUpdated, cardsReused, notesReused, notesRecompiled, embedding, version } = meta.compile;
|
|
86
|
+
lines.push('', `编译:新建 ${cardsCreated} 张、并入 ${cardsUpdated} 张、复用 ${cardsReused ?? 0} 张;wikiNotes 复用 ${notesReused ?? 0} 条、重编 ${notesRecompiled ?? 0} 条;索引 v${version ?? '?'}${embedding ? `(向量 ${embedding})` : ''}。`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
lines.push('', '这次没有编译(`compile: false`)—— 卡片还没生成,需要时再调 `rebuild_knowledge`。');
|
|
90
|
+
}
|
|
91
|
+
return lines.join('\n');
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* `recall_knowledge` 的账本。
|
|
95
|
+
*
|
|
96
|
+
* `hits` 只带前 8 条:对话流里的卡片要能一眼看完,而完整的上下文包本来就在工具返回里
|
|
97
|
+
* 给模型了。**不改这个数**(不四舍五入、不归一),因为大小关系就是排序依据。
|
|
98
|
+
*/
|
|
99
|
+
export function recallMetaOf(value) {
|
|
100
|
+
const hits = (value.hits ?? []).slice(0, 8).map(hit => ({
|
|
101
|
+
entityId: hit.entityId ?? '',
|
|
102
|
+
entityType: hit.entityType ?? '',
|
|
103
|
+
title: hit.title ?? hit.entityId ?? '',
|
|
104
|
+
score: typeof hit.score === 'number' ? hit.score : 0,
|
|
105
|
+
...(typeof hit.rerankScore === 'number' ? { rerankScore: hit.rerankScore } : {}),
|
|
106
|
+
...(typeof hit.reviewScore === 'number' ? { reviewScore: hit.reviewScore } : {}),
|
|
107
|
+
}));
|
|
108
|
+
return {
|
|
109
|
+
kind: 'recall',
|
|
110
|
+
query: value.query ?? '',
|
|
111
|
+
backend: value.backend ?? 'fts',
|
|
112
|
+
recallMode: value.recallMode ?? 'hybrid',
|
|
113
|
+
recallTopK: value.recallTopK ?? 0,
|
|
114
|
+
contextTopN: value.contextTopN ?? 0,
|
|
115
|
+
// 缺字段而不是 `undefined` 字段:这份账本要能原样进会话日志(`undefined` 会被
|
|
116
|
+
// 序列化检查拦下,见 0046)。
|
|
117
|
+
...(value.budget?.hitCards === undefined ? {} : { hitCards: value.budget.hitCards }),
|
|
118
|
+
...(value.budget?.expandedCards === undefined ? {} : { expandedCards: value.budget.expandedCards }),
|
|
119
|
+
...(value.budget?.omittedCards === undefined ? {} : { omittedCards: value.budget.omittedCards }),
|
|
120
|
+
insufficientEvidence: value.insufficientEvidence === true,
|
|
121
|
+
rerankStatus: value.rerank?.status ?? 'skipped',
|
|
122
|
+
hits,
|
|
123
|
+
routes: (value.routes ?? []).map(route => (typeof route === 'string' ? route : route.route ?? '')).filter(Boolean),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
export function recallCallView(args) {
|
|
127
|
+
const query = typeof args?.query === 'string' && args.query.trim() ? args.query.trim() : '(空查询)';
|
|
128
|
+
return {
|
|
129
|
+
card: 'generic',
|
|
130
|
+
kind: 'search',
|
|
131
|
+
title: `召回「${short(query, 40)}」`,
|
|
132
|
+
rawInput: { 模式: args?.mode ?? '默认', topK: args?.top_k ?? '默认' },
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export function recallResultMarkdown(meta) {
|
|
136
|
+
if (meta.insufficientEvidence) {
|
|
137
|
+
return `**没有可回答这个问题的内容**(查询:「${short(meta.query, 40)}」)。库里没有一条越过相关性阈值 —— 这是结论,不是错误;把来源导进来再问。`;
|
|
138
|
+
}
|
|
139
|
+
const head = facts([
|
|
140
|
+
['命中', `${meta.hits.length} 条`],
|
|
141
|
+
['进上下文', meta.hitCards === undefined
|
|
142
|
+
? `${meta.contextTopN} 条`
|
|
143
|
+
: `${meta.hitCards} 张卡${meta.expandedCards ? ` + ${meta.expandedCards} 张扩展` : ''}${meta.omittedCards ? `(${meta.omittedCards} 张超预算,在溢出文件里)` : ''}`],
|
|
144
|
+
['检索', meta.backend],
|
|
145
|
+
['路由', meta.routes.join('+') || undefined],
|
|
146
|
+
['重排', meta.rerankStatus],
|
|
147
|
+
]);
|
|
148
|
+
const lines = [`**召回「${short(meta.query, 40)}」** —— ${head}`];
|
|
149
|
+
for (const hit of meta.hits) {
|
|
150
|
+
const score = typeof hit.rerankScore === 'number' ? hit.rerankScore : hit.score;
|
|
151
|
+
const review = hit.reviewScore !== undefined ? ` · 评分 ${hit.reviewScore.toFixed(2)}` : '';
|
|
152
|
+
lines.push(`- **${short(hit.title)}** \`${hit.entityType}:${hit.entityId}\` · ${score.toFixed(3)}${review}`);
|
|
153
|
+
}
|
|
154
|
+
return lines.join('\n');
|
|
155
|
+
}
|
|
156
|
+
export function rebuildMetaOf(only, value) {
|
|
157
|
+
return {
|
|
158
|
+
kind: 'rebuild',
|
|
159
|
+
only,
|
|
160
|
+
cardsCreated: value.cardsCreated ?? 0,
|
|
161
|
+
cardsUpdated: value.cardsUpdated ?? 0,
|
|
162
|
+
...(value.version !== undefined ? { version: value.version } : {}),
|
|
163
|
+
...(value.cardsReused !== undefined ? { cardsReused: value.cardsReused } : {}),
|
|
164
|
+
...(value.notesReused !== undefined ? { notesReused: value.notesReused } : {}),
|
|
165
|
+
...(value.notesRecompiled !== undefined ? { notesRecompiled: value.notesRecompiled } : {}),
|
|
166
|
+
...(value.sourcesExtracted !== undefined ? { sourcesExtracted: value.sourcesExtracted } : {}),
|
|
167
|
+
...(value.sourcesSkipped !== undefined ? { sourcesSkipped: value.sourcesSkipped } : {}),
|
|
168
|
+
...(value.cardsRemoved !== undefined ? { cardsRemoved: value.cardsRemoved } : {}),
|
|
169
|
+
...(value.embedding !== undefined ? { embedding: value.embedding } : {}),
|
|
170
|
+
...(value.skipped !== undefined ? { skipped: value.skipped } : {}),
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
export function rebuildCallView(args) {
|
|
174
|
+
const only = args?.only ?? 'all';
|
|
175
|
+
const what = only === 'all' ? '全链路' : only === 'wiki' ? 'wiki 与 wikiNotes' : only === 'embeddings' ? '向量索引' : '注册表与 schema';
|
|
176
|
+
return { card: 'generic', kind: 'execute', title: `编译知识库 · ${what}` };
|
|
177
|
+
}
|
|
178
|
+
export function rebuildResultMarkdown(meta) {
|
|
179
|
+
if (meta.skipped)
|
|
180
|
+
return `**知识库没有变化** —— 复用了全部产物,没有生成新的索引版本(当前 v${meta.version ?? '?'})。`;
|
|
181
|
+
const head = facts([
|
|
182
|
+
['新建卡片', meta.cardsCreated],
|
|
183
|
+
['并入卡片', meta.cardsUpdated],
|
|
184
|
+
['复用卡片', meta.cardsReused],
|
|
185
|
+
['wikiNotes', `复用 ${meta.notesReused ?? 0} / 重编 ${meta.notesRecompiled ?? 0}`],
|
|
186
|
+
['重抽来源', meta.sourcesExtracted],
|
|
187
|
+
['跳过来源', meta.sourcesSkipped],
|
|
188
|
+
['向量', meta.embedding],
|
|
189
|
+
['索引', meta.version !== undefined ? `v${meta.version}` : undefined],
|
|
190
|
+
]);
|
|
191
|
+
return `**编译完成** —— ${head}。`;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* `value` 用偏松的类型:失败信封里的 `data` 是空壳(`{ sourceId: '', path: '' }`)。
|
|
195
|
+
* 呈现层宁可显示一个空 id,也不该在渲染时抛 —— 卡片渲染抛异常会把整条工具记录弄没。
|
|
196
|
+
*/
|
|
197
|
+
export function addSourceMetaOf(args, value) {
|
|
198
|
+
const content = typeof args?.content === 'string' ? args.content : '';
|
|
199
|
+
return {
|
|
200
|
+
kind: 'addSource',
|
|
201
|
+
sourceId: value?.sourceId ?? '',
|
|
202
|
+
path: value?.path ?? '',
|
|
203
|
+
sourceType: args?.source_type ?? 'document',
|
|
204
|
+
...(args?.title ? { title: args.title } : {}),
|
|
205
|
+
bytes: content.length,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
export function addSourceCallView(args) {
|
|
209
|
+
const title = typeof args?.title === 'string' && args.title.trim() ? short(args.title) : '(未命名)';
|
|
210
|
+
return {
|
|
211
|
+
card: 'generic',
|
|
212
|
+
kind: 'edit',
|
|
213
|
+
title: `写入来源「${title}」`,
|
|
214
|
+
rawInput: { 分类: args?.source_type ?? 'document', 字符: typeof args?.content === 'string' ? args.content.length : 0 },
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
export function addSourceResultMarkdown(meta) {
|
|
218
|
+
return `**来源已写入** —— 「${meta.title ? short(meta.title) : meta.sourceId}」(分类 ${meta.sourceType},${meta.bytes} 字符)。\n\n下一步:\`rebuild_knowledge\` 把它编译成 wiki 卡片。`;
|
|
219
|
+
}
|
|
220
|
+
export function writeCardsMetaOf(value, sourceId) {
|
|
221
|
+
const rejected = (value.rejected ?? []).map(item => {
|
|
222
|
+
if (typeof item === 'string')
|
|
223
|
+
return { reason: item };
|
|
224
|
+
const record = item && typeof item === 'object' ? item : {};
|
|
225
|
+
return {
|
|
226
|
+
...(typeof record.index === 'number' ? { index: record.index } : {}),
|
|
227
|
+
...(typeof record.title === 'string' ? { title: record.title } : {}),
|
|
228
|
+
...(typeof record.reason === 'string' ? { reason: record.reason } : {}),
|
|
229
|
+
...(typeof record.code === 'string' ? { code: record.code } : {}),
|
|
230
|
+
};
|
|
231
|
+
});
|
|
232
|
+
return { kind: 'writeCards', sourceId, ids: value.written ?? value.ids ?? [], rejected };
|
|
233
|
+
}
|
|
234
|
+
export function writeCardsCallView(args) {
|
|
235
|
+
const count = Array.isArray(args?.proposals) ? args.proposals.length : 0;
|
|
236
|
+
const titles = (args?.proposals ?? [])
|
|
237
|
+
.map(item => (item && typeof item === 'object' && typeof item.title === 'string' ? item.title : ''))
|
|
238
|
+
.filter(Boolean);
|
|
239
|
+
return {
|
|
240
|
+
card: 'generic',
|
|
241
|
+
kind: 'edit',
|
|
242
|
+
title: `写入 ${count} 张 wiki 卡片`,
|
|
243
|
+
rawInput: titles.length > 0 ? titles.map(title => short(title)) : { source_id: args?.source_id ?? '' },
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
export function writeCardsResultMarkdown(meta) {
|
|
247
|
+
const head = facts([['写入', `${meta.ids.length} 张`], ['被拒', meta.rejected.length > 0 ? `${meta.rejected.length} 张` : undefined]]);
|
|
248
|
+
const lines = [`**卡片已直接入库** —— ${head}(来源 \`${meta.sourceId}\`)。`, '', '正文只读;要补信息就加备注,要否掉就改状态。'];
|
|
249
|
+
for (const id of meta.ids.slice(0, 12))
|
|
250
|
+
lines.push(`- \`${id}\``);
|
|
251
|
+
for (const item of meta.rejected)
|
|
252
|
+
lines.push(`- 被拒${item.title ? `「${short(item.title)}」` : ''}:${item.reason ?? item.code ?? '原因未知'}`);
|
|
253
|
+
return lines.join('\n');
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=present.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"present.js","sourceRoot":"","sources":["../../src/present.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,10 @@ export declare function applyThreshold(ranking: RouteRanking[], threshold: numbe
|
|
|
64
64
|
kept: RouteRanking[];
|
|
65
65
|
dropped: number;
|
|
66
66
|
topScore: number;
|
|
67
|
+
/** 阈值前后的**全部**候选(0050):面板要显示「哪些被丢了、各自多少分」。 */
|
|
68
|
+
rows: Array<RouteRanking & {
|
|
69
|
+
kept: boolean;
|
|
70
|
+
}>;
|
|
67
71
|
};
|
|
68
72
|
/**
|
|
69
73
|
* 从原文里挑出与查询最相关的若干段,作为**证据片段**。
|
|
@@ -125,6 +129,26 @@ export interface MmrOptions<T> {
|
|
|
125
129
|
export declare function selectContext<T>(items: T[], options: MmrOptions<T>): T[];
|
|
126
130
|
/** `match` 字段由名次推导:两路及以上命中 = hybrid。 */
|
|
127
131
|
export declare function matchOf(ranks: Partial<Record<RecallRoute, number>>): 'fts' | 'vector' | 'graph' | 'hybrid';
|
|
132
|
+
/**
|
|
133
|
+
* review 评分对融合分的加权区间(0044)。
|
|
134
|
+
*
|
|
135
|
+
* **它是有界的小幅加权,不是准入闸门。** 三个数各有理由:
|
|
136
|
+
* - 下限 `0.85`:一张被标成异常点的卡片降到 0.85 倍,还是召回得到。评分不该等于删除,
|
|
137
|
+
* 否则「人点一下」与「删掉一条知识」变成同一个动作,而后者是不可逆的。
|
|
138
|
+
* - 上限 `1.2`:review 过的人认为对,但它不该压过「这条根本更相关」。相关性由 RRF 与
|
|
139
|
+
* 重排回答,评分只回答「同类命中里先看谁」。
|
|
140
|
+
* - 中性 `0.5` → 倍率 1.0。这样「没有评分」与「评分 0.5」行为一致,缺字段不需要特判。
|
|
141
|
+
*/
|
|
142
|
+
export declare const REVIEW_WEIGHT_MIN = 0.85;
|
|
143
|
+
export declare const REVIEW_WEIGHT_MAX = 1.2;
|
|
144
|
+
export declare const REVIEW_SCORE_NEUTRAL = 0.5;
|
|
145
|
+
/**
|
|
146
|
+
* 评分 → 融合分倍率。
|
|
147
|
+
*
|
|
148
|
+
* 纯函数,所以「review 一下到底能改多少排序」可以在 `node:test` 里被钉住 ——
|
|
149
|
+
* 这类加权最容易悄悄漂成「评分即一切」。
|
|
150
|
+
*/
|
|
151
|
+
export declare function reviewWeight(score: number | undefined): number;
|
|
128
152
|
/** 展示用的概率:`rerankScore` 是 logit 的 sigmoid。 */
|
|
129
153
|
export declare function sigmoidLogit(logit: number): number;
|
|
130
154
|
export interface RerankOutcome<T> {
|
|
@@ -136,6 +160,19 @@ export interface RerankOutcome<T> {
|
|
|
136
160
|
dropped: number;
|
|
137
161
|
/** 候选池里最高的 logit —— 跨查询可比的「这一批到底有多相关」。 */
|
|
138
162
|
topLogit: number;
|
|
163
|
+
/**
|
|
164
|
+
* **逐条**的打分(0050)。
|
|
165
|
+
*
|
|
166
|
+
* `kept` 只给活下来的那些,而面板要回答的是「哪些被丢了、丢在哪一步」——
|
|
167
|
+
* 少了这份账,界面上就只能显示「14 条候选、全部被丢弃」,人看不到那 14 条分别多少分。
|
|
168
|
+
* 顺序与入参一致(不是排序后的),因为「重排前后的名次变化」本身也是信息。
|
|
169
|
+
*/
|
|
170
|
+
scored: Array<{
|
|
171
|
+
unitId: string;
|
|
172
|
+
logit: number;
|
|
173
|
+
rerankScore: number;
|
|
174
|
+
kept: boolean;
|
|
175
|
+
}>;
|
|
139
176
|
}
|
|
140
177
|
/**
|
|
141
178
|
* Stage 4:**在 logit 刻度上**过阈值,展示值才做一次 sigmoid。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall-rank.d.ts","sourceRoot":"","sources":["../../src/recall-rank.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG7D,4BAA4B;AAC5B,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,CAAC,EAAE,MAAM,CAAA;IACT,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,EAAE,CA0B/G;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAsBtI;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG;
|
|
1
|
+
{"version":3,"file":"recall-rank.d.ts","sourceRoot":"","sources":["../../src/recall-rank.ts"],"names":[],"mappings":"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"}
|
package/lib/types/recall-rank.js
CHANGED
|
@@ -97,7 +97,12 @@ export function graphBoost(fused, graphRanking, options) {
|
|
|
97
97
|
export function applyThreshold(ranking, threshold) {
|
|
98
98
|
const topScore = ranking.length > 0 ? Math.max(...ranking.map(item => item.score)) : 0;
|
|
99
99
|
const kept = ranking.filter(item => item.score >= threshold);
|
|
100
|
-
return {
|
|
100
|
+
return {
|
|
101
|
+
kept,
|
|
102
|
+
dropped: ranking.length - kept.length,
|
|
103
|
+
topScore,
|
|
104
|
+
rows: ranking.map(item => ({ ...item, kept: item.score >= threshold })),
|
|
105
|
+
};
|
|
101
106
|
}
|
|
102
107
|
/**
|
|
103
108
|
* 从原文里挑出与查询最相关的若干段,作为**证据片段**。
|
|
@@ -224,6 +229,35 @@ export function matchOf(ranks) {
|
|
|
224
229
|
return 'hybrid';
|
|
225
230
|
return used[0] ?? 'fts';
|
|
226
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* review 评分对融合分的加权区间(0044)。
|
|
234
|
+
*
|
|
235
|
+
* **它是有界的小幅加权,不是准入闸门。** 三个数各有理由:
|
|
236
|
+
* - 下限 `0.85`:一张被标成异常点的卡片降到 0.85 倍,还是召回得到。评分不该等于删除,
|
|
237
|
+
* 否则「人点一下」与「删掉一条知识」变成同一个动作,而后者是不可逆的。
|
|
238
|
+
* - 上限 `1.2`:review 过的人认为对,但它不该压过「这条根本更相关」。相关性由 RRF 与
|
|
239
|
+
* 重排回答,评分只回答「同类命中里先看谁」。
|
|
240
|
+
* - 中性 `0.5` → 倍率 1.0。这样「没有评分」与「评分 0.5」行为一致,缺字段不需要特判。
|
|
241
|
+
*/
|
|
242
|
+
export const REVIEW_WEIGHT_MIN = 0.85;
|
|
243
|
+
export const REVIEW_WEIGHT_MAX = 1.2;
|
|
244
|
+
export const REVIEW_SCORE_NEUTRAL = 0.5;
|
|
245
|
+
/**
|
|
246
|
+
* 评分 → 融合分倍率。
|
|
247
|
+
*
|
|
248
|
+
* 纯函数,所以「review 一下到底能改多少排序」可以在 `node:test` 里被钉住 ——
|
|
249
|
+
* 这类加权最容易悄悄漂成「评分即一切」。
|
|
250
|
+
*/
|
|
251
|
+
export function reviewWeight(score) {
|
|
252
|
+
// 缺字段(旧版本编译出来的 note)按中性处理:升级不该让老语料的排序突然变化。
|
|
253
|
+
if (score === undefined || !Number.isFinite(score))
|
|
254
|
+
return 1;
|
|
255
|
+
const clamped = Math.min(1, Math.max(0, score));
|
|
256
|
+
if (clamped >= REVIEW_SCORE_NEUTRAL) {
|
|
257
|
+
return 1 + (REVIEW_WEIGHT_MAX - 1) * ((clamped - REVIEW_SCORE_NEUTRAL) / (1 - REVIEW_SCORE_NEUTRAL));
|
|
258
|
+
}
|
|
259
|
+
return 1 - (1 - REVIEW_WEIGHT_MIN) * ((REVIEW_SCORE_NEUTRAL - clamped) / REVIEW_SCORE_NEUTRAL);
|
|
260
|
+
}
|
|
227
261
|
/** 展示用的概率:`rerankScore` 是 logit 的 sigmoid。 */
|
|
228
262
|
export function sigmoidLogit(logit) {
|
|
229
263
|
return 1 / (1 + Math.exp(-logit));
|
|
@@ -256,6 +290,12 @@ export function applyRerank(scores, items, threshold) {
|
|
|
256
290
|
.sort((left, right) => right.rerankScore - left.rerankScore || left.unitId.localeCompare(right.unitId)),
|
|
257
291
|
dropped: scored.length - kept.length,
|
|
258
292
|
topLogit: scored.length > 0 ? Math.max(...scored.map(entry => entry.logit)) : 0,
|
|
293
|
+
scored: scored.map(entry => ({
|
|
294
|
+
unitId: entry.item.unitId,
|
|
295
|
+
logit: entry.logit,
|
|
296
|
+
rerankScore: sigmoidLogit(entry.logit),
|
|
297
|
+
kept: entry.logit >= threshold,
|
|
298
|
+
})),
|
|
259
299
|
};
|
|
260
300
|
}
|
|
261
301
|
//# sourceMappingURL=recall-rank.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recall-rank.js","sourceRoot":"","sources":["../../src/recall-rank.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recall-rank.js","sourceRoot":"","sources":["../../src/recall-rank.ts"],"names":[],"mappings":"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"}
|