memento-mcp-server 1.12.0 → 1.13.0-a
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/algorithms/forgetting-algorithm.d.ts +21 -13
- package/dist/algorithms/forgetting-algorithm.d.ts.map +1 -1
- package/dist/algorithms/forgetting-algorithm.js +32 -24
- package/dist/algorithms/forgetting-algorithm.js.map +1 -1
- package/dist/algorithms/hybrid-search-engine.d.ts +11 -9
- package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/dist/algorithms/hybrid-search-engine.js +77 -75
- package/dist/algorithms/hybrid-search-engine.js.map +1 -1
- package/dist/algorithms/search-engine.d.ts +33 -11
- package/dist/algorithms/search-engine.d.ts.map +1 -1
- package/dist/algorithms/search-engine.js +157 -62
- package/dist/algorithms/search-engine.js.map +1 -1
- package/dist/algorithms/search-ranking.d.ts +57 -50
- package/dist/algorithms/search-ranking.d.ts.map +1 -1
- package/dist/algorithms/search-ranking.js +91 -84
- package/dist/algorithms/search-ranking.js.map +1 -1
- package/dist/algorithms/spaced-repetition.d.ts +18 -13
- package/dist/algorithms/spaced-repetition.d.ts.map +1 -1
- package/dist/algorithms/spaced-repetition.js +28 -23
- package/dist/algorithms/spaced-repetition.js.map +1 -1
- package/dist/algorithms/vector-search-engine-migration.d.ts +8 -6
- package/dist/algorithms/vector-search-engine-migration.d.ts.map +1 -1
- package/dist/algorithms/vector-search-engine-migration.js +13 -11
- package/dist/algorithms/vector-search-engine-migration.js.map +1 -1
- package/dist/algorithms/vector-search-engine-refactored.d.ts +7 -7
- package/dist/algorithms/vector-search-engine-refactored.d.ts.map +1 -1
- package/dist/algorithms/vector-search-engine-refactored.js +7 -7
- package/dist/algorithms/vector-search-engine-refactored.js.map +1 -1
- package/dist/algorithms/vector-search-engine.d.ts +25 -20
- package/dist/algorithms/vector-search-engine.d.ts.map +1 -1
- package/dist/algorithms/vector-search-engine.js +47 -43
- package/dist/algorithms/vector-search-engine.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -1
- package/dist/config/index.js.map +1 -1
- package/dist/database/init.d.ts.map +1 -1
- package/dist/database/init.js +20 -0
- package/dist/database/init.js.map +1 -1
- package/dist/database/migration/migrations/006-fts5-reflection-notes-migration-status.sql +30 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.d.ts +113 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.d.ts.map +1 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.js +435 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.js.map +1 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.sql +26 -0
- package/dist/database/schema.sql +11 -9
- package/dist/server/bootstrap.d.ts +4 -0
- package/dist/server/bootstrap.d.ts.map +1 -1
- package/dist/server/bootstrap.js +11 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +3 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +2 -1
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/index.js +3 -1
- package/dist/server/index.js.map +1 -1
- package/dist/services/async-optimizer.d.ts +2 -1
- package/dist/services/async-optimizer.d.ts.map +1 -1
- package/dist/services/async-optimizer.js +28 -1
- package/dist/services/async-optimizer.js.map +1 -1
- package/dist/services/batch-scheduler.d.ts +5 -1
- package/dist/services/batch-scheduler.d.ts.map +1 -1
- package/dist/services/batch-scheduler.js +13 -1
- package/dist/services/batch-scheduler.js.map +1 -1
- package/dist/services/cache-service.js +1 -1
- package/dist/services/cache-service.js.map +1 -1
- package/dist/services/failure-detector.d.ts +120 -0
- package/dist/services/failure-detector.d.ts.map +1 -0
- package/dist/services/failure-detector.js +370 -0
- package/dist/services/failure-detector.js.map +1 -0
- package/dist/services/llm-based-relation-extractor.js +1 -1
- package/dist/services/llm-based-relation-extractor.js.map +1 -1
- package/dist/services/reflexion-worker.d.ts +170 -0
- package/dist/services/reflexion-worker.d.ts.map +1 -0
- package/dist/services/reflexion-worker.js +636 -0
- package/dist/services/reflexion-worker.js.map +1 -0
- package/dist/services/relation-graph.d.ts +2 -2
- package/dist/services/relation-graph.js +3 -3
- package/dist/services/relation-graph.js.map +1 -1
- package/dist/tools/base-tool.d.ts +5 -0
- package/dist/tools/base-tool.d.ts.map +1 -1
- package/dist/tools/base-tool.js +39 -0
- package/dist/tools/base-tool.js.map +1 -1
- package/dist/tools/recall-tool.d.ts.map +1 -1
- package/dist/tools/recall-tool.js +36 -2
- package/dist/tools/recall-tool.js.map +1 -1
- package/dist/tools/remember-tool.d.ts +24 -0
- package/dist/tools/remember-tool.d.ts.map +1 -1
- package/dist/tools/remember-tool.js +445 -273
- package/dist/tools/remember-tool.js.map +1 -1
- package/dist/tools/types.d.ts +5 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/database.d.ts.map +1 -1
- package/dist/utils/database.js +34 -10
- package/dist/utils/database.js.map +1 -1
- package/dist/utils/fts5-migration-status.d.ts +72 -0
- package/dist/utils/fts5-migration-status.d.ts.map +1 -0
- package/dist/utils/fts5-migration-status.js +304 -0
- package/dist/utils/fts5-migration-status.js.map +1 -0
- package/dist/utils/reflection-notes-merge.d.ts +58 -0
- package/dist/utils/reflection-notes-merge.d.ts.map +1 -0
- package/dist/utils/reflection-notes-merge.js +227 -0
- package/dist/utils/reflection-notes-merge.js.map +1 -0
- package/dist/utils/reflection-notes-normalize.d.ts +43 -0
- package/dist/utils/reflection-notes-normalize.d.ts.map +1 -0
- package/dist/utils/reflection-notes-normalize.js +164 -0
- package/dist/utils/reflection-notes-normalize.js.map +1 -0
- package/dist/utils/reflection-notes-schema.d.ts +84 -0
- package/dist/utils/reflection-notes-schema.d.ts.map +1 -0
- package/dist/utils/reflection-notes-schema.js +215 -0
- package/dist/utils/reflection-notes-schema.js.map +1 -0
- package/package.json +3 -1
- package/src/database/schema.sql +11 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Memento-Goals.md
|
|
2
|
+
* 오래되고 사용되지 않는 기억을 자동으로 식별하여 저장 공간을 효율적으로 관리합니다.
|
|
3
|
+
* Memento-Goals.md에 정의된 검증된 망각 공식을 구현하여 일관되고 공정한 망각 결정을 보장합니다.
|
|
4
4
|
*/
|
|
5
5
|
export interface ForgettingFeatures {
|
|
6
6
|
recency: number;
|
|
@@ -27,20 +27,23 @@ export declare class ForgettingAlgorithm {
|
|
|
27
27
|
private readonly weights;
|
|
28
28
|
constructor(weights?: Partial<ForgettingWeights>);
|
|
29
29
|
/**
|
|
30
|
-
* 망각
|
|
31
|
-
*
|
|
30
|
+
* 단일 특징만으로는 망각 여부를 정확히 판단할 수 없으므로, 다차원 특징을 가중 평균하여 망각 가능성을 정량적으로 평가합니다.
|
|
31
|
+
* 최근성, 사용성, 중복도, 중요도, 고정 여부를 종합적으로 고려하여 공정한 망각 결정을 내립니다.
|
|
32
32
|
*/
|
|
33
33
|
calculateForgetScore(features: ForgettingFeatures): number;
|
|
34
34
|
/**
|
|
35
|
-
* 망각
|
|
35
|
+
* 망각 점수가 임계값을 넘으면 저장 공간을 효율적으로 관리하기 위해 해당 기억을 망각 대상으로 결정합니다.
|
|
36
|
+
* 임계값을 조정하여 망각 정책의 엄격도를 제어할 수 있도록 합니다.
|
|
36
37
|
*/
|
|
37
38
|
shouldForget(forgetScore: number, threshold?: number): boolean;
|
|
38
39
|
/**
|
|
39
|
-
* 망각
|
|
40
|
+
* 사용자에게 망각 결정의 근거를 명확히 전달하여 투명성을 보장합니다.
|
|
41
|
+
* 다양한 특징을 분석하여 구체적인 망각 이유를 제공합니다.
|
|
40
42
|
*/
|
|
41
43
|
generateForgetReason(features: ForgettingFeatures, forgetScore: number): string;
|
|
42
44
|
/**
|
|
43
|
-
*
|
|
45
|
+
* 망각 알고리즘이 정확한 판단을 내리려면 메모리의 다양한 특징이 정량화되어야 하므로, 필요한 입력 데이터를 준비합니다.
|
|
46
|
+
* 최근성, 사용성, 중복도, 중요도 등을 계산하여 종합적인 평가를 수행합니다.
|
|
44
47
|
*/
|
|
45
48
|
calculateFeatures(memory: {
|
|
46
49
|
created_at: string;
|
|
@@ -53,27 +56,32 @@ export declare class ForgettingAlgorithm {
|
|
|
53
56
|
edit_count?: number;
|
|
54
57
|
}, duplicates?: number, totalMemories?: number): ForgettingFeatures;
|
|
55
58
|
/**
|
|
56
|
-
*
|
|
59
|
+
* 시간에 따른 기억의 자연스러운 감쇠를 반영하여 오래된 기억을 식별합니다.
|
|
60
|
+
* 반감기 기반 지수 감쇠를 사용하여 시간이 지날수록 망각 가능성이 증가하도록 설계합니다.
|
|
57
61
|
*/
|
|
58
62
|
private calculateRecency;
|
|
59
63
|
/**
|
|
60
|
-
*
|
|
64
|
+
* 실제 사용 빈도를 반영하여 사용되지 않는 기억을 식별합니다.
|
|
65
|
+
* 접근 빈도와 사용 빈도를 종합하여 사용성을 정량화합니다.
|
|
61
66
|
*/
|
|
62
67
|
private calculateUsage;
|
|
63
68
|
/**
|
|
64
|
-
* 접근
|
|
69
|
+
* 마지막 접근 시간을 기반으로 최근성 점수를 계산하여 사용 빈도와 함께 평가합니다.
|
|
70
|
+
* 30일 반감기를 사용하여 시간에 따른 감쇠를 반영합니다.
|
|
65
71
|
*/
|
|
66
72
|
private calculateAccessScore;
|
|
67
73
|
/**
|
|
68
|
-
*
|
|
74
|
+
* 시간이 지날수록 기억의 관련성이 자연스럽게 감쇠하므로, 메모리의 생성 시간으로부터 경과된 일수를 계산하여 최근성 평가에 사용합니다.
|
|
69
75
|
*/
|
|
70
76
|
private getAgeInDays;
|
|
71
77
|
/**
|
|
72
|
-
* 타입별
|
|
78
|
+
* 메모리 타입에 따라 다른 반감기를 설정하여 타입별 특성에 맞는 감쇠 속도를 적용합니다.
|
|
79
|
+
* working 메모리는 빠르게, semantic 메모리는 천천히 감쇠하도록 설계합니다.
|
|
73
80
|
*/
|
|
74
81
|
private getHalfLife;
|
|
75
82
|
/**
|
|
76
|
-
* 망각
|
|
83
|
+
* 여러 메모리를 일괄 분석하여 망각 후보를 선정합니다.
|
|
84
|
+
* 중복도를 계산하고 각 메모리의 망각 점수를 산출하여 우선순위를 결정합니다.
|
|
77
85
|
*/
|
|
78
86
|
analyzeForgetCandidates(memories: Array<{
|
|
79
87
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgetting-algorithm.d.ts","sourceRoot":"","sources":["../../src/algorithms/forgetting-algorithm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAWhD;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAY1D
|
|
1
|
+
{"version":3,"file":"forgetting-algorithm.d.ts","sourceRoot":"","sources":["../../src/algorithms/forgetting-algorithm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,OAAO,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAWhD;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAY1D;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,OAAO;IAInE;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IA0B/E;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,EAAE,UAAU,GAAE,MAAU,EAAE,aAAa,GAAE,MAAU,GAAG,kBAAkB;IA2BzE;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAUnB;;;OAGG;IACH,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC;QACtC,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,GAAG,gBAAgB,EAAE;CA8BxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Memento-Goals.md
|
|
2
|
+
* 오래되고 사용되지 않는 기억을 자동으로 식별하여 저장 공간을 효율적으로 관리합니다.
|
|
3
|
+
* Memento-Goals.md에 정의된 검증된 망각 공식을 구현하여 일관되고 공정한 망각 결정을 보장합니다.
|
|
4
4
|
*/
|
|
5
5
|
export class ForgettingAlgorithm {
|
|
6
6
|
weights;
|
|
@@ -15,8 +15,8 @@ export class ForgettingAlgorithm {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* 망각
|
|
19
|
-
*
|
|
18
|
+
* 단일 특징만으로는 망각 여부를 정확히 판단할 수 없으므로, 다차원 특징을 가중 평균하여 망각 가능성을 정량적으로 평가합니다.
|
|
19
|
+
* 최근성, 사용성, 중복도, 중요도, 고정 여부를 종합적으로 고려하여 공정한 망각 결정을 내립니다.
|
|
20
20
|
*/
|
|
21
21
|
calculateForgetScore(features) {
|
|
22
22
|
const { recency, usage, duplication_ratio, importance, pinned } = features;
|
|
@@ -28,13 +28,15 @@ export class ForgettingAlgorithm {
|
|
|
28
28
|
return recencyScore + usageScore + duplicationScore - importanceScore - pinnedScore;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* 망각
|
|
31
|
+
* 망각 점수가 임계값을 넘으면 저장 공간을 효율적으로 관리하기 위해 해당 기억을 망각 대상으로 결정합니다.
|
|
32
|
+
* 임계값을 조정하여 망각 정책의 엄격도를 제어할 수 있도록 합니다.
|
|
32
33
|
*/
|
|
33
34
|
shouldForget(forgetScore, threshold = 0.6) {
|
|
34
35
|
return forgetScore >= threshold;
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
|
-
* 망각
|
|
38
|
+
* 사용자에게 망각 결정의 근거를 명확히 전달하여 투명성을 보장합니다.
|
|
39
|
+
* 다양한 특징을 분석하여 구체적인 망각 이유를 제공합니다.
|
|
38
40
|
*/
|
|
39
41
|
generateForgetReason(features, forgetScore) {
|
|
40
42
|
const reasons = [];
|
|
@@ -59,16 +61,17 @@ export class ForgettingAlgorithm {
|
|
|
59
61
|
return reasons.join(', ');
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
|
-
*
|
|
64
|
+
* 망각 알고리즘이 정확한 판단을 내리려면 메모리의 다양한 특징이 정량화되어야 하므로, 필요한 입력 데이터를 준비합니다.
|
|
65
|
+
* 최근성, 사용성, 중복도, 중요도 등을 계산하여 종합적인 평가를 수행합니다.
|
|
63
66
|
*/
|
|
64
67
|
calculateFeatures(memory, duplicates = 0, totalMemories = 1) {
|
|
65
|
-
//
|
|
68
|
+
// 시간에 따른 기억의 자연스러운 감쇠를 반영하여 오래된 기억을 식별합니다.
|
|
66
69
|
const recency = this.calculateRecency(new Date(memory.created_at), memory.type);
|
|
67
|
-
//
|
|
70
|
+
// 실제 사용 빈도를 반영하여 사용되지 않는 기억을 식별합니다.
|
|
68
71
|
const usage = this.calculateUsage(memory.last_accessed ? new Date(memory.last_accessed) : undefined, memory.view_count || 0, memory.cite_count || 0, memory.edit_count || 0);
|
|
69
|
-
// 중복
|
|
72
|
+
// 유사한 내용의 중복 기억을 식별하여 저장 공간을 효율적으로 관리합니다.
|
|
70
73
|
const duplication_ratio = totalMemories > 0 ? duplicates / totalMemories : 0;
|
|
71
|
-
//
|
|
74
|
+
// 사용자가 명시적으로 설정한 중요도를 그대로 사용하여 사용자의 의도를 존중합니다.
|
|
72
75
|
const importance = memory.importance;
|
|
73
76
|
return {
|
|
74
77
|
recency,
|
|
@@ -79,7 +82,8 @@ export class ForgettingAlgorithm {
|
|
|
79
82
|
};
|
|
80
83
|
}
|
|
81
84
|
/**
|
|
82
|
-
*
|
|
85
|
+
* 시간에 따른 기억의 자연스러운 감쇠를 반영하여 오래된 기억을 식별합니다.
|
|
86
|
+
* 반감기 기반 지수 감쇠를 사용하여 시간이 지날수록 망각 가능성이 증가하도록 설계합니다.
|
|
83
87
|
*/
|
|
84
88
|
calculateRecency(createdAt, type) {
|
|
85
89
|
const ageDays = this.getAgeInDays(createdAt);
|
|
@@ -87,29 +91,31 @@ export class ForgettingAlgorithm {
|
|
|
87
91
|
return Math.exp(-Math.log(2) * ageDays / halfLife);
|
|
88
92
|
}
|
|
89
93
|
/**
|
|
90
|
-
*
|
|
94
|
+
* 실제 사용 빈도를 반영하여 사용되지 않는 기억을 식별합니다.
|
|
95
|
+
* 접근 빈도와 사용 빈도를 종합하여 사용성을 정량화합니다.
|
|
91
96
|
*/
|
|
92
97
|
calculateUsage(lastAccessed, viewCount = 0, citeCount = 0, editCount = 0) {
|
|
93
|
-
// 접근
|
|
98
|
+
// 시간이 지날수록 기억의 관련성이 자연스럽게 감쇠하므로, 마지막 접근 시간을 기반으로 최근성 점수를 계산합니다.
|
|
94
99
|
const accessScore = lastAccessed ? this.calculateAccessScore(lastAccessed) : 0;
|
|
95
|
-
// 사용
|
|
100
|
+
// 로그 스케일을 사용하여 사용 빈도의 차이를 완화하고 균형잡힌 점수를 생성합니다.
|
|
96
101
|
const usageScore = Math.log(1 + viewCount) +
|
|
97
102
|
2 * Math.log(1 + citeCount) +
|
|
98
103
|
0.5 * Math.log(1 + editCount);
|
|
99
|
-
//
|
|
100
|
-
const normalizedUsage = Math.min(1, usageScore / 10); //
|
|
104
|
+
// 점수를 0-1 범위로 정규화하여 다른 지표와 일관된 비교가 가능하도록 합니다.
|
|
105
|
+
const normalizedUsage = Math.min(1, usageScore / 10); // 경험적으로 도출된 최대값을 사용하여 정규화합니다.
|
|
101
106
|
return Math.max(accessScore, normalizedUsage);
|
|
102
107
|
}
|
|
103
108
|
/**
|
|
104
|
-
* 접근
|
|
109
|
+
* 마지막 접근 시간을 기반으로 최근성 점수를 계산하여 사용 빈도와 함께 평가합니다.
|
|
110
|
+
* 30일 반감기를 사용하여 시간에 따른 감쇠를 반영합니다.
|
|
105
111
|
*/
|
|
106
112
|
calculateAccessScore(lastAccessed) {
|
|
107
113
|
const daysSinceAccess = this.getAgeInDays(lastAccessed);
|
|
108
|
-
// 30일
|
|
114
|
+
// 30일 반감기를 사용하여 시간에 따른 자연스러운 감쇠를 반영합니다.
|
|
109
115
|
return Math.exp(-daysSinceAccess / 30);
|
|
110
116
|
}
|
|
111
117
|
/**
|
|
112
|
-
*
|
|
118
|
+
* 시간이 지날수록 기억의 관련성이 자연스럽게 감쇠하므로, 메모리의 생성 시간으로부터 경과된 일수를 계산하여 최근성 평가에 사용합니다.
|
|
113
119
|
*/
|
|
114
120
|
getAgeInDays(date) {
|
|
115
121
|
const now = new Date();
|
|
@@ -117,7 +123,8 @@ export class ForgettingAlgorithm {
|
|
|
117
123
|
return diffTime / (1000 * 60 * 60 * 24);
|
|
118
124
|
}
|
|
119
125
|
/**
|
|
120
|
-
* 타입별
|
|
126
|
+
* 메모리 타입에 따라 다른 반감기를 설정하여 타입별 특성에 맞는 감쇠 속도를 적용합니다.
|
|
127
|
+
* working 메모리는 빠르게, semantic 메모리는 천천히 감쇠하도록 설계합니다.
|
|
121
128
|
*/
|
|
122
129
|
getHalfLife(type) {
|
|
123
130
|
switch (type) {
|
|
@@ -129,15 +136,16 @@ export class ForgettingAlgorithm {
|
|
|
129
136
|
}
|
|
130
137
|
}
|
|
131
138
|
/**
|
|
132
|
-
* 망각
|
|
139
|
+
* 여러 메모리를 일괄 분석하여 망각 후보를 선정합니다.
|
|
140
|
+
* 중복도를 계산하고 각 메모리의 망각 점수를 산출하여 우선순위를 결정합니다.
|
|
133
141
|
*/
|
|
134
142
|
analyzeForgetCandidates(memories) {
|
|
135
143
|
const results = [];
|
|
136
144
|
const totalMemories = memories.length;
|
|
137
|
-
// 중복
|
|
145
|
+
// 중복 기억을 식별하기 위해 간단한 구현을 사용하여 저장 공간을 효율적으로 관리합니다.
|
|
138
146
|
const contentMap = new Map();
|
|
139
147
|
memories.forEach(memory => {
|
|
140
|
-
const key = memory.type; //
|
|
148
|
+
const key = memory.type; // 실제 구현에서는 내용 유사도로 계산하여 더 정확한 중복 감지를 수행합니다.
|
|
141
149
|
contentMap.set(key, (contentMap.get(key) || 0) + 1);
|
|
142
150
|
});
|
|
143
151
|
for (const memory of memories) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgetting-algorithm.js","sourceRoot":"","sources":["../../src/algorithms/forgetting-algorithm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,MAAM,OAAO,mBAAmB;IACb,OAAO,CAAoB;IAE5C,YAAY,OAAoC;QAC9C,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,IAAI,EAAO,cAAc;YAClC,KAAK,EAAE,IAAI,EAAS,cAAc;YAClC,WAAW,EAAE,IAAI,EAAG,aAAa;YACjC,UAAU,EAAE,IAAI,EAAI,cAAc;YAClC,MAAM,EAAE,IAAI,EAAQ,aAAa;YACjC,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,QAA4B;QAC/C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;QAE3E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,iBAAiB,CAAC;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,OAAO,YAAY,GAAG,UAAU,GAAG,gBAAgB,GAAG,eAAe,GAAG,WAAW,CAAC;IACtF,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"forgetting-algorithm.js","sourceRoot":"","sources":["../../src/algorithms/forgetting-algorithm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* FTS5
|
|
2
|
+
* 텍스트 검색과 벡터 검색을 결합하여 검색 정확도와 포괄성을 동시에 확보합니다.
|
|
3
|
+
* FTS5 전문 검색과 벡터 유사도 검색을 병렬로 수행하여 각각의 장점을 활용합니다.
|
|
4
4
|
*/
|
|
5
5
|
import { type VectorSearchResult } from '../services/memory-embedding-service.js';
|
|
6
6
|
import { UnifiedEmbeddingService } from '../services/unified-embedding-service.js';
|
|
@@ -102,8 +102,8 @@ export declare class SearchLogger implements ISearchLogger {
|
|
|
102
102
|
}, queryTime: number): void;
|
|
103
103
|
logSearchError(searchId: string, error: unknown, query: HybridSearchQuery): void;
|
|
104
104
|
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
105
|
+
* A/B 테스트를 통해 검색 알고리즘의 효과를 측정하고 개선합니다.
|
|
106
|
+
* 실험 ID와 변이 파라미터를 로깅하여 데이터 기반 의사결정을 지원합니다.
|
|
107
107
|
*/
|
|
108
108
|
logExperiment(searchId: string, experimentId: string, variant: Record<string, any>): void;
|
|
109
109
|
}
|
|
@@ -153,11 +153,13 @@ export declare class HybridSearchEngine {
|
|
|
153
153
|
private relationGraph;
|
|
154
154
|
constructor(textSearchEngine: ITextSearchEngine, embeddingService: IEmbeddingService, vectorSearchEngine: IVectorSearchEngine, resultCombiner: ISearchResultCombiner, weightCalculator: IAdaptiveWeightCalculator, logger: ISearchLogger, queryEmbeddingService?: UnifiedEmbeddingService, relationGraph?: RelationGraph);
|
|
155
155
|
/**
|
|
156
|
-
*
|
|
156
|
+
* 관계 그래프를 주입하여 관계 기반 검색 기능을 활성화합니다.
|
|
157
|
+
* 선택적으로 설정하여 관계 그래프가 없는 환경에서도 동작하도록 합니다.
|
|
157
158
|
*/
|
|
158
159
|
setRelationGraph(relationGraph: RelationGraph): void;
|
|
159
160
|
/**
|
|
160
|
-
*
|
|
161
|
+
* 텍스트 검색과 벡터 검색을 병렬로 실행하고 결과를 결합하여 최적의 검색 결과를 제공합니다.
|
|
162
|
+
* 쿼리 특성에 따라 적응형 가중치를 적용하여 검색 정확도를 향상시키기 위해
|
|
161
163
|
*/
|
|
162
164
|
search(db: Database.Database, query: HybridSearchQuery): Promise<{
|
|
163
165
|
items: HybridSearchResult[];
|
|
@@ -252,9 +254,9 @@ export declare class HybridSearchEngine {
|
|
|
252
254
|
*/
|
|
253
255
|
private static readonly PROVIDER_CACHE_TTL_MS;
|
|
254
256
|
/**
|
|
255
|
-
* 저장된
|
|
256
|
-
* 모든 provider 목록을
|
|
257
|
-
* 캐싱을 사용하여
|
|
257
|
+
* 데이터베이스에 저장된 모든 임베딩 provider를 감지하여 사용 가능한 검색 방법을 파악합니다.
|
|
258
|
+
* 모든 provider 목록을 반환하고 count 내림차순으로 정렬하여 주요 provider를 우선 확인합니다.
|
|
259
|
+
* 캐싱을 사용하여 반복적인 데이터베이스 조회를 줄이고 성능을 개선합니다.
|
|
258
260
|
*/
|
|
259
261
|
private detectAllStoredEmbeddingProviders;
|
|
260
262
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-search-engine.d.ts","sourceRoot":"","sources":["../../src/algorithms/hybrid-search-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAgC,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1H,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AA8B9D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5K;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,IAAI,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC9J,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxC,cAAc,IAAI;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAChR;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAAC;CAClI;AAED,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACzH;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC/D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAChH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjF,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CAC5F;AAGD,oBAAY,eAAe;IACzB,2BAA2B,gCAAgC;IAC3D,oBAAoB,yBAAyB;IAC7C,kBAAkB,uBAAuB;IACzC,yBAAyB,8BAA8B;IACvD,0BAA0B,+BAA+B;IACzD,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;CAC5C;AAED,qBAAa,WAAY,SAAQ,KAAK;IAE3B,IAAI,EAAE,eAAe;IAErB,aAAa,CAAC,EAAE,KAAK;IACrB,OAAO,CAAC,EAAE,GAAG;gBAHb,IAAI,EAAE,eAAe,EAC5B,OAAO,EAAE,MAAM,EACR,aAAa,CAAC,EAAE,KAAK,YAAA,EACrB,OAAO,CAAC,EAAE,GAAG,YAAA;CAKvB;AAGD,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAqDhI,OAAO,CAAC,oBAAoB;CAe7B;AAED,qBAAa,wBAAyB,YAAW,yBAAyB;IACxE,OAAO,CAAC,eAAe,CAAwE;IAE/F,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAwCvH,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;CAGvB;AAED,qBAAa,YAAa,YAAW,aAAa;IAChD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAWhE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAI9D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU/G,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAUhF;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;CAO1F;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,qBAAqB;IAb/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAO;IACzC,OAAO,CAAC,WAAW,CAA2F;IAC9G,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,aAAa,CAA8B;gBAGzC,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,mBAAmB,EACvC,cAAc,EAAE,qBAAqB,EACrC,gBAAgB,EAAE,yBAAyB,EAC3C,MAAM,EAAE,aAAa,EACrB,qBAAqB,GAAE,uBAAuD,EACtF,aAAa,CAAC,EAAE,aAAa;IAe/B
|
|
1
|
+
{"version":3,"file":"hybrid-search-engine.d.ts","sourceRoot":"","sources":["../../src/algorithms/hybrid-search-engine.ts"],"names":[],"mappings":"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"}
|