@knowledgine/core 0.4.1 → 0.5.0
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/dist/embedding/onnx-embedding-provider.d.ts +1 -0
- package/dist/embedding/onnx-embedding-provider.d.ts.map +1 -1
- package/dist/embedding/onnx-embedding-provider.js +9 -3
- package/dist/embedding/onnx-embedding-provider.js.map +1 -1
- package/dist/graph/entity-extractor.d.ts +11 -3
- package/dist/graph/entity-extractor.d.ts.map +1 -1
- package/dist/graph/entity-extractor.js +191 -4
- package/dist/graph/entity-extractor.js.map +1 -1
- package/dist/graph/graph-repository.d.ts +1 -0
- package/dist/graph/graph-repository.d.ts.map +1 -1
- package/dist/graph/graph-repository.js +7 -0
- package/dist/graph/graph-repository.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/search/hybrid-searcher.d.ts.map +1 -1
- package/dist/search/hybrid-searcher.js +5 -1
- package/dist/search/hybrid-searcher.js.map +1 -1
- package/dist/search/knowledge-searcher.d.ts +2 -2
- package/dist/search/knowledge-searcher.d.ts.map +1 -1
- package/dist/search/knowledge-searcher.js +33 -15
- package/dist/search/knowledge-searcher.js.map +1 -1
- package/dist/search/link-generator.d.ts +1 -0
- package/dist/search/link-generator.d.ts.map +1 -1
- package/dist/search/link-generator.js +44 -11
- package/dist/search/link-generator.js.map +1 -1
- package/dist/search/query-orchestrator.d.ts +2 -2
- package/dist/search/query-orchestrator.d.ts.map +1 -1
- package/dist/search/query-orchestrator.js +43 -23
- package/dist/search/query-orchestrator.js.map +1 -1
- package/dist/search/reasoning-reranker.d.ts +4 -4
- package/dist/search/reasoning-reranker.d.ts.map +1 -1
- package/dist/search/reasoning-reranker.js +9 -5
- package/dist/search/reasoning-reranker.js.map +1 -1
- package/dist/search/semantic-searcher.d.ts +2 -2
- package/dist/search/semantic-searcher.d.ts.map +1 -1
- package/dist/search/semantic-searcher.js +5 -1
- package/dist/search/semantic-searcher.js.map +1 -1
- package/dist/services/knowledge-service.d.ts +1 -0
- package/dist/services/knowledge-service.d.ts.map +1 -1
- package/dist/services/knowledge-service.js +12 -1
- package/dist/services/knowledge-service.js.map +1 -1
- package/dist/storage/database.d.ts.map +1 -1
- package/dist/storage/database.js +5 -0
- package/dist/storage/database.js.map +1 -1
- package/dist/storage/knowledge-repository.d.ts +42 -0
- package/dist/storage/knowledge-repository.d.ts.map +1 -1
- package/dist/storage/knowledge-repository.js +278 -145
- package/dist/storage/knowledge-repository.js.map +1 -1
- package/dist/storage/migrations/011_fts_unicode61.d.ts +10 -0
- package/dist/storage/migrations/011_fts_unicode61.d.ts.map +1 -0
- package/dist/storage/migrations/011_fts_unicode61.js +88 -0
- package/dist/storage/migrations/011_fts_unicode61.js.map +1 -0
- package/dist/storage/migrations/012_fts_trigram_cjk.d.ts +10 -0
- package/dist/storage/migrations/012_fts_trigram_cjk.d.ts.map +1 -0
- package/dist/storage/migrations/012_fts_trigram_cjk.js +53 -0
- package/dist/storage/migrations/012_fts_trigram_cjk.js.map +1 -0
- package/dist/storage/schema.d.ts +1 -1
- package/dist/storage/schema.d.ts.map +1 -1
- package/dist/storage/schema.js +1 -1
- package/dist/utils/semantic-readiness.d.ts +13 -0
- package/dist/utils/semantic-readiness.d.ts.map +1 -0
- package/dist/utils/semantic-readiness.js +21 -0
- package/dist/utils/semantic-readiness.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,OAAO,GAAW,QAAQ,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;AAEnE,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkC3C,SAAS;AACT,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG1F,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-searcher.d.ts","sourceRoot":"","sources":["../../src/search/hybrid-searcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"hybrid-searcher.d.ts","sourceRoot":"","sources":["../../src/search/hybrid-searcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,oCAAoC,CAAC;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,qBAAa,cAAc;IAKvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,KAAK;IANf;;OAEG;gBAEO,UAAU,EAAE,mBAAmB,EAC/B,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,GAAE,MAAY;IAGvB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA+DjF"}
|
|
@@ -47,9 +47,13 @@ export class HybridSearcher {
|
|
|
47
47
|
}
|
|
48
48
|
scored.sort((a, b) => b.score - a.score);
|
|
49
49
|
const topN = scored.slice(0, limit);
|
|
50
|
+
// N+1解消: IDリストを先に集めてバッチ取得
|
|
51
|
+
const topNIds = topN.map(({ noteId }) => noteId);
|
|
52
|
+
const notes = this.repository.getNotesSummaryByIds(topNIds);
|
|
53
|
+
const noteMap = new Map(notes.map((n) => [n.id, n]));
|
|
50
54
|
const results = [];
|
|
51
55
|
for (const { noteId, score } of topN) {
|
|
52
|
-
const note =
|
|
56
|
+
const note = noteMap.get(noteId);
|
|
53
57
|
if (!note)
|
|
54
58
|
continue;
|
|
55
59
|
const hasFts = ftsMap.has(noteId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-searcher.js","sourceRoot":"","sources":["../../src/search/hybrid-searcher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hybrid-searcher.js","sourceRoot":"","sources":["../../src/search/hybrid-searcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KnowledgeRepository, KnowledgeNote } from "../storage/knowledge-repository.js";
|
|
1
|
+
import type { KnowledgeRepository, KnowledgeNote, KnowledgeNoteSummary } from "../storage/knowledge-repository.js";
|
|
2
2
|
import type { GraphRepository } from "../graph/graph-repository.js";
|
|
3
3
|
import type { EmbeddingProvider } from "../embedding/embedding-provider.js";
|
|
4
4
|
import type { LLMProvider } from "../llm/types.js";
|
|
@@ -16,7 +16,7 @@ export interface SearchOptions {
|
|
|
16
16
|
agentic?: boolean;
|
|
17
17
|
}
|
|
18
18
|
export interface SearchResult {
|
|
19
|
-
note: KnowledgeNote;
|
|
19
|
+
note: KnowledgeNote | KnowledgeNoteSummary;
|
|
20
20
|
score: number;
|
|
21
21
|
matchReason: string[];
|
|
22
22
|
fellBack?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-searcher.d.ts","sourceRoot":"","sources":["../../src/search/knowledge-searcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"knowledge-searcher.d.ts","sourceRoot":"","sources":["../../src/search/knowledge-searcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAQ1B,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAoB;gBAG/B,UAAU,EAAE,mBAAmB,EACvC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,WAAW,GAAE,MAAY,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,eAAe;IAoB7B,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA+IvD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI7D,YAAY,CAAC,IAAI,SAAI,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAYjE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG;QACvC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB;CAWF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { basename } from "path";
|
|
1
2
|
import { SemanticSearcher } from "./semantic-searcher.js";
|
|
2
3
|
import { HybridSearcher } from "./hybrid-searcher.js";
|
|
3
4
|
import { ReasoningReranker } from "./reasoning-reranker.js";
|
|
@@ -53,24 +54,39 @@ export class KnowledgeSearcher {
|
|
|
53
54
|
if (rows.length === 0) {
|
|
54
55
|
return [];
|
|
55
56
|
}
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
let score = 1 - normalized;
|
|
65
|
-
// valid_from スコアボーナス: 新しいほど高スコア (最大+0.5)
|
|
66
|
-
// yearsSinceNow が小さいほど (= より新しい) ボーナスが大きい
|
|
57
|
+
// BM25 rank はマイナス値で、より負の値ほど良いスコア
|
|
58
|
+
// CHANGELOG / CHANGES / HISTORY は 70% discount: rank を 0.3 倍して 0 に近づける(悪くする)
|
|
59
|
+
// newness bonus: 新しいノートの rank をより負にして良くする(乗算ボーナス)
|
|
60
|
+
const CHANGELOG_PATTERN = /^(CHANGELOG|CHANGES|HISTORY)\.(md|txt|rst)$/i;
|
|
61
|
+
const CHANGELOG_DISCOUNT = 0.3;
|
|
62
|
+
const adjustedRanks = rows.map(({ note, rank }) => {
|
|
63
|
+
let adjusted = rank;
|
|
64
|
+
// newness boost: 新しいノートの rank をより負に(係数 > 1 で乗算)
|
|
67
65
|
const validFrom = note.valid_from ?? note.created_at;
|
|
68
66
|
if (validFrom) {
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
const yearsSinceNow = (Date.now() - new Date(validFrom).getTime()) / (365.25 * 24 * 60 * 60 * 1000);
|
|
68
|
+
if (!Number.isFinite(yearsSinceNow))
|
|
69
|
+
return adjusted; // skip NaN / Infinity dates (no boost)
|
|
70
|
+
// boost factor: 最大 1.3x(新しいほど rank が大きくなる = より負に近い)
|
|
71
|
+
// Math.min(0.3, ...) で未来日付によるブーストが 1.3x を超えないようクランプ
|
|
72
|
+
const boost = 1 + Math.min(0.3, Math.max(0, 0.3 - yearsSinceNow * 0.06));
|
|
73
|
+
adjusted = adjusted * boost; // rank はマイナスなので * boost でより負になる
|
|
74
|
+
}
|
|
75
|
+
// CHANGELOG discount: rank をより0に近づける(0.3倍)
|
|
76
|
+
if (CHANGELOG_PATTERN.test(basename(note.file_path))) {
|
|
77
|
+
adjusted = adjusted * CHANGELOG_DISCOUNT;
|
|
73
78
|
}
|
|
79
|
+
return adjusted;
|
|
80
|
+
});
|
|
81
|
+
// FTSスコアをmin-max正規化(より負の値ほど良い)
|
|
82
|
+
// minRank = 最も負の値 = 最良スコア → normalized=0 → score=1.0
|
|
83
|
+
// maxRank = 最も0に近い値 = 最悪スコア → normalized=1 → score=0
|
|
84
|
+
const minRank = Math.min(...adjustedRanks);
|
|
85
|
+
const maxRank = Math.max(...adjustedRanks);
|
|
86
|
+
const range = maxRank - minRank;
|
|
87
|
+
results = rows.map(({ note }, i) => {
|
|
88
|
+
const normalized = range > 0 ? (adjustedRanks[i] - minRank) / range : 0;
|
|
89
|
+
const score = 1 - normalized;
|
|
74
90
|
const reasons = [`キーワード一致: "${query}"`];
|
|
75
91
|
if (fellBack) {
|
|
76
92
|
reasons.push(`Warning: ${mode} search is not available. Showing keyword results instead. Run 'knowledgine upgrade --semantic' to enable.`);
|
|
@@ -82,6 +98,8 @@ export class KnowledgeSearcher {
|
|
|
82
98
|
fellBack,
|
|
83
99
|
};
|
|
84
100
|
});
|
|
101
|
+
// newness bonus 等の事後スコア調整後に降順ソート
|
|
102
|
+
results.sort((a, b) => b.score - a.score);
|
|
85
103
|
}
|
|
86
104
|
// agentic モード: LLMベース ReasoningReranker を使用
|
|
87
105
|
if (agentic && results.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-searcher.js","sourceRoot":"","sources":["../../src/search/knowledge-searcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"knowledge-searcher.js","sourceRoot":"","sources":["../../src/search/knowledge-searcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAShC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAsB5D,MAAM,OAAO,iBAAiB;IAQlB;IAPF,gBAAgB,CAAoB;IACpC,cAAc,CAAkB;IAChC,QAAQ,CAAoB;IAC5B,eAAe,CAAoB;IACnC,YAAY,CAAqB;IAEzC,YACU,UAA+B,EACvC,iBAAqC,EACrC,cAAsB,GAAG,EACzB,WAAyB,EACzB,eAAiC;QAJzB,eAAU,GAAV,UAAU,CAAqB;QAMvC,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEtE,+CAA+C;QAC/C,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CACvC,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,4CAA4C;QAC5C,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAED,MAAM,EACJ,KAAK,EACL,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,SAAS,EAChB,MAAM,GAAG,KAAK,EACd,aAAa,EACb,iBAAiB,GAAG,KAAK,EACzB,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,MAAM,GACP,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAuB,CAAC;QAE5B,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjD,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACpD,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,sFAAsF;YACtF,MAAM,QAAQ,GACZ,IAAI,KAAK,SAAS;gBAClB,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;oBAC9C,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAEjD,8BAA8B;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAC9C,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,QAAQ,EACR,MAAM,CACP,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,iCAAiC;YACjC,6EAA6E;YAC7E,kDAAkD;YAClD,MAAM,iBAAiB,GAAG,8CAA8C,CAAC;YACzE,MAAM,kBAAkB,GAAG,GAAG,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;gBAChD,IAAI,QAAQ,GAAG,IAAI,CAAC;gBAEpB,gDAAgD;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;gBACrD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,aAAa,GACjB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;oBAChF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;wBAAE,OAAO,QAAQ,CAAC,CAAC,uCAAuC;oBAC7F,oDAAoD;oBACpD,oDAAoD;oBACpD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;oBACzE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,gCAAgC;gBAC/D,CAAC;gBAED,2CAA2C;gBAC3C,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBACrD,QAAQ,GAAG,QAAQ,GAAG,kBAAkB,CAAC;gBAC3C,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,+BAA+B;YAC/B,qDAAqD;YACrD,qDAAqD;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;YAEhC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;gBACjC,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC;gBAE7B,MAAM,OAAO,GAAa,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC;gBAClD,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CACV,YAAY,IAAI,4GAA4G,CAC7H,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI;oBACJ,KAAK;oBACL,WAAW,EAAE,OAAO;oBACpB,QAAQ;iBACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,iCAAiC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClF,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ;aACvE,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,aAAa;gBACnC,CAAC,CAAC,IAAI,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;gBAClE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAElB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,SAAS,EAAE,CAAC,CAAC,KAAK;gBAClB,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7E,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,UAAU;gBACnB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ;aACvE,CAAC,CAAC,CAAC;QACN,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,KAAK,GAAG,EAAE;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;YAChC,MAAM;YACN,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,OAAuB;QAIpC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -14,6 +14,7 @@ export declare class LocalLinkGenerator {
|
|
|
14
14
|
findRelatedNotes(noteId: number, limit?: number): RelatedNote[];
|
|
15
15
|
/**
|
|
16
16
|
* グラフトラバーサルで同じエンティティを共有するノートを取得する。
|
|
17
|
+
* IDF重み付け(対数減衰)により稀なエンティティほど高スコアを付与する。
|
|
17
18
|
*/
|
|
18
19
|
private findByGraphTraversal;
|
|
19
20
|
private findByTagSimilarity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-generator.d.ts","sourceRoot":"","sources":["../../src/search/link-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,oCAAoC,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe,CAAC;gBADhB,UAAU,EAAE,mBAAmB,EAC/B,eAAe,CAAC,EAAE,eAAe,YAAA;IAG3C,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,WAAW,EAAE;IAkB1D
|
|
1
|
+
{"version":3,"file":"link-generator.d.ts","sourceRoot":"","sources":["../../src/search/link-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,oCAAoC,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe,CAAC;gBADhB,UAAU,EAAE,mBAAmB,EAC/B,eAAe,CAAC,EAAE,eAAe,YAAA;IAG3C,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,WAAW,EAAE;IAkB1D;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,mBAAmB;IA+C3B,OAAO,CAAC,0BAA0B;IAyBlC,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,eAAe;CAOxB"}
|
|
@@ -22,6 +22,7 @@ export class LocalLinkGenerator {
|
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* グラフトラバーサルで同じエンティティを共有するノートを取得する。
|
|
25
|
+
* IDF重み付け(対数減衰)により稀なエンティティほど高スコアを付与する。
|
|
25
26
|
*/
|
|
26
27
|
findByGraphTraversal(noteId, limit) {
|
|
27
28
|
if (!this.graphRepository)
|
|
@@ -30,6 +31,9 @@ export class LocalLinkGenerator {
|
|
|
30
31
|
const relatedNotes = [];
|
|
31
32
|
const seen = new Set([noteId]);
|
|
32
33
|
for (const entity of linkedEntities) {
|
|
34
|
+
// IDF-based scoring: 稀なエンティティ(df小)ほど高スコア
|
|
35
|
+
const df = this.graphRepository.getEntityNoteCount(entity.id);
|
|
36
|
+
const similarity = 1 / (1 + Math.log(1 + df)); // df=0→1.0, df=1→0.59, df=10→0.29, df=100→0.18
|
|
33
37
|
const entityNotes = this.graphRepository.getLinkedNotes(entity.id);
|
|
34
38
|
for (const { noteId: linkedNoteId } of entityNotes) {
|
|
35
39
|
if (seen.has(linkedNoteId))
|
|
@@ -41,7 +45,7 @@ export class LocalLinkGenerator {
|
|
|
41
45
|
id: note.id,
|
|
42
46
|
filePath: note.file_path,
|
|
43
47
|
title: note.title,
|
|
44
|
-
similarity
|
|
48
|
+
similarity,
|
|
45
49
|
reason: `共通エンティティ: ${entity.name}`,
|
|
46
50
|
});
|
|
47
51
|
}
|
|
@@ -93,11 +97,28 @@ export class LocalLinkGenerator {
|
|
|
93
97
|
findByTimeProximity(currentNote, limit) {
|
|
94
98
|
const currentDate = new Date(currentNote.created_at);
|
|
95
99
|
const results = this.repository.findNotesByTimeProximity(currentNote.id, currentNote.created_at, 7, limit);
|
|
100
|
+
if (results.length === 0)
|
|
101
|
+
return [];
|
|
96
102
|
const relatedNotes = [];
|
|
97
|
-
|
|
103
|
+
const DAY_MS = 1000 * 60 * 60 * 24;
|
|
104
|
+
const allDaysDiffs = results.map((note) => {
|
|
98
105
|
const noteDate = new Date(note.created_at);
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
return Math.abs((currentDate.getTime() - noteDate.getTime()) / DAY_MS);
|
|
107
|
+
});
|
|
108
|
+
const sorted = [...allDaysDiffs].sort((a, b) => a - b);
|
|
109
|
+
const medianDiff = sorted[Math.floor(sorted.length / 2)] || 1;
|
|
110
|
+
const lambda = Math.LN2 / Math.max(medianDiff, 0.1);
|
|
111
|
+
// timestamp分散を計算し、低分散時はtime-proximityの重みを自動低減
|
|
112
|
+
const mean = allDaysDiffs.reduce((a, b) => a + b, 0) / allDaysDiffs.length;
|
|
113
|
+
const variance = allDaysDiffs.reduce((a, b) => a + (b - mean) ** 2, 0) / allDaysDiffs.length;
|
|
114
|
+
// 分散が0.01未満(≒全同一timestamp)なら dampening → 0.1、分散が大きくなるにつれ1.0に近づく
|
|
115
|
+
const dampening = Math.min(1.0, Math.sqrt(variance) / 1.0);
|
|
116
|
+
const effectiveDampening = Math.max(dampening, 0.1);
|
|
117
|
+
for (let i = 0; i < results.length; i++) {
|
|
118
|
+
const note = results[i];
|
|
119
|
+
const daysDiff = allDaysDiffs[i];
|
|
120
|
+
const rawSimilarity = Math.exp(-lambda * daysDiff) * 0.8 + 0.2;
|
|
121
|
+
const similarity = rawSimilarity * effectiveDampening;
|
|
101
122
|
relatedNotes.push({
|
|
102
123
|
id: note.id,
|
|
103
124
|
filePath: note.file_path,
|
|
@@ -129,20 +150,32 @@ export class LocalLinkGenerator {
|
|
|
129
150
|
return relatedNotes;
|
|
130
151
|
}
|
|
131
152
|
deduplicateAndRank(relatedNotes, excludeNoteId) {
|
|
132
|
-
const
|
|
153
|
+
const noteScores = new Map();
|
|
133
154
|
for (const note of relatedNotes) {
|
|
134
155
|
if (note.id === excludeNoteId)
|
|
135
156
|
continue;
|
|
136
|
-
if (
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
157
|
+
if (noteScores.has(note.id)) {
|
|
158
|
+
const entry = noteScores.get(note.id);
|
|
159
|
+
entry.scores.push(note.similarity);
|
|
160
|
+
entry.note.reason += `, ${note.reason}`;
|
|
140
161
|
}
|
|
141
162
|
else {
|
|
142
|
-
|
|
163
|
+
noteScores.set(note.id, { scores: [note.similarity], note: { ...note } });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// max + diminishing boost: 最大スコアをベースに、追加シグナルは (1-max) の一部をブースト
|
|
167
|
+
const BOOST_FACTOR = 0.15;
|
|
168
|
+
for (const entry of noteScores.values()) {
|
|
169
|
+
const sorted = entry.scores.sort((a, b) => b - a);
|
|
170
|
+
let combined = sorted[0];
|
|
171
|
+
for (let i = 1; i < sorted.length; i++) {
|
|
172
|
+
combined += (1 - combined) * sorted[i] * BOOST_FACTOR;
|
|
143
173
|
}
|
|
174
|
+
entry.note.similarity = Math.min(combined, 0.99);
|
|
144
175
|
}
|
|
145
|
-
return Array.from(
|
|
176
|
+
return Array.from(noteScores.values())
|
|
177
|
+
.map((e) => e.note)
|
|
178
|
+
.sort((a, b) => b.similarity - a.similarity);
|
|
146
179
|
}
|
|
147
180
|
parseTags(frontmatterJson) {
|
|
148
181
|
if (!frontmatterJson)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-generator.js","sourceRoot":"","sources":["../../src/search/link-generator.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,kBAAkB;IAEnB;IACA;IAFV,YACU,UAA+B,EAC/B,eAAiC;QADjC,eAAU,GAAV,UAAU,CAAqB;QAC/B,oBAAe,GAAf,eAAe,CAAkB;IACxC,CAAC;IAEJ,gBAAgB,CAAC,MAAc,EAAE,KAAK,GAAG,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE5B,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACvE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACzE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"link-generator.js","sourceRoot":"","sources":["../../src/search/link-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { KnowledgeNote, KnowledgeRepository } from "../storage/knowledge-repository.js";
|
|
1
|
+
import type { KnowledgeNote, KnowledgeNoteSummary, KnowledgeRepository } from "../storage/knowledge-repository.js";
|
|
2
2
|
import type { GraphRepository } from "../graph/graph-repository.js";
|
|
3
3
|
import type { EmbeddingProvider } from "../embedding/embedding-provider.js";
|
|
4
4
|
import type { LLMProvider } from "../llm/types.js";
|
|
5
5
|
import type { EntityWithGraph } from "../types.js";
|
|
6
6
|
import type { SearchOptions } from "./knowledge-searcher.js";
|
|
7
7
|
export interface OrchestratedResult {
|
|
8
|
-
note: KnowledgeNote;
|
|
8
|
+
note: KnowledgeNote | KnowledgeNoteSummary;
|
|
9
9
|
score: number;
|
|
10
10
|
layerScores: Record<string, number>;
|
|
11
11
|
matchReason: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-orchestrator.d.ts","sourceRoot":"","sources":["../../src/search/query-orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-orchestrator.d.ts","sourceRoot":"","sources":["../../src/search/query-orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAO7D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;GAGG;AACH,qBAAa,iBAAiB;IAQ1B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IARzB,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAGhB,UAAU,EAAE,mBAAmB,EAC/B,eAAe,EAAE,eAAe,EACxC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,WAAW,CAAC,EAAE,WAAW,EACzB,MAAM,CAAC,EAAE,uBAAuB;IAW5B,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAwBpD,kBAAkB;YA8DlB,iBAAiB;IAyE/B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,iBAAiB;YA8DX,iBAAiB;CAgEhC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { basename } from "path";
|
|
1
2
|
import { SemanticSearcher } from "./semantic-searcher.js";
|
|
2
3
|
import { HybridSearcher } from "./hybrid-searcher.js";
|
|
3
4
|
import { ReasoningReranker } from "./reasoning-reranker.js";
|
|
@@ -61,12 +62,29 @@ export class QueryOrchestrator {
|
|
|
61
62
|
if (rows.length === 0) {
|
|
62
63
|
return [];
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
const
|
|
65
|
+
// CHANGELOG discount + newness bonus (knowledge-searcher.ts と同一ロジック)
|
|
66
|
+
const CHANGELOG_PATTERN = /^(CHANGELOG|CHANGES|HISTORY)\.(md|txt|rst)$/i;
|
|
67
|
+
const CHANGELOG_DISCOUNT = 0.3;
|
|
68
|
+
const adjustedRanks = rows.map(({ note, rank }) => {
|
|
69
|
+
let adjusted = rank;
|
|
70
|
+
const validFrom = note.valid_from ?? note.created_at;
|
|
71
|
+
if (validFrom) {
|
|
72
|
+
const yearsSinceNow = (Date.now() - new Date(validFrom).getTime()) / (365.25 * 24 * 60 * 60 * 1000);
|
|
73
|
+
if (Number.isFinite(yearsSinceNow)) {
|
|
74
|
+
const boost = 1 + Math.min(0.3, Math.max(0, 0.3 - yearsSinceNow * 0.06));
|
|
75
|
+
adjusted = adjusted * boost;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (CHANGELOG_PATTERN.test(basename(note.file_path))) {
|
|
79
|
+
adjusted = adjusted * CHANGELOG_DISCOUNT;
|
|
80
|
+
}
|
|
81
|
+
return adjusted;
|
|
82
|
+
});
|
|
83
|
+
const minRank = Math.min(...adjustedRanks);
|
|
84
|
+
const maxRank = Math.max(...adjustedRanks);
|
|
67
85
|
const range = maxRank - minRank;
|
|
68
|
-
return rows.map(({ note,
|
|
69
|
-
const normalized = range > 0 ? (
|
|
86
|
+
return rows.map(({ note }, i) => {
|
|
87
|
+
const normalized = range > 0 ? (adjustedRanks[i] - minRank) / range : 0;
|
|
70
88
|
const score = 1 - normalized;
|
|
71
89
|
return {
|
|
72
90
|
note,
|
|
@@ -113,18 +131,18 @@ export class QueryOrchestrator {
|
|
|
113
131
|
matchReason: [`グラフ関連エンティティ数: ${linkedEntities.length}`],
|
|
114
132
|
});
|
|
115
133
|
}
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
})
|
|
127
|
-
}
|
|
134
|
+
// 関連ノートを新規候補として追加(バッチ取得)
|
|
135
|
+
const newLinkedNoteIds = [...linkedNoteIds].filter((id) => !graphResultMap.has(id));
|
|
136
|
+
if (newLinkedNoteIds.length > 0) {
|
|
137
|
+
const linkedNotes = this.repository.getNotesSummaryByIds(newLinkedNoteIds);
|
|
138
|
+
const entityName = linkedEntities[0]?.name ?? "";
|
|
139
|
+
for (const note of linkedNotes) {
|
|
140
|
+
const graphScore = 0.3; // 間接的な関連のスコア
|
|
141
|
+
graphResultMap.set(note.id, {
|
|
142
|
+
score: graphScore,
|
|
143
|
+
graphContext: entityGraphs,
|
|
144
|
+
matchReason: [`グラフ経由の関連ノート (entity: ${entityName})`],
|
|
145
|
+
});
|
|
128
146
|
}
|
|
129
147
|
}
|
|
130
148
|
}
|
|
@@ -164,15 +182,17 @@ export class QueryOrchestrator {
|
|
|
164
182
|
graphContext: graphData?.graphContext,
|
|
165
183
|
});
|
|
166
184
|
}
|
|
167
|
-
// graphResultMapに含まれる新規ノート(vector
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
185
|
+
// graphResultMapに含まれる新規ノート(vectorになかったもの)をバッチ取得して追加
|
|
186
|
+
const newGraphNoteIds = [...graphResultMap.keys()].filter((id) => !noteMap.has(id));
|
|
187
|
+
if (newGraphNoteIds.length > 0) {
|
|
188
|
+
const newGraphNotes = this.repository.getNotesSummaryByIds(newGraphNoteIds);
|
|
189
|
+
for (const note of newGraphNotes) {
|
|
190
|
+
const graphData = graphResultMap.get(note.id);
|
|
191
|
+
if (!graphData)
|
|
172
192
|
continue;
|
|
173
193
|
const graphScore = graphData.score;
|
|
174
194
|
const finalScore = weights.graph * graphScore;
|
|
175
|
-
noteMap.set(
|
|
195
|
+
noteMap.set(note.id, {
|
|
176
196
|
note,
|
|
177
197
|
score: finalScore,
|
|
178
198
|
layerScores: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-orchestrator.js","sourceRoot":"","sources":["../../src/search/query-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-orchestrator.js","sourceRoot":"","sources":["../../src/search/query-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { LLMProvider } from "../llm/types.js";
|
|
2
|
-
import type { KnowledgeRepository, KnowledgeNote } from "../storage/knowledge-repository.js";
|
|
2
|
+
import type { KnowledgeRepository, KnowledgeNote, KnowledgeNoteSummary } from "../storage/knowledge-repository.js";
|
|
3
3
|
import type { SearchResult } from "./knowledge-searcher.js";
|
|
4
4
|
export interface RerankOptions {
|
|
5
5
|
maxCandidates?: number;
|
|
6
6
|
maxResults?: number;
|
|
7
7
|
}
|
|
8
8
|
export interface RerankedResult {
|
|
9
|
-
note: KnowledgeNote;
|
|
9
|
+
note: KnowledgeNote | KnowledgeNoteSummary;
|
|
10
10
|
score: number;
|
|
11
11
|
originalScore: number;
|
|
12
12
|
matchReason: string[];
|
|
@@ -18,7 +18,7 @@ export interface RerankedResult {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
export interface RerankInput {
|
|
21
|
-
note: KnowledgeNote;
|
|
21
|
+
note: KnowledgeNote | KnowledgeNoteSummary;
|
|
22
22
|
baseScore: number;
|
|
23
23
|
matchReason: string[];
|
|
24
24
|
}
|
|
@@ -28,7 +28,7 @@ export interface AxisScores {
|
|
|
28
28
|
psp: number;
|
|
29
29
|
}
|
|
30
30
|
export interface RerankResult {
|
|
31
|
-
note: KnowledgeNote;
|
|
31
|
+
note: KnowledgeNote | KnowledgeNoteSummary;
|
|
32
32
|
baseScore: number;
|
|
33
33
|
scores: AxisScores;
|
|
34
34
|
finalScore: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-reranker.d.ts","sourceRoot":"","sources":["../../src/search/reasoning-reranker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"reasoning-reranker.d.ts","sourceRoot":"","sources":["../../src/search/reasoning-reranker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAID,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,GAAG,oBAAoB,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkKD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,cAAc,CAAC;gBAHf,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,UAAU,EAAE,mBAAmB,EAE/B,cAAc,CAAC,EAAE,eAAe,YAAA;IAG1C;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC;IAwG5B;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA0C/F"}
|
|
@@ -72,12 +72,15 @@ Example output:
|
|
|
72
72
|
}`;
|
|
73
73
|
const candidateLines = candidates
|
|
74
74
|
.map((c) => {
|
|
75
|
-
const
|
|
76
|
-
const
|
|
75
|
+
const note = c.note;
|
|
76
|
+
const content = "content" in note ? note.content : "";
|
|
77
|
+
const frontmatterJson = "frontmatter_json" in note ? note.frontmatter_json : null;
|
|
78
|
+
const preview = content.slice(0, 200).replace(/\n/g, " ");
|
|
79
|
+
const fm = frontmatterJson ? JSON.parse(frontmatterJson) : {};
|
|
77
80
|
const tags = Array.isArray(fm.tags) ? fm.tags : [];
|
|
78
81
|
return JSON.stringify({
|
|
79
|
-
id:
|
|
80
|
-
title:
|
|
82
|
+
id: note.id,
|
|
83
|
+
title: note.title,
|
|
81
84
|
content: preview,
|
|
82
85
|
tags,
|
|
83
86
|
});
|
|
@@ -307,7 +310,8 @@ function scoreLegacyTemporalAxis(note) {
|
|
|
307
310
|
function scoreLegacyContextAxis(note, queryTokens) {
|
|
308
311
|
if (queryTokens.length === 0)
|
|
309
312
|
return 0.5;
|
|
310
|
-
const
|
|
313
|
+
const frontmatterJson = "frontmatter_json" in note ? note.frontmatter_json : null;
|
|
314
|
+
const tags = extractTags(frontmatterJson);
|
|
311
315
|
if (tags.length === 0)
|
|
312
316
|
return 0.3;
|
|
313
317
|
const matchCount = queryTokens.filter((token) => tags.some((tag) => tag.toLowerCase().includes(token) || token.includes(tag.toLowerCase()))).length;
|