@meaningfully/core 0.1.1 → 0.1.3
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/Meaningfully.d.ts +11 -3
- package/dist/Meaningfully.d.ts.map +1 -1
- package/dist/Meaningfully.js +107 -25
- package/dist/Meaningfully.js.map +1 -1
- package/dist/api/embedding.d.ts +1 -1
- package/dist/api/embedding.d.ts.map +1 -1
- package/dist/api/embedding.js +3 -3
- package/dist/api/embedding.js.map +1 -1
- package/dist/services/embeddings.d.ts +6 -2
- package/dist/services/embeddings.d.ts.map +1 -1
- package/dist/services/embeddings.js +57 -73
- package/dist/services/embeddings.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/Meaningfully.ts +107 -26
- package/src/__tests__/Meaningfully.test.ts +327 -0
- package/src/api/__tests__/embedding.test.ts +4 -4
- package/src/api/embedding.ts +3 -3
- package/src/services/embeddings.d.ts +0 -1
- package/src/services/embeddings.ts +62 -81
- package/src/types/index.ts +2 -0
package/dist/Meaningfully.d.ts
CHANGED
|
@@ -5,12 +5,13 @@ type HasFilePath = {
|
|
|
5
5
|
};
|
|
6
6
|
type DocumentSetParamsFilePath = DocumentSetParams & HasFilePath;
|
|
7
7
|
export declare class MeaningfullyAPI {
|
|
8
|
-
private
|
|
8
|
+
private metadataManager;
|
|
9
9
|
private storagePath;
|
|
10
10
|
private clients;
|
|
11
|
-
constructor({ storagePath, weaviateClient, metadataManager }: {
|
|
11
|
+
constructor({ storagePath, weaviateClient, postgresClient, metadataManager }: {
|
|
12
12
|
storagePath: string;
|
|
13
13
|
weaviateClient?: any;
|
|
14
|
+
postgresClient?: any;
|
|
14
15
|
metadataManager: MetadataManager;
|
|
15
16
|
});
|
|
16
17
|
setClients(clients: Clients): void;
|
|
@@ -23,7 +24,7 @@ export declare class MeaningfullyAPI {
|
|
|
23
24
|
deleteDocumentSet(documentSetId: number): Promise<{
|
|
24
25
|
success: boolean;
|
|
25
26
|
}>;
|
|
26
|
-
getVectorStoreType(): "simple" | "weaviate";
|
|
27
|
+
getVectorStoreType(): "simple" | "postgres" | "weaviate";
|
|
27
28
|
generatePreviewData(data: DocumentSetParamsFilePath): Promise<import("./types/index.js").PreviewResult>;
|
|
28
29
|
uploadCsv(data: DocumentSetParamsFilePath): Promise<{
|
|
29
30
|
success: boolean;
|
|
@@ -47,6 +48,13 @@ export declare class MeaningfullyAPI {
|
|
|
47
48
|
setMaskedSettings(newSettings: Settings): Promise<{
|
|
48
49
|
success: boolean;
|
|
49
50
|
}>;
|
|
51
|
+
deletePostgresVectorStore(projectName: string): Promise<void>;
|
|
52
|
+
deletePostgresIndexStore(projectName: string): Promise<void>;
|
|
53
|
+
deletePostgresDocStore(projectName: string): Promise<void>;
|
|
54
|
+
deleteWeaviateVectorStore(projectName: string): Promise<void>;
|
|
55
|
+
deleteSimpleVectorStore(projectName: string): Promise<void>;
|
|
56
|
+
deleteSimpleDocStore(projectName: string): Promise<void>;
|
|
57
|
+
deleteSimpleIndexStore(projectName: string): Promise<void>;
|
|
50
58
|
}
|
|
51
59
|
export {};
|
|
52
60
|
//# sourceMappingURL=Meaningfully.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Meaningfully.d.ts","sourceRoot":"","sources":["../src/Meaningfully.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG7F,KAAK,WAAW,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AACtC,KAAK,yBAAyB,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAUjE,qBAAa,eAAe;IAC1B,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"Meaningfully.d.ts","sourceRoot":"","sources":["../src/Meaningfully.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG7F,KAAK,WAAW,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AACtC,KAAK,yBAAyB,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAUjE,qBAAa,eAAe;IAC1B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAU;gBAEb,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,GAAG,CAAC;QAAC,cAAc,CAAC,EAAE,GAAG,CAAC;QAAC,eAAe,EAAE,eAAe,CAAA;KAAE;IASnL,UAAU,CAAC,OAAO,EAAE,OAAO;IAG3B,UAAU;IAIJ,gBAAgB,CAAC,IAAI,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAW;;;;IAIxD,cAAc,CAAC,aAAa,EAAE,MAAM;IAKpC,iBAAiB,CAAC,aAAa,EAAE,MAAM;;;IA2C7C,kBAAkB;IAIZ,mBAAmB,CAAC,IAAI,EAAE,yBAAyB;IAwBnD,SAAS,CAAC,IAAI,EAAE,yBAAyB;;;;IA8DzC,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,EAAI,OAAO,CAAC,EAAE,cAAc,EAAE;IAsB5G,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IA0BzD,WAAW;IAGX,WAAW,CAAC,QAAQ,EAAE,QAAQ;;;IAI9B,iBAAiB;;;;;;;;;IAYjB,iBAAiB,CAAC,WAAW,EAAE,QAAQ;;;IAcvC,yBAAyB,CAAC,WAAW,EAAE,MAAM;IAS7C,wBAAwB,CAAC,WAAW,EAAE,MAAM;IAS5C,sBAAsB,CAAC,WAAW,EAAE,MAAM;IAU1C,yBAAyB,CAAC,WAAW,EAAE,MAAM;IAM7C,uBAAuB,CAAC,WAAW,EAAE,MAAM;IAI3C,oBAAoB,CAAC,WAAW,EAAE,MAAM;IAIxC,sBAAsB,CAAC,WAAW,EAAE,MAAM;CAGjD"}
|
package/dist/Meaningfully.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { loadDocumentsFromCsv } from './services/csvLoader.js';
|
|
2
2
|
import { createEmbeddings, getIndex, search, previewResults, getDocStore } from './api/embedding.js';
|
|
3
|
-
import { capitalizeFirstLetter } from
|
|
3
|
+
import { sanitizeProjectName, capitalizeFirstLetter } from "./utils.js";
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import fs from 'fs';
|
|
6
6
|
const MASKING_PREFIX_LENGTH = 8; // how many characters to show at the start and end of an API key when masking it for display
|
|
@@ -11,15 +11,15 @@ const maskKey = (key, n = MASKING_PREFIX_LENGTH) => {
|
|
|
11
11
|
return (key.length > (n * 2)) ? key.slice(0, n) + "*******" + key.slice(key.length - n) : key;
|
|
12
12
|
};
|
|
13
13
|
export class MeaningfullyAPI {
|
|
14
|
-
|
|
14
|
+
metadataManager;
|
|
15
15
|
storagePath;
|
|
16
16
|
clients;
|
|
17
|
-
constructor({ storagePath, weaviateClient, metadataManager }) {
|
|
17
|
+
constructor({ storagePath, weaviateClient, postgresClient, metadataManager }) {
|
|
18
18
|
this.storagePath = storagePath;
|
|
19
|
-
this.
|
|
19
|
+
this.metadataManager = metadataManager;
|
|
20
20
|
this.clients = {
|
|
21
21
|
weaviateClient: weaviateClient,
|
|
22
|
-
postgresClient:
|
|
22
|
+
postgresClient: postgresClient
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
setClients(clients) {
|
|
@@ -29,25 +29,59 @@ export class MeaningfullyAPI {
|
|
|
29
29
|
return this.clients;
|
|
30
30
|
}
|
|
31
31
|
async listDocumentSets(page = 1, pageSize = 10) {
|
|
32
|
-
return await this.
|
|
32
|
+
return await this.metadataManager.getDocumentSets(page, pageSize);
|
|
33
33
|
}
|
|
34
34
|
async getDocumentSet(documentSetId) {
|
|
35
|
-
return await this.
|
|
35
|
+
return await this.metadataManager.getDocumentSet(documentSetId);
|
|
36
36
|
}
|
|
37
37
|
async deleteDocumentSet(documentSetId) {
|
|
38
38
|
// Delete the document set from the database
|
|
39
|
-
const result = await this.
|
|
39
|
+
const result = await this.metadataManager.getDocumentSet(documentSetId);
|
|
40
40
|
if (result) {
|
|
41
41
|
// Delete the document set from the database
|
|
42
|
-
await this.
|
|
42
|
+
await this.metadataManager.deleteDocumentSet(documentSetId);
|
|
43
43
|
// Delete the associated files from the filesystem
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
if (result.parameters.vectorStoreType === 'postgres') {
|
|
45
|
+
if (this.clients.postgresClient) {
|
|
46
|
+
try {
|
|
47
|
+
await this.deletePostgresVectorStore(result.name);
|
|
48
|
+
await this.deletePostgresIndexStore(result.name);
|
|
49
|
+
await this.deletePostgresDocStore(result.name);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error(`Error deleting Postgres tables for ${sanitizeProjectName(result.name)}`, error);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else if (result.parameters.vectorStoreType === 'weaviate') {
|
|
57
|
+
if (this.clients.weaviateClient) {
|
|
58
|
+
try {
|
|
59
|
+
await this.deleteWeaviateVectorStore(result.name);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
console.error("Error deleting Weaviate class:", error);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.deleteSimpleVectorStore(result.name);
|
|
67
|
+
}
|
|
68
|
+
// Remove the directory and its contents
|
|
69
|
+
this.deleteSimpleDocStore(result.name);
|
|
70
|
+
this.deleteSimpleIndexStore(result.name);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.deleteSimpleDocStore(result.name);
|
|
74
|
+
this.deleteSimpleIndexStore(result.name);
|
|
75
|
+
this.deleteSimpleVectorStore(result.name);
|
|
76
|
+
}
|
|
46
77
|
}
|
|
47
78
|
return { success: true };
|
|
48
79
|
}
|
|
80
|
+
// TODO: this is an awful hack.
|
|
81
|
+
// I don't really want to have it be an argument to the constructor
|
|
82
|
+
// maybe I should make clients accept EITHER, not both?
|
|
49
83
|
getVectorStoreType() {
|
|
50
|
-
return this.clients.weaviateClient ? 'weaviate' : 'simple';
|
|
84
|
+
return this.clients.postgresClient ? 'postgres' : (this.clients.weaviateClient ? 'weaviate' : 'simple');
|
|
51
85
|
}
|
|
52
86
|
async generatePreviewData(data) {
|
|
53
87
|
const vectorStoreType = this.getVectorStoreType();
|
|
@@ -55,6 +89,7 @@ export class MeaningfullyAPI {
|
|
|
55
89
|
if (!data.textColumns[0]) {
|
|
56
90
|
throw new Error("No text column specified for preview.");
|
|
57
91
|
}
|
|
92
|
+
console.log(data);
|
|
58
93
|
return await previewResults(data.filePath, data.textColumns[0], {
|
|
59
94
|
modelName: data.modelName, // needed to tokenize, estimate costs
|
|
60
95
|
modelProvider: data.modelProvider,
|
|
@@ -76,7 +111,7 @@ export class MeaningfullyAPI {
|
|
|
76
111
|
// figure out if weaviate is available
|
|
77
112
|
const vectorStoreType = this.getVectorStoreType();
|
|
78
113
|
// First create the document set record
|
|
79
|
-
const documentSetId = await this.
|
|
114
|
+
const documentSetId = await this.metadataManager.addDocumentSet({
|
|
80
115
|
name: data.datasetName,
|
|
81
116
|
uploadDate: new Date(),
|
|
82
117
|
parameters: {
|
|
@@ -94,14 +129,14 @@ export class MeaningfullyAPI {
|
|
|
94
129
|
},
|
|
95
130
|
totalDocuments: 0 // We'll update this after processing
|
|
96
131
|
});
|
|
97
|
-
const embedSettings = await this.
|
|
132
|
+
const embedSettings = await this.metadataManager.getSettings();
|
|
98
133
|
// Load and process the documents
|
|
99
134
|
try {
|
|
100
135
|
// Process each text column
|
|
101
136
|
for (const textColumn of data.textColumns) {
|
|
102
137
|
const documents = await loadDocumentsFromCsv(data.filePath, textColumn);
|
|
103
138
|
// Update total documents count
|
|
104
|
-
await this.
|
|
139
|
+
await this.metadataManager.updateDocumentCount(documentSetId, documents.length);
|
|
105
140
|
// Create embeddings for this column
|
|
106
141
|
let ret = await createEmbeddings(data.filePath, textColumn, {
|
|
107
142
|
modelName: data.modelName,
|
|
@@ -124,14 +159,14 @@ export class MeaningfullyAPI {
|
|
|
124
159
|
}
|
|
125
160
|
catch (error) {
|
|
126
161
|
// If something fails, we should probably delete the document set
|
|
127
|
-
await this.
|
|
162
|
+
await this.metadataManager.deleteDocumentSet(documentSetId);
|
|
128
163
|
console.error("deleting document set due to failure ", documentSetId, error);
|
|
129
164
|
throw error;
|
|
130
165
|
}
|
|
131
166
|
}
|
|
132
167
|
async searchDocumentSet(documentSetId, query, n_results = 10, filters) {
|
|
133
|
-
const documentSet = await this.
|
|
134
|
-
const settings = await this.
|
|
168
|
+
const documentSet = await this.metadataManager.getDocumentSet(documentSetId);
|
|
169
|
+
const settings = await this.metadataManager.getSettings();
|
|
135
170
|
if (!documentSet) {
|
|
136
171
|
throw new Error('Document set not found');
|
|
137
172
|
}
|
|
@@ -151,7 +186,8 @@ export class MeaningfullyAPI {
|
|
|
151
186
|
return results;
|
|
152
187
|
}
|
|
153
188
|
async getDocument(documentSetId, documentNodeId) {
|
|
154
|
-
const documentSet = await this.
|
|
189
|
+
const documentSet = await this.metadataManager.getDocumentSet(documentSetId);
|
|
190
|
+
const settings = await this.metadataManager.getSettings();
|
|
155
191
|
if (!documentSet) {
|
|
156
192
|
throw new Error('Document set not found');
|
|
157
193
|
}
|
|
@@ -166,7 +202,7 @@ export class MeaningfullyAPI {
|
|
|
166
202
|
storagePath: this.storagePath,
|
|
167
203
|
chunkSize: 1024, // not actually used, we just re-use a config object that has this option
|
|
168
204
|
chunkOverlap: 20, // not actually used, we just re-use a config object that has this option
|
|
169
|
-
});
|
|
205
|
+
}, settings, this.clients);
|
|
170
206
|
const document = await docStore.getNode(documentNodeId);
|
|
171
207
|
if (!document) {
|
|
172
208
|
throw new Error('Document not found');
|
|
@@ -174,13 +210,13 @@ export class MeaningfullyAPI {
|
|
|
174
210
|
return document;
|
|
175
211
|
}
|
|
176
212
|
async getSettings() {
|
|
177
|
-
return this.
|
|
213
|
+
return this.metadataManager.getSettings();
|
|
178
214
|
}
|
|
179
215
|
async setSettings(settings) {
|
|
180
|
-
return this.
|
|
216
|
+
return this.metadataManager.setSettings(settings);
|
|
181
217
|
}
|
|
182
218
|
async getMaskedSettings() {
|
|
183
|
-
const settings = await this.
|
|
219
|
+
const settings = await this.metadataManager.getSettings();
|
|
184
220
|
return {
|
|
185
221
|
openAIKey: maskKey(settings.openAIKey),
|
|
186
222
|
oLlamaBaseURL: settings.oLlamaBaseURL,
|
|
@@ -192,7 +228,7 @@ export class MeaningfullyAPI {
|
|
|
192
228
|
};
|
|
193
229
|
}
|
|
194
230
|
async setMaskedSettings(newSettings) {
|
|
195
|
-
const oldSettings = await this.
|
|
231
|
+
const oldSettings = await this.metadataManager.getSettings();
|
|
196
232
|
const settings = {
|
|
197
233
|
...newSettings,
|
|
198
234
|
openAIKey: newSettings.openAIKey == maskKey(oldSettings.openAIKey) ? oldSettings.openAIKey : newSettings.openAIKey,
|
|
@@ -200,7 +236,53 @@ export class MeaningfullyAPI {
|
|
|
200
236
|
mistralApiKey: newSettings.mistralApiKey == maskKey(oldSettings.mistralApiKey) ? oldSettings.mistralApiKey : newSettings.mistralApiKey,
|
|
201
237
|
geminiApiKey: newSettings.geminiApiKey == maskKey(oldSettings.geminiApiKey) ? oldSettings.geminiApiKey : newSettings.geminiApiKey
|
|
202
238
|
};
|
|
203
|
-
return this.
|
|
239
|
+
return this.metadataManager.setSettings(settings);
|
|
240
|
+
}
|
|
241
|
+
// these should be moved to another file, just because they're too low-level for this one.
|
|
242
|
+
async deletePostgresVectorStore(projectName) {
|
|
243
|
+
if (this.clients.postgresClient) {
|
|
244
|
+
try {
|
|
245
|
+
await this.clients.postgresClient.query('DROP TABLE IF EXISTS vecs_' + sanitizeProjectName(projectName));
|
|
246
|
+
}
|
|
247
|
+
catch (error) {
|
|
248
|
+
console.error(`Error deleting Postgres tables for ${sanitizeProjectName(projectName)}`, error);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
async deletePostgresIndexStore(projectName) {
|
|
253
|
+
if (this.clients.postgresClient) {
|
|
254
|
+
try {
|
|
255
|
+
await this.clients.postgresClient.query('DROP TABLE IF EXISTS idx_' + sanitizeProjectName(projectName));
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
console.error(`Error deleting Postgres tables for ${sanitizeProjectName(projectName)}`, error);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
async deletePostgresDocStore(projectName) {
|
|
263
|
+
if (this.clients.postgresClient) {
|
|
264
|
+
try {
|
|
265
|
+
await this.clients.postgresClient.query('DROP TABLE IF EXISTS docs_' + sanitizeProjectName(projectName));
|
|
266
|
+
}
|
|
267
|
+
catch (error) {
|
|
268
|
+
console.error(`Error deleting Postgres tables for ${sanitizeProjectName(projectName)}`, error);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
async deleteWeaviateVectorStore(projectName) {
|
|
273
|
+
if (this.clients.weaviateClient) {
|
|
274
|
+
await this.clients.weaviateClient.collections.delete(capitalizeFirstLetter(projectName));
|
|
275
|
+
}
|
|
276
|
+
// fs.rmSync(join(this.storagePath, 'weaviate_data', capitalizeFirstLetter(result.name)), { recursive: true, force: true });
|
|
277
|
+
}
|
|
278
|
+
async deleteSimpleVectorStore(projectName) {
|
|
279
|
+
fs.rmSync(join(this.storagePath, projectName), { recursive: true, force: true });
|
|
280
|
+
}
|
|
281
|
+
async deleteSimpleDocStore(projectName) {
|
|
282
|
+
fs.rmSync(join(this.storagePath, projectName), { recursive: true, force: true });
|
|
283
|
+
}
|
|
284
|
+
async deleteSimpleIndexStore(projectName) {
|
|
285
|
+
fs.rmSync(join(this.storagePath, projectName), { recursive: true, force: true });
|
|
204
286
|
}
|
|
205
287
|
}
|
|
206
288
|
//# sourceMappingURL=Meaningfully.js.map
|
package/dist/Meaningfully.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Meaningfully.js","sourceRoot":"","sources":["../src/Meaningfully.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Meaningfully.js","sourceRoot":"","sources":["../src/Meaningfully.ts"],"names":[],"mappings":"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"}
|
package/dist/api/embedding.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EmbeddingConfig, EmbeddingResult, SearchResult, PreviewResult, Settings, MetadataFilter, Clients } from "../types/index.js";
|
|
2
2
|
export declare function createEmbeddings(csvPath: string, textColumnName: string, config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<EmbeddingResult>;
|
|
3
3
|
export declare function previewResults(csvPath: string, textColumnName: string, config: EmbeddingConfig): Promise<PreviewResult>;
|
|
4
|
-
export declare function getDocStore(config: EmbeddingConfig): Promise<import("llamaindex").BaseDocumentStore>;
|
|
4
|
+
export declare function getDocStore(config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<import("llamaindex").BaseDocumentStore>;
|
|
5
5
|
export declare function getIndex(config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<import("llamaindex").VectorStoreIndex>;
|
|
6
6
|
export declare function search(index: any, query: string, numResults?: number, filters?: MetadataFilter[]): Promise<SearchResult[]>;
|
|
7
7
|
//# sourceMappingURL=embedding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/api/embedding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK1I,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,CAAC,CAyC1B;AAGD,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAqCxB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../src/api/embedding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK1I,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,CAAC,CAyC1B;AAGD,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAqCxB;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,mDAE9F;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,kDAE3F;AAED,wBAAsB,MAAM,CAC1B,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAW,EACvB,OAAO,CAAC,EAAE,cAAc,EAAE,GACzB,OAAO,CAAC,YAAY,EAAE,CAAC,CASzB"}
|
package/dist/api/embedding.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { transformDocumentsToNodes, estimateCost, searchDocuments, getExistingVectorStoreIndex, persistNodes, persistDocuments,
|
|
1
|
+
import { transformDocumentsToNodes, estimateCost, searchDocuments, getExistingVectorStoreIndex, persistNodes, persistDocuments, getStorageContext } from "../services/embeddings.js";
|
|
2
2
|
import { loadDocumentsFromCsv } from "../services/csvLoader.js";
|
|
3
3
|
import { MetadataMode } from "llamaindex";
|
|
4
4
|
import { ProgressManager } from "../services/progressManager.js";
|
|
@@ -75,8 +75,8 @@ export async function previewResults(csvPath, textColumnName, config) {
|
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
export async function getDocStore(config) {
|
|
79
|
-
return await
|
|
78
|
+
export async function getDocStore(config, settings, clients) {
|
|
79
|
+
return (await getStorageContext(config, settings, clients)).docStore;
|
|
80
80
|
}
|
|
81
81
|
export async function getIndex(config, settings, clients) {
|
|
82
82
|
return await getExistingVectorStoreIndex(config, settings, clients);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/api/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,eAAe,EAAE,2BAA2B,EAAE,YAAY,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../src/api/embedding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { Document, VectorStoreIndex, TextNode, type StorageContext } from "llamaindex";
|
|
1
|
+
import { Document, VectorStoreIndex, TextNode, SimpleVectorStore, type StorageContext, BaseDocumentStore, BaseIndexStore } from "llamaindex";
|
|
2
2
|
import { OllamaEmbedding } from '@llamaindex/ollama';
|
|
3
3
|
import { MistralAIEmbedding } from '@llamaindex/mistral';
|
|
4
4
|
import { GeminiEmbedding } from '@llamaindex/google';
|
|
5
|
+
import { PGVectorStore } from '@llamaindex/postgres';
|
|
5
6
|
import { MockEmbedding } from "./mockEmbedding.js";
|
|
6
7
|
import type { EmbeddingConfig, Settings, MetadataFilter, Clients } from "../types/index.js";
|
|
7
8
|
import { OpenAIEmbedding } from "@llamaindex/openai";
|
|
9
|
+
import { BatchingWeaviateVectorStore } from "./batchingWeaviateVectorStore.js";
|
|
8
10
|
import { ProgressVectorStoreIndex } from "./progressVectorStoreIndex.js";
|
|
9
11
|
export declare function estimateCost(nodes: TextNode[], modelName: string): {
|
|
10
12
|
estimatedPrice: number;
|
|
@@ -12,11 +14,13 @@ export declare function estimateCost(nodes: TextNode[], modelName: string): {
|
|
|
12
14
|
pricePer1M: number;
|
|
13
15
|
};
|
|
14
16
|
export declare function getExistingVectorStoreIndex(config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<VectorStoreIndex>;
|
|
15
|
-
export declare function getExistingDocStore(config: EmbeddingConfig): Promise<import("llamaindex").BaseDocumentStore>;
|
|
16
17
|
export declare function transformDocumentsToNodes(documents: Document[], config: EmbeddingConfig): Promise<TextNode<import("llamaindex").Metadata>[]>;
|
|
17
18
|
export declare function getEmbedModel(config: EmbeddingConfig, settings: Settings): OpenAIEmbedding | OllamaEmbedding | MistralAIEmbedding | GeminiEmbedding | MockEmbedding;
|
|
18
19
|
export declare function getStorageContext(config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<StorageContext>;
|
|
19
20
|
export declare function persistDocuments(documents: Document[], config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<void>;
|
|
20
21
|
export declare function persistNodes(nodes: TextNode[], config: EmbeddingConfig, settings: Settings, clients: Clients, progressCallback?: (progress: number, total: number) => void): Promise<ProgressVectorStoreIndex>;
|
|
22
|
+
export declare function createVectorStore(config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<PGVectorStore | SimpleVectorStore | BatchingWeaviateVectorStore>;
|
|
23
|
+
export declare function createDocumentStore(config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<BaseDocumentStore>;
|
|
24
|
+
export declare function createIndexStore(config: EmbeddingConfig, settings: Settings, clients: Clients): Promise<BaseIndexStore>;
|
|
21
25
|
export declare function searchDocuments(index: VectorStoreIndex, query: string, numResults?: number, filters?: MetadataFilter[]): Promise<import("llamaindex").NodeWithScore<import("llamaindex").Metadata>[]>;
|
|
22
26
|
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/services/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAIhB,QAAQ,
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/services/embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAIhB,QAAQ,EAIR,iBAAiB,EACjB,KAAK,cAAc,EAGnB,iBAAiB,EACjB,cAAc,EAEf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAA+B,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,aAAa,EAA6C,MAAM,sBAAsB,CAAC;AAIhG,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAG,MAAM,mBAAmB,CAAC;AAG7F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAuCzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAuBA;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,6BAO9G;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,EAAE,eAAe,sDA0BxB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,QAAQ,4FA2CnB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAoB9H;AAED,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB1I;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAqCpN;AAGD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,iBAAiB,GAAG,2BAA2B,CAAC,CAqC/K;AAGD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAcnI;AAGD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAc7H;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAW,EACvB,OAAO,CAAC,EAAE,cAAc,EAAE,gFAU3B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { VectorStoreIndex,
|
|
2
2
|
// OpenAIEmbedding,
|
|
3
|
-
IngestionPipeline, ModalityType, storageContextFromDefaults, SimpleVectorStore, Settings as LlamaindexSettings, SimpleDocumentStore } from "llamaindex";
|
|
3
|
+
IngestionPipeline, ModalityType, storageContextFromDefaults, SimpleVectorStore, Settings as LlamaindexSettings, SimpleDocumentStore, SimpleIndexStore } from "llamaindex";
|
|
4
4
|
import { OllamaEmbedding } from '@llamaindex/ollama';
|
|
5
5
|
import { MistralAIEmbedding, MistralAIEmbeddingModelType } from '@llamaindex/mistral';
|
|
6
6
|
import { GeminiEmbedding } from '@llamaindex/google';
|
|
7
|
-
import { PGVectorStore } from '@llamaindex/postgres';
|
|
7
|
+
import { PGVectorStore, PostgresDocumentStore, PostgresIndexStore } from '@llamaindex/postgres';
|
|
8
8
|
import { AzureOpenAIEmbedding } from "@llamaindex/azure";
|
|
9
9
|
import { Sploder } from "./sploder.js";
|
|
10
10
|
import { CustomSentenceSplitter } from "./sentenceSplitter.js";
|
|
@@ -68,69 +68,12 @@ export function estimateCost(nodes, modelName) {
|
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
70
|
export async function getExistingVectorStoreIndex(config, settings, clients) {
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const storageContext = await storageContextFromDefaults({
|
|
76
|
-
persistDir: persistDir,
|
|
77
|
-
});
|
|
78
|
-
let vsi = await VectorStoreIndex.init({
|
|
79
|
-
storageContext: storageContext,
|
|
80
|
-
});
|
|
81
|
-
vsi.embedModel = embedModel;
|
|
82
|
-
return vsi;
|
|
83
|
-
case "postgres":
|
|
84
|
-
if (!clients.postgresClient) {
|
|
85
|
-
throw new Error("Postgres client required but not provided");
|
|
86
|
-
}
|
|
87
|
-
const pgStore = new PGVectorStore({
|
|
88
|
-
clientConfig: { connectionString: process.env.POSTGRES_CONNECTION_STRING },
|
|
89
|
-
tableName: sanitizeProjectName(config.projectName),
|
|
90
|
-
dimensions: MODEL_DIMENSIONS[config.modelName] || 1536, // default to 1536 if model not found
|
|
91
|
-
embeddingModel: embedModel
|
|
92
|
-
});
|
|
93
|
-
const pgStorageContext = await storageContextFromDefaults({
|
|
94
|
-
vectorStores: { [ModalityType.TEXT]: pgStore },
|
|
95
|
-
});
|
|
96
|
-
return await VectorStoreIndex.init({
|
|
97
|
-
storageContext: pgStorageContext,
|
|
98
|
-
});
|
|
99
|
-
case "weaviate":
|
|
100
|
-
if (!clients.weaviateClient) {
|
|
101
|
-
throw new Error("Weaviate client required but not provided");
|
|
102
|
-
}
|
|
103
|
-
const weaviateStore = new BatchingWeaviateVectorStore({
|
|
104
|
-
indexName: capitalizeFirstLetter(sanitizeProjectName(config.projectName)),
|
|
105
|
-
weaviateClient: clients.weaviateClient,
|
|
106
|
-
embeddingModel: embedModel
|
|
107
|
-
});
|
|
108
|
-
// WeaviateVectorStore's getNodeSimilarity method looks for distance, but current weaviate provides score
|
|
109
|
-
// (WeaviateVectorStore would get `score` if we were doing hybrid search)
|
|
110
|
-
// Overwrite the private getNodeSimilarity method to use 'score' from metadata
|
|
111
|
-
// @ts-ignore
|
|
112
|
-
weaviateStore.getNodeSimilarity = (entry, _similarityKey = "score") => {
|
|
113
|
-
return entry.metadata.score;
|
|
114
|
-
};
|
|
115
|
-
return await VectorStoreIndex.fromVectorStore(weaviateStore);
|
|
116
|
-
default:
|
|
117
|
-
throw new Error(`Unsupported vector store type: ${config.vectorStoreType}`);
|
|
71
|
+
const storageContext = await getStorageContext(config, settings, clients);
|
|
72
|
+
const vectorStore = storageContext.vectorStores[ModalityType.TEXT];
|
|
73
|
+
if (!vectorStore) {
|
|
74
|
+
throw new Error("Vector store for ModalityType.TEXT is undefined");
|
|
118
75
|
}
|
|
119
|
-
|
|
120
|
-
export async function getExistingDocStore(config) {
|
|
121
|
-
// switch (config.vectorStoreType) {
|
|
122
|
-
// case "simple":
|
|
123
|
-
const persistDir = join(config.storagePath, sanitizeProjectName(config.projectName));
|
|
124
|
-
const storageContext = await storageContextFromDefaults({
|
|
125
|
-
persistDir: persistDir,
|
|
126
|
-
});
|
|
127
|
-
return storageContext.docStore;
|
|
128
|
-
// case "postgres":
|
|
129
|
-
// throw new Error(`Not yet implemented vector store type: ${config.vectorStoreType}`);
|
|
130
|
-
// // return await createVectorStore(config);
|
|
131
|
-
// default:
|
|
132
|
-
// throw new Error(`Unsupported vector store type: ${config.vectorStoreType}`);
|
|
133
|
-
// }
|
|
76
|
+
return await VectorStoreIndex.fromVectorStore(vectorStore);
|
|
134
77
|
}
|
|
135
78
|
export async function transformDocumentsToNodes(documents, config) {
|
|
136
79
|
console.time("transformDocumentsToNodes Run Time");
|
|
@@ -204,12 +147,15 @@ export function getEmbedModel(config, settings) {
|
|
|
204
147
|
}
|
|
205
148
|
export async function getStorageContext(config, settings, clients) {
|
|
206
149
|
const vectorStore = await createVectorStore(config, settings, clients);
|
|
150
|
+
const docStore = await createDocumentStore(config, settings, clients); // new SimpleDocumentStore()
|
|
151
|
+
const indexStore = await createIndexStore(config, settings, clients);
|
|
207
152
|
fs.mkdirSync(config.storagePath, { recursive: true });
|
|
208
153
|
const persistDir = join(config.storagePath, sanitizeProjectName(config.projectName));
|
|
209
154
|
return await storageContextFromDefaults({
|
|
210
155
|
persistDir: persistDir,
|
|
211
156
|
vectorStores: { [ModalityType.TEXT]: vectorStore },
|
|
212
|
-
docStore:
|
|
157
|
+
docStore: docStore,
|
|
158
|
+
indexStore: indexStore
|
|
213
159
|
/*
|
|
214
160
|
if docStore is created with a persist path (as it is by default in storageContextFromDefaults)
|
|
215
161
|
then it will write to disk after every put(), which happens 2+ times per document.
|
|
@@ -226,8 +172,14 @@ export async function persistDocuments(documents, config, settings, clients) {
|
|
|
226
172
|
await storageContext.docStore.addDocuments(documents, true);
|
|
227
173
|
// see comments in getStorageContext
|
|
228
174
|
const persistDir = join(config.storagePath, sanitizeProjectName(config.projectName));
|
|
229
|
-
|
|
230
|
-
|
|
175
|
+
if (storageContext.docStore instanceof SimpleDocumentStore) {
|
|
176
|
+
// @ts-ignore
|
|
177
|
+
await storageContext.docStore.kvStore.persist(join(persistDir, "doc_store.json"));
|
|
178
|
+
}
|
|
179
|
+
else if (storageContext.docStore instanceof PostgresDocumentStore) {
|
|
180
|
+
// PostgresDocumentStore does not need to be explicitly persisted, so we don't include it in the OR conditional here..
|
|
181
|
+
console.log("Pretending to persist Postgres document store, but it actually persists automatically.");
|
|
182
|
+
}
|
|
231
183
|
console.timeEnd("persistDocuments Run Time");
|
|
232
184
|
}
|
|
233
185
|
export async function persistNodes(nodes, config, settings, clients, progressCallback) {
|
|
@@ -252,12 +204,12 @@ export async function persistNodes(nodes, config, settings, clients, progressCal
|
|
|
252
204
|
// all the if statements are just type-checking boilerplate.
|
|
253
205
|
// N.B. WeaviateVectorStore does not need to be explicitly persisted, so we don't include it in the OR conditional here..
|
|
254
206
|
if (vectorStore) {
|
|
255
|
-
if (vectorStore instanceof
|
|
207
|
+
if (vectorStore instanceof SimpleVectorStore) {
|
|
256
208
|
await vectorStore.persist(join(config.storagePath, sanitizeProjectName(config.projectName), "vector_store.json"));
|
|
257
209
|
}
|
|
258
|
-
else if (vectorStore instanceof BatchingWeaviateVectorStore) {
|
|
210
|
+
else if (vectorStore instanceof PGVectorStore || vectorStore instanceof BatchingWeaviateVectorStore) {
|
|
259
211
|
// WeaviateVectorStore does not have a persist method, it persists automatically
|
|
260
|
-
console.log("Pretending to persist Weaviate vector store, but it actually persists automatically.");
|
|
212
|
+
console.log("Pretending to persist Weaviate or Postgres vector store, but it actually persists automatically.");
|
|
261
213
|
}
|
|
262
214
|
else {
|
|
263
215
|
throw new Error("Vector store does not support persist method");
|
|
@@ -269,15 +221,16 @@ export async function persistNodes(nodes, config, settings, clients, progressCal
|
|
|
269
221
|
console.timeEnd("persistNodes Run Time");
|
|
270
222
|
return index;
|
|
271
223
|
}
|
|
272
|
-
|
|
224
|
+
// exported only for tests
|
|
225
|
+
export async function createVectorStore(config, settings, clients) {
|
|
273
226
|
const embeddingModel = getEmbedModel(config, settings);
|
|
274
227
|
switch (config.vectorStoreType) {
|
|
275
228
|
// for some reason the embedding model has to be specified here TOO
|
|
276
229
|
// otherwise it defaults to Ada.
|
|
277
230
|
case "postgres":
|
|
278
231
|
return new PGVectorStore({
|
|
279
|
-
|
|
280
|
-
tableName: sanitizeProjectName(config.projectName),
|
|
232
|
+
client: clients.postgresClient,
|
|
233
|
+
tableName: "vecs_" + sanitizeProjectName(config.projectName),
|
|
281
234
|
dimensions: MODEL_DIMENSIONS[config.modelName] || 1536, // default to 1536 if model not found
|
|
282
235
|
embeddingModel: embeddingModel
|
|
283
236
|
});
|
|
@@ -302,6 +255,37 @@ async function createVectorStore(config, settings, clients) {
|
|
|
302
255
|
throw new Error(`Unsupported vector store type: ${config.vectorStoreType}`);
|
|
303
256
|
}
|
|
304
257
|
}
|
|
258
|
+
// exported only for tests
|
|
259
|
+
export async function createDocumentStore(config, settings, clients) {
|
|
260
|
+
// we create the doc store without a persist path, so it doesn't write to disk after every put()
|
|
261
|
+
switch (config.documentStoreType || config.vectorStoreType) {
|
|
262
|
+
case "postgres":
|
|
263
|
+
return new PostgresDocumentStore({
|
|
264
|
+
client: clients.postgresClient,
|
|
265
|
+
tableName: "docs_" + sanitizeProjectName(config.projectName),
|
|
266
|
+
});
|
|
267
|
+
case "simple":
|
|
268
|
+
case "weaviate":
|
|
269
|
+
return new SimpleDocumentStore();
|
|
270
|
+
default:
|
|
271
|
+
throw new Error(`Unsupported vector store type: ${config.vectorStoreType}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
// exported only for tests
|
|
275
|
+
export async function createIndexStore(config, settings, clients) {
|
|
276
|
+
switch (config.documentStoreType || config.vectorStoreType) {
|
|
277
|
+
case "postgres":
|
|
278
|
+
return new PostgresIndexStore({
|
|
279
|
+
client: clients.postgresClient,
|
|
280
|
+
tableName: "idx_" + sanitizeProjectName(config.projectName),
|
|
281
|
+
});
|
|
282
|
+
case "simple":
|
|
283
|
+
case "weaviate":
|
|
284
|
+
return new SimpleIndexStore();
|
|
285
|
+
default:
|
|
286
|
+
throw new Error(`Unsupported vector store type: ${config.vectorStoreType}`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
305
289
|
export async function searchDocuments(index, query, numResults = 10, filters) {
|
|
306
290
|
// const metadataFilters: MetadataFilters | undefined = filters ? {filters: filters} : undefined;
|
|
307
291
|
const metadataFilters = {
|