@zb2947244682/supernovel 1.0.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/LICENSE +21 -0
- package/README.md +122 -0
- package/dist/adapters/aiAdapter.d.ts +21 -0
- package/dist/adapters/aiAdapter.d.ts.map +1 -0
- package/dist/adapters/aiAdapter.js +196 -0
- package/dist/adapters/aiAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +11 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +20 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/logger.d.ts +9 -0
- package/dist/adapters/logger.d.ts.map +1 -0
- package/dist/adapters/logger.js +22 -0
- package/dist/adapters/logger.js.map +1 -0
- package/dist/adapters/storageAdapter.d.ts +20 -0
- package/dist/adapters/storageAdapter.d.ts.map +1 -0
- package/dist/adapters/storageAdapter.js +190 -0
- package/dist/adapters/storageAdapter.js.map +1 -0
- package/dist/adapters/validationAdapter.d.ts +16 -0
- package/dist/adapters/validationAdapter.d.ts.map +1 -0
- package/dist/adapters/validationAdapter.js +33 -0
- package/dist/adapters/validationAdapter.js.map +1 -0
- package/dist/bus/commands.d.ts +70 -0
- package/dist/bus/commands.d.ts.map +1 -0
- package/dist/bus/commands.js +34 -0
- package/dist/bus/commands.js.map +1 -0
- package/dist/bus/dispatcher.d.ts +4 -0
- package/dist/bus/dispatcher.d.ts.map +1 -0
- package/dist/bus/dispatcher.js +313 -0
- package/dist/bus/dispatcher.js.map +1 -0
- package/dist/bus/effectRunner.d.ts +11 -0
- package/dist/bus/effectRunner.d.ts.map +1 -0
- package/dist/bus/effectRunner.js +117 -0
- package/dist/bus/effectRunner.js.map +1 -0
- package/dist/bus/index.d.ts +4 -0
- package/dist/bus/index.d.ts.map +1 -0
- package/dist/bus/index.js +6 -0
- package/dist/bus/index.js.map +1 -0
- package/dist/config/paths.d.ts +13 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +53 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/core/effects.d.ts +109 -0
- package/dist/core/effects.d.ts.map +1 -0
- package/dist/core/effects.js +42 -0
- package/dist/core/effects.js.map +1 -0
- package/dist/core/errors.d.ts +28 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +56 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +18 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/jsonUtils.d.ts +13 -0
- package/dist/core/jsonUtils.d.ts.map +1 -0
- package/dist/core/jsonUtils.js +130 -0
- package/dist/core/jsonUtils.js.map +1 -0
- package/dist/core/logger.d.ts +16 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +59 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/ports.d.ts +57 -0
- package/dist/core/ports.d.ts.map +1 -0
- package/dist/core/ports.js +3 -0
- package/dist/core/ports.js.map +1 -0
- package/dist/core/rag/consistency.d.ts +51 -0
- package/dist/core/rag/consistency.d.ts.map +1 -0
- package/dist/core/rag/consistency.js +239 -0
- package/dist/core/rag/consistency.js.map +1 -0
- package/dist/core/rag/contextAssembler.d.ts +44 -0
- package/dist/core/rag/contextAssembler.d.ts.map +1 -0
- package/dist/core/rag/contextAssembler.js +278 -0
- package/dist/core/rag/contextAssembler.js.map +1 -0
- package/dist/core/rag/index.d.ts +12 -0
- package/dist/core/rag/index.d.ts.map +1 -0
- package/dist/core/rag/index.js +15 -0
- package/dist/core/rag/index.js.map +1 -0
- package/dist/core/rag/knowledgeGraph.d.ts +72 -0
- package/dist/core/rag/knowledgeGraph.d.ts.map +1 -0
- package/dist/core/rag/knowledgeGraph.js +227 -0
- package/dist/core/rag/knowledgeGraph.js.map +1 -0
- package/dist/core/rag/summaries.d.ts +57 -0
- package/dist/core/rag/summaries.d.ts.map +1 -0
- package/dist/core/rag/summaries.js +251 -0
- package/dist/core/rag/summaries.js.map +1 -0
- package/dist/core/rag/types.d.ts +201 -0
- package/dist/core/rag/types.d.ts.map +1 -0
- package/dist/core/rag/types.js +4 -0
- package/dist/core/rag/types.js.map +1 -0
- package/dist/core/rag/vectorStore.d.ts +68 -0
- package/dist/core/rag/vectorStore.d.ts.map +1 -0
- package/dist/core/rag/vectorStore.js +211 -0
- package/dist/core/rag/vectorStore.js.map +1 -0
- package/dist/core/types.d.ts +246 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/usecases/generateChapter.d.ts +26 -0
- package/dist/core/usecases/generateChapter.d.ts.map +1 -0
- package/dist/core/usecases/generateChapter.js +132 -0
- package/dist/core/usecases/generateChapter.js.map +1 -0
- package/dist/core/usecases/generateChapterRAG.d.ts +40 -0
- package/dist/core/usecases/generateChapterRAG.d.ts.map +1 -0
- package/dist/core/usecases/generateChapterRAG.js +221 -0
- package/dist/core/usecases/generateChapterRAG.js.map +1 -0
- package/dist/core/usecases/generateOutline.d.ts +19 -0
- package/dist/core/usecases/generateOutline.d.ts.map +1 -0
- package/dist/core/usecases/generateOutline.js +129 -0
- package/dist/core/usecases/generateOutline.js.map +1 -0
- package/dist/core/usecases/generateWorld.d.ts +18 -0
- package/dist/core/usecases/generateWorld.d.ts.map +1 -0
- package/dist/core/usecases/generateWorld.js +189 -0
- package/dist/core/usecases/generateWorld.js.map +1 -0
- package/dist/core/usecases/parseRequirements.d.ts +20 -0
- package/dist/core/usecases/parseRequirements.d.ts.map +1 -0
- package/dist/core/usecases/parseRequirements.js +95 -0
- package/dist/core/usecases/parseRequirements.js.map +1 -0
- package/dist/core/usecases/validateNovel.d.ts +29 -0
- package/dist/core/usecases/validateNovel.d.ts.map +1 -0
- package/dist/core/usecases/validateNovel.js +156 -0
- package/dist/core/usecases/validateNovel.js.map +1 -0
- package/dist/shell/cli.d.ts +3 -0
- package/dist/shell/cli.d.ts.map +1 -0
- package/dist/shell/cli.js +158 -0
- package/dist/shell/cli.js.map +1 -0
- package/dist/shell/index.d.ts +3 -0
- package/dist/shell/index.d.ts.map +1 -0
- package/dist/shell/index.js +279 -0
- package/dist/shell/index.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summaries.js","sourceRoot":"","sources":["../../../src/core/rag/summaries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
export interface ChapterEmbedding {
|
|
2
|
+
chapterId: string;
|
|
3
|
+
volumeNumber: number;
|
|
4
|
+
chapterNumber: number;
|
|
5
|
+
embedding: number[];
|
|
6
|
+
content: string;
|
|
7
|
+
summary: string;
|
|
8
|
+
keyEvents: string[];
|
|
9
|
+
charactersInvolved: string[];
|
|
10
|
+
locationsInvolved: string[];
|
|
11
|
+
createdAt: string;
|
|
12
|
+
}
|
|
13
|
+
export interface FactEmbedding {
|
|
14
|
+
factId: string;
|
|
15
|
+
content: string;
|
|
16
|
+
embedding: number[];
|
|
17
|
+
category: 'world' | 'character' | 'plot' | 'rule';
|
|
18
|
+
entityIds: string[];
|
|
19
|
+
chapterId: string;
|
|
20
|
+
importance: number;
|
|
21
|
+
createdAt: string;
|
|
22
|
+
}
|
|
23
|
+
export interface RetrievalResult {
|
|
24
|
+
id: string;
|
|
25
|
+
content: string;
|
|
26
|
+
similarity: number;
|
|
27
|
+
metadata: Record<string, any>;
|
|
28
|
+
}
|
|
29
|
+
export interface Entity {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
type: 'character' | 'location' | 'item' | 'organization' | 'concept';
|
|
33
|
+
aliases: string[];
|
|
34
|
+
description: string;
|
|
35
|
+
firstAppearance: string;
|
|
36
|
+
lastAppearance: string;
|
|
37
|
+
attributes: Record<string, any>;
|
|
38
|
+
embedding?: number[];
|
|
39
|
+
}
|
|
40
|
+
export interface Relationship {
|
|
41
|
+
id: string;
|
|
42
|
+
fromId: string;
|
|
43
|
+
toId: string;
|
|
44
|
+
type: string;
|
|
45
|
+
description: string;
|
|
46
|
+
firstChapterId: string;
|
|
47
|
+
lastChapterId: string;
|
|
48
|
+
isActive: boolean;
|
|
49
|
+
strength: number;
|
|
50
|
+
evolution: RelationshipEvolution[];
|
|
51
|
+
}
|
|
52
|
+
export interface RelationshipEvolution {
|
|
53
|
+
chapterId: string;
|
|
54
|
+
change: string;
|
|
55
|
+
newType?: string;
|
|
56
|
+
timestamp: string;
|
|
57
|
+
}
|
|
58
|
+
export interface Event {
|
|
59
|
+
id: string;
|
|
60
|
+
name: string;
|
|
61
|
+
description: string;
|
|
62
|
+
chapterId: string;
|
|
63
|
+
timeline: string;
|
|
64
|
+
participants: string[];
|
|
65
|
+
locationId?: string;
|
|
66
|
+
consequences: string[];
|
|
67
|
+
prerequisites: string[];
|
|
68
|
+
importance: number;
|
|
69
|
+
}
|
|
70
|
+
export interface HierarchicalSummary {
|
|
71
|
+
bookLevel: BookSummary;
|
|
72
|
+
volumeSummaries: VolumeSummary[];
|
|
73
|
+
chapterSummaries: ChapterSummary[];
|
|
74
|
+
}
|
|
75
|
+
export interface BookSummary {
|
|
76
|
+
title: string;
|
|
77
|
+
overview: string;
|
|
78
|
+
mainTheme: string;
|
|
79
|
+
characterArcs: CharacterArcSummary[];
|
|
80
|
+
majorPlotPoints: string[];
|
|
81
|
+
totalWordCount: number;
|
|
82
|
+
updatedAt: string;
|
|
83
|
+
}
|
|
84
|
+
export interface VolumeSummary {
|
|
85
|
+
volumeNumber: number;
|
|
86
|
+
title: string;
|
|
87
|
+
summary: string;
|
|
88
|
+
keyEvents: string[];
|
|
89
|
+
characterDevelopments: CharacterDevelopment[];
|
|
90
|
+
cliffhanger: string;
|
|
91
|
+
updatedAt: string;
|
|
92
|
+
}
|
|
93
|
+
export interface ChapterSummary {
|
|
94
|
+
chapterId: string;
|
|
95
|
+
volumeNumber: number;
|
|
96
|
+
chapterNumber: number;
|
|
97
|
+
summary: string;
|
|
98
|
+
keyEvents: string[];
|
|
99
|
+
charactersAppeared: string[];
|
|
100
|
+
locationsAppeared: string[];
|
|
101
|
+
plotThreadsAdvanced: string[];
|
|
102
|
+
hooksPlanted: string[];
|
|
103
|
+
hooksResolved: string[];
|
|
104
|
+
emotionalTone: string;
|
|
105
|
+
updatedAt: string;
|
|
106
|
+
}
|
|
107
|
+
export interface CharacterArcSummary {
|
|
108
|
+
characterId: string;
|
|
109
|
+
characterName: string;
|
|
110
|
+
startingState: string;
|
|
111
|
+
currentState: string;
|
|
112
|
+
goal: string;
|
|
113
|
+
obstacles: string[];
|
|
114
|
+
growthTrajectory: string;
|
|
115
|
+
}
|
|
116
|
+
export interface CharacterDevelopment {
|
|
117
|
+
characterId: string;
|
|
118
|
+
change: string;
|
|
119
|
+
newTraits?: string[];
|
|
120
|
+
lostTraits?: string[];
|
|
121
|
+
}
|
|
122
|
+
export interface ConsistencyViolation {
|
|
123
|
+
id: string;
|
|
124
|
+
type: 'character' | 'world' | 'timeline' | 'plot';
|
|
125
|
+
severity: 'error' | 'warning' | 'info';
|
|
126
|
+
chapterId: string;
|
|
127
|
+
description: string;
|
|
128
|
+
expectedValue: string;
|
|
129
|
+
actualValue: string;
|
|
130
|
+
suggestedFix?: string;
|
|
131
|
+
}
|
|
132
|
+
export interface CharacterConsistencyCheck {
|
|
133
|
+
characterId: string;
|
|
134
|
+
name: string;
|
|
135
|
+
checks: {
|
|
136
|
+
personalityConsistent: boolean;
|
|
137
|
+
abilitiesConsistent: boolean;
|
|
138
|
+
knowledgeConsistent: boolean;
|
|
139
|
+
relationshipsConsistent: boolean;
|
|
140
|
+
appearanceConsistent: boolean;
|
|
141
|
+
};
|
|
142
|
+
violations: ConsistencyViolation[];
|
|
143
|
+
}
|
|
144
|
+
export interface WorldConsistencyCheck {
|
|
145
|
+
ruleId: string;
|
|
146
|
+
ruleDescription: string;
|
|
147
|
+
violations: ConsistencyViolation[];
|
|
148
|
+
}
|
|
149
|
+
export interface RAGContextQuery {
|
|
150
|
+
currentChapterId: string;
|
|
151
|
+
volumeNumber: number;
|
|
152
|
+
chapterNumber: number;
|
|
153
|
+
queryType: 'character' | 'plot' | 'world' | 'general';
|
|
154
|
+
queryText: string;
|
|
155
|
+
maxResults: number;
|
|
156
|
+
recencyBias: number;
|
|
157
|
+
}
|
|
158
|
+
export interface RAGContextResult {
|
|
159
|
+
bookSummary: string;
|
|
160
|
+
currentVolumeSummary: string;
|
|
161
|
+
recentChapterSummaries: ChapterSummary[];
|
|
162
|
+
similarPastEvents: RetrievalResult[];
|
|
163
|
+
relatedFacts: RetrievalResult[];
|
|
164
|
+
characterStates: Record<string, string>;
|
|
165
|
+
relevantEntities: Entity[];
|
|
166
|
+
relevantRelationships: Relationship[];
|
|
167
|
+
plotThreads: string[];
|
|
168
|
+
pendingHooks: string[];
|
|
169
|
+
}
|
|
170
|
+
export interface ContextCache {
|
|
171
|
+
bookId: string;
|
|
172
|
+
lastUpdated: string;
|
|
173
|
+
embeddingsValid: boolean;
|
|
174
|
+
graphValid: boolean;
|
|
175
|
+
summariesValid: boolean;
|
|
176
|
+
}
|
|
177
|
+
export interface LongNovelConfig {
|
|
178
|
+
contextWindow: {
|
|
179
|
+
maxTokens: number;
|
|
180
|
+
slidingWindowSize: number;
|
|
181
|
+
summaryWeight: number;
|
|
182
|
+
};
|
|
183
|
+
rag: {
|
|
184
|
+
retrievalCount: number;
|
|
185
|
+
similarityThreshold: number;
|
|
186
|
+
recencyBias: number;
|
|
187
|
+
entityWeight: number;
|
|
188
|
+
eventWeight: number;
|
|
189
|
+
};
|
|
190
|
+
consistency: {
|
|
191
|
+
enabled: boolean;
|
|
192
|
+
autoFix: boolean;
|
|
193
|
+
checkDepth: number;
|
|
194
|
+
};
|
|
195
|
+
performance: {
|
|
196
|
+
embeddingBatchSize: number;
|
|
197
|
+
cacheEnabled: boolean;
|
|
198
|
+
parallelGeneration: boolean;
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/rag/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/rag/types.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,sBAAsB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ChapterEmbedding, FactEmbedding, RetrievalResult } from './types.js';
|
|
2
|
+
export declare function generateSimpleEmbedding(text: string, dim?: number): number[];
|
|
3
|
+
/**
|
|
4
|
+
* 向量存储管理器
|
|
5
|
+
*/
|
|
6
|
+
export declare class VectorStore {
|
|
7
|
+
private chapterEmbeddings;
|
|
8
|
+
private factEmbeddings;
|
|
9
|
+
/**
|
|
10
|
+
* 添加章节嵌入
|
|
11
|
+
*/
|
|
12
|
+
addChapterEmbedding(embedding: ChapterEmbedding): void;
|
|
13
|
+
/**
|
|
14
|
+
* 添加事实嵌入
|
|
15
|
+
*/
|
|
16
|
+
addFactEmbedding(embedding: FactEmbedding): void;
|
|
17
|
+
/**
|
|
18
|
+
* 批量添加章节嵌入
|
|
19
|
+
*/
|
|
20
|
+
batchAddChapterEmbeddings(embeddings: ChapterEmbedding[]): void;
|
|
21
|
+
/**
|
|
22
|
+
* 语义搜索相似章节
|
|
23
|
+
*/
|
|
24
|
+
searchSimilarChapters(query: string, topK?: number, excludeChapterId?: string): RetrievalResult[];
|
|
25
|
+
/**
|
|
26
|
+
* 搜索相关事实
|
|
27
|
+
*/
|
|
28
|
+
searchRelevantFacts(query: string, topK?: number, category?: 'world' | 'character' | 'plot' | 'rule'): RetrievalResult[];
|
|
29
|
+
/**
|
|
30
|
+
* 获取最近N章的嵌入
|
|
31
|
+
*/
|
|
32
|
+
getRecentChapters(n: number): ChapterEmbedding[];
|
|
33
|
+
/**
|
|
34
|
+
* 获取特定角色的相关章节
|
|
35
|
+
*/
|
|
36
|
+
getChaptersByCharacter(characterId: string): ChapterEmbedding[];
|
|
37
|
+
/**
|
|
38
|
+
* 获取特定地点的相关章节
|
|
39
|
+
*/
|
|
40
|
+
getChaptersByLocation(locationId: string): ChapterEmbedding[];
|
|
41
|
+
/**
|
|
42
|
+
* 导出数据(用于持久化)
|
|
43
|
+
*/
|
|
44
|
+
exportData(): {
|
|
45
|
+
chapters: ChapterEmbedding[];
|
|
46
|
+
facts: FactEmbedding[];
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* 导入数据
|
|
50
|
+
*/
|
|
51
|
+
importData(data: {
|
|
52
|
+
chapters: ChapterEmbedding[];
|
|
53
|
+
facts: FactEmbedding[];
|
|
54
|
+
}): void;
|
|
55
|
+
/**
|
|
56
|
+
* 清除所有数据
|
|
57
|
+
*/
|
|
58
|
+
clear(): void;
|
|
59
|
+
/**
|
|
60
|
+
* 获取统计信息
|
|
61
|
+
*/
|
|
62
|
+
getStats(): {
|
|
63
|
+
chapters: number;
|
|
64
|
+
facts: number;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export declare const globalVectorStore: VectorStore;
|
|
68
|
+
//# sourceMappingURL=vectorStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectorStore.d.ts","sourceRoot":"","sources":["../../../src/core/rag/vectorStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0BnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAY,GAAG,MAAM,EAAE,CAiCjF;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,cAAc,CAAyC;IAE/D;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAItD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAIhD;;OAEG;IACH,yBAAyB,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAM/D;;OAEG;IACH,qBAAqB,CACnB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAAU,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACxB,eAAe,EAAE;IA2BpB;;OAEG;IACH,mBAAmB,CACjB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,MAAW,EACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GACjD,eAAe,EAAE;IA0BpB;;OAEG;IACH,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAYhD;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAW/D;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAW7D;;OAEG;IACH,UAAU,IAAI;QACZ,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,KAAK,EAAE,aAAa,EAAE,CAAC;KACxB;IAOD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAAC,KAAK,EAAE,aAAa,EAAE,CAAA;KAAE,GAAG,IAAI;IAYhF;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,QAAQ,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAMhD;AAGD,eAAO,MAAM,iBAAiB,aAAoB,CAAC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
// 向量存储 - 基于内存的轻量级实现
|
|
2
|
+
// 生产环境可替换为 Milvus/Pinecone/Qdrant
|
|
3
|
+
// 余弦相似度计算
|
|
4
|
+
function cosineSimilarity(a, b) {
|
|
5
|
+
if (a.length !== b.length) {
|
|
6
|
+
throw new Error('Vector dimensions do not match');
|
|
7
|
+
}
|
|
8
|
+
let dotProduct = 0;
|
|
9
|
+
let normA = 0;
|
|
10
|
+
let normB = 0;
|
|
11
|
+
for (let i = 0; i < a.length; i++) {
|
|
12
|
+
dotProduct += a[i] * b[i];
|
|
13
|
+
normA += a[i] * a[i];
|
|
14
|
+
normB += b[i] * b[i];
|
|
15
|
+
}
|
|
16
|
+
if (normA === 0 || normB === 0)
|
|
17
|
+
return 0;
|
|
18
|
+
return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
|
|
19
|
+
}
|
|
20
|
+
// 简化的向量嵌入生成(使用词频统计作为替代方案)
|
|
21
|
+
// 生产环境应使用 OpenAI/Cohere/本地Embedding模型
|
|
22
|
+
export function generateSimpleEmbedding(text, dim = 384) {
|
|
23
|
+
// 文本预处理
|
|
24
|
+
const words = text.toLowerCase()
|
|
25
|
+
.replace(/[^\u4e00-\u9fa5a-z0-9\s]/g, ' ')
|
|
26
|
+
.split(/\s+/)
|
|
27
|
+
.filter(w => w.length > 1);
|
|
28
|
+
// 词频统计
|
|
29
|
+
const wordFreq = new Map();
|
|
30
|
+
for (const word of words) {
|
|
31
|
+
wordFreq.set(word, (wordFreq.get(word) || 0) + 1);
|
|
32
|
+
}
|
|
33
|
+
// 生成固定维度的向量
|
|
34
|
+
const embedding = new Array(dim).fill(0);
|
|
35
|
+
let idx = 0;
|
|
36
|
+
for (const [word, freq] of wordFreq) {
|
|
37
|
+
// 使用简单的哈希分布
|
|
38
|
+
for (let i = 0; i < word.length; i++) {
|
|
39
|
+
const charCode = word.charCodeAt(i);
|
|
40
|
+
embedding[idx % dim] += (charCode * freq) / 1000;
|
|
41
|
+
idx++;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// 归一化
|
|
45
|
+
const norm = Math.sqrt(embedding.reduce((sum, val) => sum + val * val, 0));
|
|
46
|
+
if (norm > 0) {
|
|
47
|
+
return embedding.map(v => v / norm);
|
|
48
|
+
}
|
|
49
|
+
return embedding;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 向量存储管理器
|
|
53
|
+
*/
|
|
54
|
+
export class VectorStore {
|
|
55
|
+
chapterEmbeddings = new Map();
|
|
56
|
+
factEmbeddings = new Map();
|
|
57
|
+
/**
|
|
58
|
+
* 添加章节嵌入
|
|
59
|
+
*/
|
|
60
|
+
addChapterEmbedding(embedding) {
|
|
61
|
+
this.chapterEmbeddings.set(embedding.chapterId, embedding);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 添加事实嵌入
|
|
65
|
+
*/
|
|
66
|
+
addFactEmbedding(embedding) {
|
|
67
|
+
this.factEmbeddings.set(embedding.factId, embedding);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 批量添加章节嵌入
|
|
71
|
+
*/
|
|
72
|
+
batchAddChapterEmbeddings(embeddings) {
|
|
73
|
+
for (const embedding of embeddings) {
|
|
74
|
+
this.chapterEmbeddings.set(embedding.chapterId, embedding);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 语义搜索相似章节
|
|
79
|
+
*/
|
|
80
|
+
searchSimilarChapters(query, topK = 5, excludeChapterId) {
|
|
81
|
+
const queryEmbedding = generateSimpleEmbedding(query);
|
|
82
|
+
const results = [];
|
|
83
|
+
for (const [id, chapter] of this.chapterEmbeddings) {
|
|
84
|
+
if (excludeChapterId && id === excludeChapterId)
|
|
85
|
+
continue;
|
|
86
|
+
const similarity = cosineSimilarity(queryEmbedding, chapter.embedding);
|
|
87
|
+
results.push({
|
|
88
|
+
id,
|
|
89
|
+
content: chapter.summary || chapter.content.slice(0, 500),
|
|
90
|
+
similarity,
|
|
91
|
+
metadata: {
|
|
92
|
+
volumeNumber: chapter.volumeNumber,
|
|
93
|
+
chapterNumber: chapter.chapterNumber,
|
|
94
|
+
keyEvents: chapter.keyEvents,
|
|
95
|
+
charactersInvolved: chapter.charactersInvolved
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
// 按相似度排序并返回topK
|
|
100
|
+
return results
|
|
101
|
+
.sort((a, b) => b.similarity - a.similarity)
|
|
102
|
+
.slice(0, topK);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 搜索相关事实
|
|
106
|
+
*/
|
|
107
|
+
searchRelevantFacts(query, topK = 10, category) {
|
|
108
|
+
const queryEmbedding = generateSimpleEmbedding(query);
|
|
109
|
+
const results = [];
|
|
110
|
+
for (const [id, fact] of this.factEmbeddings) {
|
|
111
|
+
if (category && fact.category !== category)
|
|
112
|
+
continue;
|
|
113
|
+
const similarity = cosineSimilarity(queryEmbedding, fact.embedding);
|
|
114
|
+
results.push({
|
|
115
|
+
id,
|
|
116
|
+
content: fact.content,
|
|
117
|
+
similarity,
|
|
118
|
+
metadata: {
|
|
119
|
+
category: fact.category,
|
|
120
|
+
entityIds: fact.entityIds,
|
|
121
|
+
chapterId: fact.chapterId,
|
|
122
|
+
importance: fact.importance
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return results
|
|
127
|
+
.sort((a, b) => b.similarity - a.similarity)
|
|
128
|
+
.slice(0, topK);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* 获取最近N章的嵌入
|
|
132
|
+
*/
|
|
133
|
+
getRecentChapters(n) {
|
|
134
|
+
return Array.from(this.chapterEmbeddings.values())
|
|
135
|
+
.sort((a, b) => {
|
|
136
|
+
// 按卷号、章号排序
|
|
137
|
+
if (a.volumeNumber !== b.volumeNumber) {
|
|
138
|
+
return a.volumeNumber - b.volumeNumber;
|
|
139
|
+
}
|
|
140
|
+
return a.chapterNumber - b.chapterNumber;
|
|
141
|
+
})
|
|
142
|
+
.slice(-n);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* 获取特定角色的相关章节
|
|
146
|
+
*/
|
|
147
|
+
getChaptersByCharacter(characterId) {
|
|
148
|
+
return Array.from(this.chapterEmbeddings.values())
|
|
149
|
+
.filter(ch => ch.charactersInvolved.includes(characterId))
|
|
150
|
+
.sort((a, b) => {
|
|
151
|
+
if (a.volumeNumber !== b.volumeNumber) {
|
|
152
|
+
return a.volumeNumber - b.volumeNumber;
|
|
153
|
+
}
|
|
154
|
+
return a.chapterNumber - b.chapterNumber;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* 获取特定地点的相关章节
|
|
159
|
+
*/
|
|
160
|
+
getChaptersByLocation(locationId) {
|
|
161
|
+
return Array.from(this.chapterEmbeddings.values())
|
|
162
|
+
.filter(ch => ch.locationsInvolved.includes(locationId))
|
|
163
|
+
.sort((a, b) => {
|
|
164
|
+
if (a.volumeNumber !== b.volumeNumber) {
|
|
165
|
+
return a.volumeNumber - b.volumeNumber;
|
|
166
|
+
}
|
|
167
|
+
return a.chapterNumber - b.chapterNumber;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* 导出数据(用于持久化)
|
|
172
|
+
*/
|
|
173
|
+
exportData() {
|
|
174
|
+
return {
|
|
175
|
+
chapters: Array.from(this.chapterEmbeddings.values()),
|
|
176
|
+
facts: Array.from(this.factEmbeddings.values())
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* 导入数据
|
|
181
|
+
*/
|
|
182
|
+
importData(data) {
|
|
183
|
+
this.chapterEmbeddings.clear();
|
|
184
|
+
this.factEmbeddings.clear();
|
|
185
|
+
for (const ch of data.chapters) {
|
|
186
|
+
this.chapterEmbeddings.set(ch.chapterId, ch);
|
|
187
|
+
}
|
|
188
|
+
for (const f of data.facts) {
|
|
189
|
+
this.factEmbeddings.set(f.factId, f);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* 清除所有数据
|
|
194
|
+
*/
|
|
195
|
+
clear() {
|
|
196
|
+
this.chapterEmbeddings.clear();
|
|
197
|
+
this.factEmbeddings.clear();
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* 获取统计信息
|
|
201
|
+
*/
|
|
202
|
+
getStats() {
|
|
203
|
+
return {
|
|
204
|
+
chapters: this.chapterEmbeddings.size,
|
|
205
|
+
facts: this.factEmbeddings.size
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// 全局向量存储实例
|
|
210
|
+
export const globalVectorStore = new VectorStore();
|
|
211
|
+
//# sourceMappingURL=vectorStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vectorStore.js","sourceRoot":"","sources":["../../../src/core/rag/vectorStore.ts"],"names":[],"mappings":"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"}
|