@mastra/rag 0.0.2-alpha.70 → 0.0.2-alpha.71
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/CHANGELOG.md +6 -0
- package/dist/index.d.ts +447 -4
- package/dist/index.js +1692 -5
- package/package.json +4 -9
- package/dist/document/document.d.ts +0 -32
- package/dist/document/document.d.ts.map +0 -1
- package/dist/document/index.d.ts +0 -3
- package/dist/document/index.d.ts.map +0 -1
- package/dist/document/transformers/character.d.ts +0 -45
- package/dist/document/transformers/character.d.ts.map +0 -1
- package/dist/document/transformers/html.d.ts +0 -24
- package/dist/document/transformers/html.d.ts.map +0 -1
- package/dist/document/transformers/json.d.ts +0 -57
- package/dist/document/transformers/json.d.ts.map +0 -1
- package/dist/document/transformers/latex.d.ts +0 -12
- package/dist/document/transformers/latex.d.ts.map +0 -1
- package/dist/document/transformers/markdown.d.ts +0 -25
- package/dist/document/transformers/markdown.d.ts.map +0 -1
- package/dist/document/transformers/text.d.ts +0 -22
- package/dist/document/transformers/text.d.ts.map +0 -1
- package/dist/document/transformers/token.d.ts +0 -46
- package/dist/document/transformers/token.d.ts.map +0 -1
- package/dist/document/transformers/transformer.d.ts +0 -5
- package/dist/document/transformers/transformer.d.ts.map +0 -1
- package/dist/document/types.d.ts +0 -88
- package/dist/document/types.d.ts.map +0 -1
- package/dist/embeddings/index.d.ts +0 -5
- package/dist/embeddings/index.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/rag.cjs.development.js +0 -2756
- package/dist/rag.cjs.development.js.map +0 -1
- package/dist/rag.cjs.production.min.js +0 -2
- package/dist/rag.cjs.production.min.js.map +0 -1
- package/dist/rag.esm.js +0 -2745
- package/dist/rag.esm.js.map +0 -1
- package/dist/utils/graph-rag/index.d.ts +0 -52
- package/dist/utils/graph-rag/index.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -4
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/rag-tools.d.ts +0 -246
- package/dist/utils/rag-tools.d.ts.map +0 -1
- package/dist/utils/rerank/index.d.ts +0 -36
- package/dist/utils/rerank/index.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,447 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { LLM, TitleExtractorPrompt, TitleCombinePrompt, SummaryPrompt, QuestionExtractPrompt, Document } from 'llamaindex';
|
|
2
|
+
import { TiktokenEncoding, TiktokenModel } from 'js-tiktoken';
|
|
3
|
+
import * as _mastra_core from '@mastra/core';
|
|
4
|
+
import { EmbeddingOptions, EmbedResult, EmbedManyResult, QueryResult, ModelConfig } from '@mastra/core';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
|
|
7
|
+
declare enum Language {
|
|
8
|
+
CPP = "cpp",
|
|
9
|
+
GO = "go",
|
|
10
|
+
JAVA = "java",
|
|
11
|
+
KOTLIN = "kotlin",
|
|
12
|
+
JS = "js",
|
|
13
|
+
TS = "ts",
|
|
14
|
+
PHP = "php",
|
|
15
|
+
PROTO = "proto",
|
|
16
|
+
PYTHON = "python",
|
|
17
|
+
RST = "rst",
|
|
18
|
+
RUBY = "ruby",
|
|
19
|
+
RUST = "rust",
|
|
20
|
+
SCALA = "scala",
|
|
21
|
+
SWIFT = "swift",
|
|
22
|
+
MARKDOWN = "markdown",
|
|
23
|
+
LATEX = "latex",
|
|
24
|
+
HTML = "html",
|
|
25
|
+
SOL = "sol",
|
|
26
|
+
CSHARP = "csharp",
|
|
27
|
+
COBOL = "cobol",
|
|
28
|
+
C = "c",
|
|
29
|
+
LUA = "lua",
|
|
30
|
+
PERL = "perl",
|
|
31
|
+
HASKELL = "haskell",
|
|
32
|
+
ELIXIR = "elixir",
|
|
33
|
+
POWERSHELL = "powershell"
|
|
34
|
+
}
|
|
35
|
+
type ExtractParams = {
|
|
36
|
+
title?: TitleExtractorsArgs | boolean;
|
|
37
|
+
summary?: SummaryExtractArgs | boolean;
|
|
38
|
+
questions?: QuestionAnswerExtractArgs | boolean;
|
|
39
|
+
keywords?: boolean | Record<string, any>;
|
|
40
|
+
};
|
|
41
|
+
type ChunkOptions = {
|
|
42
|
+
headers?: [string, string][];
|
|
43
|
+
returnEachLine?: boolean;
|
|
44
|
+
sections?: [string, string][];
|
|
45
|
+
separator?: string;
|
|
46
|
+
separators?: string[];
|
|
47
|
+
isSeparatorRegex?: boolean;
|
|
48
|
+
size?: number;
|
|
49
|
+
maxSize?: number;
|
|
50
|
+
minSize?: number;
|
|
51
|
+
overlap?: number;
|
|
52
|
+
lengthFunction?: (text: string) => number;
|
|
53
|
+
keepSeparator?: boolean | 'start' | 'end';
|
|
54
|
+
addStartIndex?: boolean;
|
|
55
|
+
stripWhitespace?: boolean;
|
|
56
|
+
language?: Language;
|
|
57
|
+
ensureAscii?: boolean;
|
|
58
|
+
convertLists?: boolean;
|
|
59
|
+
encodingName?: TiktokenEncoding;
|
|
60
|
+
modelName?: TiktokenModel;
|
|
61
|
+
allowedSpecial?: Set<string> | 'all';
|
|
62
|
+
disallowedSpecial?: Set<string> | 'all';
|
|
63
|
+
stripHeaders?: boolean;
|
|
64
|
+
};
|
|
65
|
+
type TitleExtractorsArgs = {
|
|
66
|
+
llm?: LLM;
|
|
67
|
+
nodes?: number;
|
|
68
|
+
nodeTemplate?: TitleExtractorPrompt['template'];
|
|
69
|
+
combineTemplate?: TitleCombinePrompt['template'];
|
|
70
|
+
};
|
|
71
|
+
type SummaryExtractArgs = {
|
|
72
|
+
llm?: LLM;
|
|
73
|
+
summaries?: string[];
|
|
74
|
+
promptTemplate?: SummaryPrompt['template'];
|
|
75
|
+
};
|
|
76
|
+
type QuestionAnswerExtractArgs = {
|
|
77
|
+
llm?: LLM;
|
|
78
|
+
questions?: number;
|
|
79
|
+
promptTemplate?: QuestionExtractPrompt['template'];
|
|
80
|
+
embeddingOnly?: boolean;
|
|
81
|
+
};
|
|
82
|
+
type ChunkStrategy = 'recursive' | 'character' | 'token' | 'markdown' | 'html' | 'json' | 'latex';
|
|
83
|
+
interface ChunkParams extends ChunkOptions {
|
|
84
|
+
strategy?: ChunkStrategy;
|
|
85
|
+
extract?: ExtractParams;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
declare class MDocument {
|
|
89
|
+
private chunks;
|
|
90
|
+
private type;
|
|
91
|
+
constructor({ docs, type }: {
|
|
92
|
+
docs: {
|
|
93
|
+
text: string;
|
|
94
|
+
metadata?: Record<string, any>;
|
|
95
|
+
}[];
|
|
96
|
+
type: string;
|
|
97
|
+
});
|
|
98
|
+
extractMetadata({ title, summary, questions, keywords }: ExtractParams): Promise<MDocument>;
|
|
99
|
+
static fromText(text: string, metadata?: Record<string, any>): MDocument;
|
|
100
|
+
static fromHTML(html: string, metadata?: Record<string, any>): MDocument;
|
|
101
|
+
static fromMarkdown(markdown: string, metadata?: Record<string, any>): MDocument;
|
|
102
|
+
static fromJSON(jsonString: string, metadata?: Record<string, any>): MDocument;
|
|
103
|
+
private defaultStrategy;
|
|
104
|
+
private chunkBy;
|
|
105
|
+
chunkRecursive(options?: ChunkOptions): Promise<void>;
|
|
106
|
+
chunkCharacter(options?: ChunkOptions): Promise<void>;
|
|
107
|
+
chunkHTML(options?: ChunkOptions): Promise<void>;
|
|
108
|
+
chunkJSON(options?: ChunkOptions): Promise<void>;
|
|
109
|
+
chunkLatex(options?: ChunkOptions): Promise<void>;
|
|
110
|
+
chunkToken(options?: ChunkOptions): Promise<void>;
|
|
111
|
+
chunkMarkdown(options?: ChunkOptions): Promise<void>;
|
|
112
|
+
chunk(params?: ChunkParams): Promise<Document[]>;
|
|
113
|
+
getDocs(): Document[];
|
|
114
|
+
getText(): string[];
|
|
115
|
+
getMetadata(): Record<string, any>[];
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
declare function embed(chunk: Document | string, options: EmbeddingOptions): Promise<EmbedResult<string>>;
|
|
119
|
+
declare function embedMany(chunks: (Document | string)[], options: EmbeddingOptions): Promise<EmbedManyResult<string>>;
|
|
120
|
+
|
|
121
|
+
type WeightConfig = {
|
|
122
|
+
semantic?: number;
|
|
123
|
+
vector?: number;
|
|
124
|
+
position?: number;
|
|
125
|
+
};
|
|
126
|
+
interface ScoringDetails {
|
|
127
|
+
semantic: number;
|
|
128
|
+
vector: number;
|
|
129
|
+
position: number;
|
|
130
|
+
queryAnalysis?: {
|
|
131
|
+
magnitude: number;
|
|
132
|
+
dominantFeatures: number[];
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
interface RerankResult {
|
|
136
|
+
result: QueryResult;
|
|
137
|
+
score: number;
|
|
138
|
+
details: ScoringDetails;
|
|
139
|
+
}
|
|
140
|
+
interface RerankerOptions {
|
|
141
|
+
weights?: WeightConfig;
|
|
142
|
+
topK?: number;
|
|
143
|
+
}
|
|
144
|
+
interface RerankerFunctionOptions {
|
|
145
|
+
weights?: WeightConfig;
|
|
146
|
+
queryEmbedding?: number[];
|
|
147
|
+
topK?: number;
|
|
148
|
+
}
|
|
149
|
+
interface RerankConfig {
|
|
150
|
+
options?: RerankerOptions;
|
|
151
|
+
model: ModelConfig;
|
|
152
|
+
}
|
|
153
|
+
declare function rerank(results: QueryResult[], query: string, modelConfig: ModelConfig, options: RerankerFunctionOptions): Promise<RerankResult[]>;
|
|
154
|
+
|
|
155
|
+
type VectorFilterType = 'pg' | 'astra' | 'qdrant' | 'upstash' | 'pinecone' | 'chroma' | '';
|
|
156
|
+
declare const createVectorQueryTool: ({ vectorStoreName, indexName, topK, options, vectorFilterType, reranker, }: {
|
|
157
|
+
vectorStoreName: string;
|
|
158
|
+
indexName: string;
|
|
159
|
+
options: EmbeddingOptions;
|
|
160
|
+
topK?: number;
|
|
161
|
+
vectorFilterType?: VectorFilterType;
|
|
162
|
+
reranker?: RerankConfig;
|
|
163
|
+
}) => _mastra_core.Tool<`VectorQuery ${string} ${string} Tool`, z.ZodObject<{
|
|
164
|
+
queryText: z.ZodString;
|
|
165
|
+
filter: z.ZodUnion<[z.ZodObject<{
|
|
166
|
+
keyword: z.ZodString;
|
|
167
|
+
operator: z.ZodString;
|
|
168
|
+
value: z.ZodString;
|
|
169
|
+
}, "strip", z.ZodTypeAny, {
|
|
170
|
+
value: string;
|
|
171
|
+
keyword: string;
|
|
172
|
+
operator: string;
|
|
173
|
+
}, {
|
|
174
|
+
value: string;
|
|
175
|
+
keyword: string;
|
|
176
|
+
operator: string;
|
|
177
|
+
}>, z.ZodObject<{
|
|
178
|
+
type: z.ZodEnum<["$and", "$or"]>;
|
|
179
|
+
filters: z.ZodArray<z.ZodObject<{
|
|
180
|
+
keyword: z.ZodString;
|
|
181
|
+
operator: z.ZodString;
|
|
182
|
+
value: z.ZodString;
|
|
183
|
+
}, "strip", z.ZodTypeAny, {
|
|
184
|
+
value: string;
|
|
185
|
+
keyword: string;
|
|
186
|
+
operator: string;
|
|
187
|
+
}, {
|
|
188
|
+
value: string;
|
|
189
|
+
keyword: string;
|
|
190
|
+
operator: string;
|
|
191
|
+
}>, "many">;
|
|
192
|
+
}, "strip", z.ZodTypeAny, {
|
|
193
|
+
type: "$and" | "$or";
|
|
194
|
+
filters: {
|
|
195
|
+
value: string;
|
|
196
|
+
keyword: string;
|
|
197
|
+
operator: string;
|
|
198
|
+
}[];
|
|
199
|
+
}, {
|
|
200
|
+
type: "$and" | "$or";
|
|
201
|
+
filters: {
|
|
202
|
+
value: string;
|
|
203
|
+
keyword: string;
|
|
204
|
+
operator: string;
|
|
205
|
+
}[];
|
|
206
|
+
}>]>;
|
|
207
|
+
}, "strip", z.ZodTypeAny, {
|
|
208
|
+
filter: {
|
|
209
|
+
value: string;
|
|
210
|
+
keyword: string;
|
|
211
|
+
operator: string;
|
|
212
|
+
} | {
|
|
213
|
+
type: "$and" | "$or";
|
|
214
|
+
filters: {
|
|
215
|
+
value: string;
|
|
216
|
+
keyword: string;
|
|
217
|
+
operator: string;
|
|
218
|
+
}[];
|
|
219
|
+
};
|
|
220
|
+
queryText: string;
|
|
221
|
+
}, {
|
|
222
|
+
filter: {
|
|
223
|
+
value: string;
|
|
224
|
+
keyword: string;
|
|
225
|
+
operator: string;
|
|
226
|
+
} | {
|
|
227
|
+
type: "$and" | "$or";
|
|
228
|
+
filters: {
|
|
229
|
+
value: string;
|
|
230
|
+
keyword: string;
|
|
231
|
+
operator: string;
|
|
232
|
+
}[];
|
|
233
|
+
};
|
|
234
|
+
queryText: string;
|
|
235
|
+
}>, z.ZodObject<{
|
|
236
|
+
relevantContext: z.ZodString;
|
|
237
|
+
}, "strip", z.ZodTypeAny, {
|
|
238
|
+
relevantContext: string;
|
|
239
|
+
}, {
|
|
240
|
+
relevantContext: string;
|
|
241
|
+
}>, _mastra_core.ToolExecutionContext<z.ZodObject<{
|
|
242
|
+
queryText: z.ZodString;
|
|
243
|
+
filter: z.ZodUnion<[z.ZodObject<{
|
|
244
|
+
keyword: z.ZodString;
|
|
245
|
+
operator: z.ZodString;
|
|
246
|
+
value: z.ZodString;
|
|
247
|
+
}, "strip", z.ZodTypeAny, {
|
|
248
|
+
value: string;
|
|
249
|
+
keyword: string;
|
|
250
|
+
operator: string;
|
|
251
|
+
}, {
|
|
252
|
+
value: string;
|
|
253
|
+
keyword: string;
|
|
254
|
+
operator: string;
|
|
255
|
+
}>, z.ZodObject<{
|
|
256
|
+
type: z.ZodEnum<["$and", "$or"]>;
|
|
257
|
+
filters: z.ZodArray<z.ZodObject<{
|
|
258
|
+
keyword: z.ZodString;
|
|
259
|
+
operator: z.ZodString;
|
|
260
|
+
value: z.ZodString;
|
|
261
|
+
}, "strip", z.ZodTypeAny, {
|
|
262
|
+
value: string;
|
|
263
|
+
keyword: string;
|
|
264
|
+
operator: string;
|
|
265
|
+
}, {
|
|
266
|
+
value: string;
|
|
267
|
+
keyword: string;
|
|
268
|
+
operator: string;
|
|
269
|
+
}>, "many">;
|
|
270
|
+
}, "strip", z.ZodTypeAny, {
|
|
271
|
+
type: "$and" | "$or";
|
|
272
|
+
filters: {
|
|
273
|
+
value: string;
|
|
274
|
+
keyword: string;
|
|
275
|
+
operator: string;
|
|
276
|
+
}[];
|
|
277
|
+
}, {
|
|
278
|
+
type: "$and" | "$or";
|
|
279
|
+
filters: {
|
|
280
|
+
value: string;
|
|
281
|
+
keyword: string;
|
|
282
|
+
operator: string;
|
|
283
|
+
}[];
|
|
284
|
+
}>]>;
|
|
285
|
+
}, "strip", z.ZodTypeAny, {
|
|
286
|
+
filter: {
|
|
287
|
+
value: string;
|
|
288
|
+
keyword: string;
|
|
289
|
+
operator: string;
|
|
290
|
+
} | {
|
|
291
|
+
type: "$and" | "$or";
|
|
292
|
+
filters: {
|
|
293
|
+
value: string;
|
|
294
|
+
keyword: string;
|
|
295
|
+
operator: string;
|
|
296
|
+
}[];
|
|
297
|
+
};
|
|
298
|
+
queryText: string;
|
|
299
|
+
}, {
|
|
300
|
+
filter: {
|
|
301
|
+
value: string;
|
|
302
|
+
keyword: string;
|
|
303
|
+
operator: string;
|
|
304
|
+
} | {
|
|
305
|
+
type: "$and" | "$or";
|
|
306
|
+
filters: {
|
|
307
|
+
value: string;
|
|
308
|
+
keyword: string;
|
|
309
|
+
operator: string;
|
|
310
|
+
}[];
|
|
311
|
+
};
|
|
312
|
+
queryText: string;
|
|
313
|
+
}>, _mastra_core.WorkflowContext<any>>>;
|
|
314
|
+
declare const createGraphRAGTool: ({ vectorStoreName, indexName, topK, options, vectorFilterType, graphOptions, }: {
|
|
315
|
+
vectorStoreName: string;
|
|
316
|
+
indexName: string;
|
|
317
|
+
options: EmbeddingOptions;
|
|
318
|
+
topK?: number;
|
|
319
|
+
vectorFilterType?: VectorFilterType;
|
|
320
|
+
graphOptions?: {
|
|
321
|
+
dimension?: number;
|
|
322
|
+
randomWalkSteps?: number;
|
|
323
|
+
restartProb?: number;
|
|
324
|
+
threshold?: number;
|
|
325
|
+
};
|
|
326
|
+
}) => _mastra_core.Tool<`GraphRAG ${string} ${string} Tool`, z.ZodObject<{
|
|
327
|
+
queryText: z.ZodString;
|
|
328
|
+
filter: z.ZodObject<{
|
|
329
|
+
keyword: z.ZodString;
|
|
330
|
+
operator: z.ZodString;
|
|
331
|
+
value: z.ZodString;
|
|
332
|
+
}, "strip", z.ZodTypeAny, {
|
|
333
|
+
value: string;
|
|
334
|
+
keyword: string;
|
|
335
|
+
operator: string;
|
|
336
|
+
}, {
|
|
337
|
+
value: string;
|
|
338
|
+
keyword: string;
|
|
339
|
+
operator: string;
|
|
340
|
+
}>;
|
|
341
|
+
}, "strip", z.ZodTypeAny, {
|
|
342
|
+
filter: {
|
|
343
|
+
value: string;
|
|
344
|
+
keyword: string;
|
|
345
|
+
operator: string;
|
|
346
|
+
};
|
|
347
|
+
queryText: string;
|
|
348
|
+
}, {
|
|
349
|
+
filter: {
|
|
350
|
+
value: string;
|
|
351
|
+
keyword: string;
|
|
352
|
+
operator: string;
|
|
353
|
+
};
|
|
354
|
+
queryText: string;
|
|
355
|
+
}>, z.ZodObject<{
|
|
356
|
+
relevantContext: z.ZodString;
|
|
357
|
+
}, "strip", z.ZodTypeAny, {
|
|
358
|
+
relevantContext: string;
|
|
359
|
+
}, {
|
|
360
|
+
relevantContext: string;
|
|
361
|
+
}>, _mastra_core.ToolExecutionContext<z.ZodObject<{
|
|
362
|
+
queryText: z.ZodString;
|
|
363
|
+
filter: z.ZodObject<{
|
|
364
|
+
keyword: z.ZodString;
|
|
365
|
+
operator: z.ZodString;
|
|
366
|
+
value: z.ZodString;
|
|
367
|
+
}, "strip", z.ZodTypeAny, {
|
|
368
|
+
value: string;
|
|
369
|
+
keyword: string;
|
|
370
|
+
operator: string;
|
|
371
|
+
}, {
|
|
372
|
+
value: string;
|
|
373
|
+
keyword: string;
|
|
374
|
+
operator: string;
|
|
375
|
+
}>;
|
|
376
|
+
}, "strip", z.ZodTypeAny, {
|
|
377
|
+
filter: {
|
|
378
|
+
value: string;
|
|
379
|
+
keyword: string;
|
|
380
|
+
operator: string;
|
|
381
|
+
};
|
|
382
|
+
queryText: string;
|
|
383
|
+
}, {
|
|
384
|
+
filter: {
|
|
385
|
+
value: string;
|
|
386
|
+
keyword: string;
|
|
387
|
+
operator: string;
|
|
388
|
+
};
|
|
389
|
+
queryText: string;
|
|
390
|
+
}>, _mastra_core.WorkflowContext<any>>>;
|
|
391
|
+
declare const createDocumentChunkerTool: ({ doc, params, }: {
|
|
392
|
+
doc: MDocument;
|
|
393
|
+
params?: ChunkParams;
|
|
394
|
+
}) => _mastra_core.Tool<"Document Chunker undefined undefined" | `Document Chunker undefined ${number}` | "Document Chunker markdown undefined" | `Document Chunker markdown ${number}` | "Document Chunker latex undefined" | `Document Chunker latex ${number}` | "Document Chunker html undefined" | `Document Chunker html ${number}` | "Document Chunker recursive undefined" | `Document Chunker recursive ${number}` | "Document Chunker character undefined" | `Document Chunker character ${number}` | "Document Chunker token undefined" | `Document Chunker token ${number}` | "Document Chunker json undefined" | `Document Chunker json ${number}`, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, undefined, _mastra_core.ToolExecutionContext<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, _mastra_core.WorkflowContext<any>>>;
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* TODO: GraphRAG Enhancements
|
|
398
|
+
* - Add support for more edge types (sequential, hierarchical, citation, etc)
|
|
399
|
+
* - Allow for custom edge types
|
|
400
|
+
* - Utilize metadata for richer connections
|
|
401
|
+
* - Improve graph traversal and querying using types
|
|
402
|
+
*/
|
|
403
|
+
type SupportedEdgeType = 'semantic';
|
|
404
|
+
interface GraphNode {
|
|
405
|
+
id: string;
|
|
406
|
+
content: string;
|
|
407
|
+
embedding?: number[];
|
|
408
|
+
metadata?: Record<string, any>;
|
|
409
|
+
}
|
|
410
|
+
interface RankedNode extends GraphNode {
|
|
411
|
+
score: number;
|
|
412
|
+
}
|
|
413
|
+
interface GraphEdge {
|
|
414
|
+
source: string;
|
|
415
|
+
target: string;
|
|
416
|
+
weight: number;
|
|
417
|
+
type: SupportedEdgeType;
|
|
418
|
+
}
|
|
419
|
+
interface GraphChunk {
|
|
420
|
+
text: string;
|
|
421
|
+
metadata: Record<string, any>;
|
|
422
|
+
}
|
|
423
|
+
interface GraphEmbedding {
|
|
424
|
+
vector: number[];
|
|
425
|
+
}
|
|
426
|
+
declare class GraphRAG {
|
|
427
|
+
private nodes;
|
|
428
|
+
private edges;
|
|
429
|
+
private dimension;
|
|
430
|
+
private threshold;
|
|
431
|
+
constructor(dimension?: number, threshold?: number);
|
|
432
|
+
addNode(node: GraphNode): void;
|
|
433
|
+
addEdge(edge: GraphEdge): void;
|
|
434
|
+
getNodes(): GraphNode[];
|
|
435
|
+
getEdges(): GraphEdge[];
|
|
436
|
+
getEdgesByType(type: string): GraphEdge[];
|
|
437
|
+
clear(): void;
|
|
438
|
+
updateNodeContent(id: string, newContent: string): void;
|
|
439
|
+
private getNeighbors;
|
|
440
|
+
private cosineSimilarity;
|
|
441
|
+
createGraph(chunks: GraphChunk[], embeddings: GraphEmbedding[]): void;
|
|
442
|
+
private selectWeightedNeighbor;
|
|
443
|
+
private randomWalkWithRestart;
|
|
444
|
+
query(query: number[], topK?: number, randomWalkSteps?: number, restartProb?: number): RankedNode[];
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
export { GraphRAG, MDocument, type RerankConfig, type RerankResult, type RerankerFunctionOptions, type RerankerOptions, createDocumentChunkerTool, createGraphRAGTool, createVectorQueryTool, embed, embedMany, rerank };
|