@memberjunction/ai-vector-sync 3.4.0 → 4.1.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/README.md +255 -178
- package/dist/config.js +14 -20
- package/dist/config.js.map +1 -1
- package/dist/db/db.d.ts +1 -1
- package/dist/db/db.d.ts.map +1 -1
- package/dist/db/db.js +8 -33
- package/dist/db/db.js.map +1 -1
- package/dist/db/dbAI.d.ts +1 -1
- package/dist/db/dbAI.d.ts.map +1 -1
- package/dist/db/dbAI.js +8 -33
- package/dist/db/dbAI.js.map +1 -1
- package/dist/generic/EntityDocumenTemplateParserBase.d.ts +12 -0
- package/dist/generic/EntityDocumenTemplateParserBase.d.ts.map +1 -1
- package/dist/generic/EntityDocumenTemplateParserBase.js +29 -12
- package/dist/generic/EntityDocumenTemplateParserBase.js.map +1 -1
- package/dist/generic/EntityDocumentTemplateParser.d.ts +16 -1
- package/dist/generic/EntityDocumentTemplateParser.d.ts.map +1 -1
- package/dist/generic/EntityDocumentTemplateParser.js +34 -16
- package/dist/generic/EntityDocumentTemplateParser.js.map +1 -1
- package/dist/generic/entitySyncConfig.types.d.ts +25 -0
- package/dist/generic/entitySyncConfig.types.d.ts.map +1 -1
- package/dist/generic/entitySyncConfig.types.js +1 -2
- package/dist/generic/vectorSync.types.d.ts +20 -0
- package/dist/generic/vectorSync.types.d.ts.map +1 -1
- package/dist/generic/vectorSync.types.js +1 -2
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -20
- package/dist/index.js.map +1 -1
- package/dist/models/BatchWorker.d.ts +33 -2
- package/dist/models/BatchWorker.d.ts.map +1 -1
- package/dist/models/BatchWorker.js +30 -16
- package/dist/models/BatchWorker.js.map +1 -1
- package/dist/models/EntityDocumentCache.d.ts +3 -0
- package/dist/models/EntityDocumentCache.d.ts.map +1 -1
- package/dist/models/EntityDocumentCache.js +17 -17
- package/dist/models/EntityDocumentCache.js.map +1 -1
- package/dist/models/PagedRecords.d.ts +10 -1
- package/dist/models/PagedRecords.d.ts.map +1 -1
- package/dist/models/PagedRecords.js +13 -6
- package/dist/models/PagedRecords.js.map +1 -1
- package/dist/models/entityVectorSync.d.ts +32 -1
- package/dist/models/entityVectorSync.d.ts.map +1 -1
- package/dist/models/entityVectorSync.js +136 -73
- package/dist/models/entityVectorSync.js.map +1 -1
- package/dist/models/workers/UpsertVectors.d.ts.map +1 -1
- package/dist/models/workers/UpsertVectors.js +12 -17
- package/dist/models/workers/UpsertVectors.js.map +1 -1
- package/dist/models/workers/VectorizeTemplates.js +23 -20
- package/dist/models/workers/VectorizeTemplates.js.map +1 -1
- package/dist/models/workers/upserter.js +5 -8
- package/dist/models/workers/upserter.js.map +1 -1
- package/package.json +19 -18
|
@@ -1,30 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import { BaseEmbeddings, GetAIAPIKey } from '@memberjunction/ai';
|
|
2
|
+
import { VectorDBBase } from '@memberjunction/ai-vectordb';
|
|
3
|
+
import { VectorBase } from '@memberjunction/ai-vectors';
|
|
4
|
+
import { LogError, LogStatus, Metadata, RunView } from '@memberjunction/core';
|
|
5
|
+
import { MJGlobal } from '@memberjunction/global';
|
|
6
|
+
import { pipeline } from 'node:stream/promises';
|
|
7
|
+
import { BatchWorker } from './BatchWorker.js';
|
|
8
|
+
import { EntityDocumentCache } from './EntityDocumentCache.js';
|
|
9
|
+
import { PagedRecords } from './PagedRecords.js';
|
|
10
|
+
import { resolve, dirname } from 'node:path';
|
|
11
|
+
import { fileURLToPath } from 'node:url';
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
14
|
+
import { PassThrough, Transform } from 'node:stream';
|
|
15
|
+
import { AIEngine } from '@memberjunction/aiengine';
|
|
16
|
+
import { TemplateEngineServer } from '@memberjunction/templates';
|
|
17
|
+
/**
|
|
18
|
+
* Class that specializes in vectorizing entities using embedding models and upserting them into Vector Databases
|
|
19
|
+
*/
|
|
20
|
+
export class EntityVectorSyncer extends VectorBase {
|
|
20
21
|
constructor() {
|
|
21
22
|
super();
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Refreshes the EntityDocumentCache and configures the AIEngine and TemplateEngineServer
|
|
26
|
+
* @param forceRefresh If true, the cache and enginges will be refreshed even if it is already loaded
|
|
27
|
+
* @param contextUser The context user to use to refresh the cache and configure the engines
|
|
28
|
+
*/
|
|
23
29
|
async Config(forceRefresh, contextUser) {
|
|
24
30
|
super.CurrentUser;
|
|
25
|
-
await
|
|
26
|
-
await
|
|
27
|
-
await
|
|
31
|
+
await EntityDocumentCache.Instance.Refresh(forceRefresh, contextUser);
|
|
32
|
+
await AIEngine.Instance.Config(forceRefresh, contextUser);
|
|
33
|
+
await TemplateEngineServer.Instance.Config(forceRefresh, contextUser);
|
|
28
34
|
}
|
|
29
35
|
async VectorizeEntity(params, contextUser) {
|
|
30
36
|
if (!contextUser) {
|
|
@@ -33,17 +39,17 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
33
39
|
const delayTimeMS = 250;
|
|
34
40
|
const startTime = new Date().getTime();
|
|
35
41
|
super.CurrentUser = contextUser;
|
|
36
|
-
await
|
|
42
|
+
await TemplateEngineServer.Instance.Config(false, contextUser);
|
|
37
43
|
const entityDocument = await this.GetEntityDocument(params.entityDocumentID);
|
|
38
44
|
const vectorIndexEntity = await this.GetOrCreateVectorIndex(entityDocument);
|
|
39
45
|
const obj = await this.GetVectorDatabaseAndEmbeddingClassByEntityDocumentID(params.entityDocumentID);
|
|
40
|
-
const md = new
|
|
46
|
+
const md = new Metadata();
|
|
41
47
|
const entity = md.Entities.find((e) => e.ID === params.entityID);
|
|
42
48
|
if (!entity) {
|
|
43
49
|
throw new Error(`Entity with ID ${params.entityID} not found.`);
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
const template =
|
|
51
|
+
LogStatus(`Vectorizing entity ${entity.Name} using Entity Document ${entityDocument.Name}`);
|
|
52
|
+
const template = TemplateEngineServer.Instance.Templates.find((t) => t.ID === entityDocument.TemplateID);
|
|
47
53
|
if (!template) {
|
|
48
54
|
throw new Error(`Template not found with ID ${entityDocument.TemplateID}`);
|
|
49
55
|
}
|
|
@@ -53,9 +59,10 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
53
59
|
if (template.Content.length > 1) {
|
|
54
60
|
throw new Error('Templates used by Entity Documents should only have one associated Template Content record.');
|
|
55
61
|
}
|
|
62
|
+
//If this function doesnt throw an error, then the template is valid
|
|
56
63
|
const validTemplate = this.ValidateTemplateContextParamAlignment(template);
|
|
57
64
|
const pageSize = params.listBatchCount || 50;
|
|
58
|
-
const dataStream = new
|
|
65
|
+
const dataStream = new PagedRecords();
|
|
59
66
|
let templateObj = {
|
|
60
67
|
...template.GetAll(),
|
|
61
68
|
Params: template.Params.map((p) => p.To())
|
|
@@ -72,33 +79,37 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
72
79
|
embeddingAPIKey: obj.embeddingAPIKey,
|
|
73
80
|
delayTimeMS
|
|
74
81
|
};
|
|
75
|
-
|
|
76
|
-
|
|
82
|
+
//Handles vectorizing the records
|
|
83
|
+
const VectorCreator = new BatchWorker({
|
|
84
|
+
workerFile: resolve(__dirname, 'workers/VectorizeTemplates.js'),
|
|
77
85
|
batchSize: params.VectorizeBatchCount || 50,
|
|
78
86
|
concurrencyLimit: 2,
|
|
79
87
|
contextUser: super.CurrentUser,
|
|
80
88
|
workerContext,
|
|
81
89
|
});
|
|
82
90
|
VectorCreator.on('error', (err) => {
|
|
83
|
-
|
|
91
|
+
LogError('Error in VectorCreator worker', null, err);
|
|
84
92
|
});
|
|
85
|
-
|
|
86
|
-
|
|
93
|
+
//Handles upserting the vectors into the vector database
|
|
94
|
+
const VectorUpserter = new BatchWorker({
|
|
95
|
+
workerFile: resolve(__dirname, 'workers/UpsertVectors.js'),
|
|
87
96
|
batchSize: params.UpsertBatchCount || 50,
|
|
88
97
|
contextUser: super.CurrentUser,
|
|
89
98
|
workerContext
|
|
90
99
|
});
|
|
91
100
|
VectorUpserter.on('error', (err) => {
|
|
92
|
-
|
|
101
|
+
LogError('Error in VectorUpserter worker', null, err);
|
|
93
102
|
});
|
|
94
|
-
|
|
103
|
+
//short for entity record document upserter
|
|
104
|
+
// handles upserting entity record document records
|
|
105
|
+
const ERCUpserter = new Transform({ objectMode: true, transform: (chunk, encoding, callback) => {
|
|
95
106
|
this.UpsertEntityRecordDocumentRecords(chunk, super.CurrentUser).then(() => callback(null)).catch(callback);
|
|
96
107
|
} });
|
|
97
108
|
const getData = async () => {
|
|
98
109
|
let pageNumber = 0;
|
|
99
110
|
if (params.StartingOffset) {
|
|
100
111
|
pageNumber = params.StartingOffset * pageSize;
|
|
101
|
-
|
|
112
|
+
LogStatus(`Starting at offset ${params.StartingOffset} (skipping first ${pageNumber} records)`);
|
|
102
113
|
}
|
|
103
114
|
let hasMore = true;
|
|
104
115
|
while (hasMore) {
|
|
@@ -115,11 +126,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
115
126
|
const recordsPage = await super.PageRecordsByEntityID(pageRecordRequest);
|
|
116
127
|
const relatedData = await this.GetRelatedTemplateDataForBatch(entity, recordsPage, template);
|
|
117
128
|
const items = [];
|
|
118
|
-
|
|
129
|
+
LogStatus(`Fetched page ${pageNumber + 1} with ${recordsPage.length} records to process`);
|
|
119
130
|
for (const record of recordsPage) {
|
|
120
131
|
const templateData = await this.GetTemplateData(entity, record, template, relatedData);
|
|
132
|
+
//we need a reference to this record's ID for the upsert worker
|
|
121
133
|
templateData.__mj_recordID = record[entity.FirstPrimaryKey.Name];
|
|
122
134
|
templateData.__mj_compositeKey = entity.PrimaryKeys.map((key) => `${key.Name}|${record[key.Name]}`).join("||");
|
|
135
|
+
//we also need a reference to the vector index's ID
|
|
123
136
|
templateData.VectorIndexID = vectorIndexEntity.ID;
|
|
124
137
|
templateData.TemplateContent = template.Content[0].TemplateText;
|
|
125
138
|
items.push(templateData);
|
|
@@ -133,24 +146,33 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
133
146
|
}
|
|
134
147
|
dataStream.endStream();
|
|
135
148
|
};
|
|
149
|
+
// page data asynchrounously and add to the data stream
|
|
136
150
|
getData();
|
|
137
|
-
|
|
138
|
-
await
|
|
151
|
+
LogStatus('Starting pipeline');
|
|
152
|
+
await pipeline(dataStream, VectorCreator, VectorUpserter, ERCUpserter, new PassThrough({ objectMode: true }));
|
|
139
153
|
const endTime = new Date().getTime();
|
|
154
|
+
//convert ms to seconds
|
|
140
155
|
const elapsedSeconds = (endTime - startTime) / 1000;
|
|
141
156
|
const elapsedMinutes = elapsedSeconds / 60;
|
|
142
|
-
|
|
157
|
+
LogStatus(`Finished vectorizing ${entityDocument.Entity} entity in ${elapsedSeconds} seconds (${elapsedMinutes} minutes)`);
|
|
143
158
|
return null;
|
|
144
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* This method will create a default Entity Document for the given entityID, vectorDatabase, and AIModel
|
|
162
|
+
* @param entityID
|
|
163
|
+
* @param vectorDatabase
|
|
164
|
+
* @param AIModel
|
|
165
|
+
* @returns
|
|
166
|
+
*/
|
|
145
167
|
async CreateDefaultEntityDocument(EntityID, VectorDatabase, AIModel) {
|
|
146
|
-
const md = new
|
|
168
|
+
const md = new Metadata();
|
|
147
169
|
const entity = md.Entities.find((e) => e.ID === EntityID);
|
|
148
170
|
if (!entity)
|
|
149
171
|
throw new Error(`Entity with ID ${EntityID} not found.`);
|
|
150
172
|
const EDTemplate = entity.Fields.map((ef) => {
|
|
151
173
|
return `${ef.Name}: \$\{${ef.Name}\}`;
|
|
152
174
|
}).join(' ');
|
|
153
|
-
const rv = new
|
|
175
|
+
const rv = new RunView();
|
|
154
176
|
const rvResult = await rv.RunView({
|
|
155
177
|
EntityName: 'Entity Document Types',
|
|
156
178
|
ExtraFilter: `Name = 'Record Duplicate'`,
|
|
@@ -180,10 +202,10 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
180
202
|
}
|
|
181
203
|
}
|
|
182
204
|
async GetVectorDatabaseAndEmbeddingClassByEntityDocumentID(entityDocumentID, createDocumentIfNotFound) {
|
|
183
|
-
let entityDocument =
|
|
205
|
+
let entityDocument = EntityDocumentCache.Instance.GetDocument(entityDocumentID);
|
|
184
206
|
if (!entityDocument) {
|
|
185
207
|
if (createDocumentIfNotFound) {
|
|
186
|
-
|
|
208
|
+
LogStatus(`No active Entity Document found for entity ${entityDocumentID}, creating one`);
|
|
187
209
|
const defaultVectorDB = this.GetVectorDatabase();
|
|
188
210
|
const defaultAIModel = this.GetAIModel();
|
|
189
211
|
entityDocument = await this.CreateDefaultEntityDocument(entityDocumentID, defaultVectorDB, defaultAIModel);
|
|
@@ -194,23 +216,24 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
194
216
|
}
|
|
195
217
|
const vectorDBEntity = this.GetVectorDatabase(entityDocument.VectorDatabaseID);
|
|
196
218
|
const aiModelEntity = this.GetAIModel(entityDocument.AIModelID);
|
|
197
|
-
const embeddingAPIKey =
|
|
198
|
-
const vectorDBAPIKey =
|
|
219
|
+
const embeddingAPIKey = GetAIAPIKey(aiModelEntity.DriverClass);
|
|
220
|
+
const vectorDBAPIKey = GetAIAPIKey(vectorDBEntity.ClassKey);
|
|
199
221
|
if (!embeddingAPIKey) {
|
|
200
222
|
throw Error(`No API Key found for AI Model ${aiModelEntity.DriverClass}`);
|
|
201
223
|
}
|
|
202
224
|
if (!vectorDBAPIKey) {
|
|
203
225
|
throw Error(`No API Key found for Vector Database ${vectorDBEntity.ClassKey}`);
|
|
204
226
|
}
|
|
205
|
-
|
|
206
|
-
const
|
|
227
|
+
//LogStatus(`Embedding API Key: ${embeddingAPIKey} VectorDB API Key: ${vectorDBAPIKey}`);
|
|
228
|
+
const embedding = MJGlobal.Instance.ClassFactory.CreateInstance(BaseEmbeddings, aiModelEntity.DriverClass, embeddingAPIKey);
|
|
229
|
+
const vectorDB = MJGlobal.Instance.ClassFactory.CreateInstance(VectorDBBase, vectorDBEntity.ClassKey, vectorDBAPIKey);
|
|
207
230
|
if (!embedding) {
|
|
208
231
|
throw Error(`Failed to create Embeddings instance for AI Model ${aiModelEntity.DriverClass}`);
|
|
209
232
|
}
|
|
210
233
|
if (!vectorDB) {
|
|
211
234
|
throw Error(`Failed to create Vector Database instance for ${vectorDBEntity.ClassKey}`);
|
|
212
235
|
}
|
|
213
|
-
|
|
236
|
+
LogStatus(`Using vector database ${vectorDBEntity.Name} and AI Model ${aiModelEntity.Name}`);
|
|
214
237
|
const obj = {
|
|
215
238
|
embedding,
|
|
216
239
|
vectorDB,
|
|
@@ -222,22 +245,28 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
222
245
|
return obj;
|
|
223
246
|
}
|
|
224
247
|
async GetEntityDocument(EntityDocumentID) {
|
|
225
|
-
const cache =
|
|
248
|
+
const cache = EntityDocumentCache.Instance;
|
|
226
249
|
if (!cache.IsLoaded) {
|
|
227
250
|
await cache.Refresh(false, super.CurrentUser);
|
|
228
251
|
}
|
|
229
252
|
return cache.GetDocument(EntityDocumentID);
|
|
230
253
|
}
|
|
231
254
|
async GetEntityDocumentByName(EntityDocumentName, ContextUser) {
|
|
232
|
-
const cache =
|
|
255
|
+
const cache = EntityDocumentCache.Instance;
|
|
233
256
|
if (!cache.IsLoaded) {
|
|
234
257
|
await cache.Refresh(false, ContextUser);
|
|
235
258
|
}
|
|
236
259
|
return cache.GetDocumentByName(EntityDocumentName);
|
|
237
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Returns all active Entity Documents of the 'Record Duplicate' type.
|
|
263
|
+
* Note that this only returns the first active Entity Document. Meaning if there are multiple Entity Documents for the same entity,
|
|
264
|
+
* only the oldest one will be returned.
|
|
265
|
+
* @param entityIDs If provided, only Entity Documents for the specified entities will be returned.
|
|
266
|
+
*/
|
|
238
267
|
async GetActiveEntityDocuments(entityNames) {
|
|
239
|
-
await
|
|
240
|
-
const entityDocumentType =
|
|
268
|
+
await EntityDocumentCache.Instance.Refresh(false, super.CurrentUser);
|
|
269
|
+
const entityDocumentType = EntityDocumentCache.Instance.GetDocumentTypeByName('Record Duplicate');
|
|
241
270
|
if (!entityDocumentType) {
|
|
242
271
|
throw new Error('Entity Document Type not found');
|
|
243
272
|
}
|
|
@@ -255,6 +284,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
255
284
|
}
|
|
256
285
|
let entityDocuments = [];
|
|
257
286
|
let seenEntities = [];
|
|
287
|
+
//we only want one entity document per entity
|
|
258
288
|
for (const entityDocument of runViewResult.Results) {
|
|
259
289
|
if (seenEntities.includes(entityDocument.EntityID)) {
|
|
260
290
|
continue;
|
|
@@ -269,7 +299,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
269
299
|
if (vectorIndexEntity) {
|
|
270
300
|
return vectorIndexEntity;
|
|
271
301
|
}
|
|
272
|
-
|
|
302
|
+
LogStatus(`No Vector Index found for entityDocument ${entityDocument.ID}, creating one`);
|
|
273
303
|
try {
|
|
274
304
|
vectorIndexEntity = await super.Metadata.GetEntityObject('Vector Indexes');
|
|
275
305
|
vectorIndexEntity.NewRecord();
|
|
@@ -278,20 +308,21 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
278
308
|
vectorIndexEntity.Name = `Vector Index for entityDocument ${entityDocument.EntityID}`;
|
|
279
309
|
vectorIndexEntity.Set('EntityRecordUpdatedAt', new Date());
|
|
280
310
|
vectorIndexEntity.Set('EntityDocumentID', entityDocument.ID);
|
|
311
|
+
//not a very descriptive description, but the view has the name of the vectorDB and embedding model used
|
|
281
312
|
vectorIndexEntity.Description = `Vector Index that uses the Vector database ${entityDocument.VectorDatabaseID} and ${entityDocument.AIModelID} as the embedding model`;
|
|
282
313
|
const saveResult = await super.SaveEntity(vectorIndexEntity);
|
|
283
314
|
if (saveResult) {
|
|
284
|
-
|
|
315
|
+
LogStatus(`Successfully created new Vector Index Entity`);
|
|
285
316
|
return vectorIndexEntity;
|
|
286
317
|
}
|
|
287
318
|
else {
|
|
288
|
-
|
|
319
|
+
LogError('Error saving Vector Index Entity');
|
|
289
320
|
return null;
|
|
290
321
|
}
|
|
291
322
|
}
|
|
292
323
|
catch (err) {
|
|
293
324
|
console.error(JSON.stringify(err));
|
|
294
|
-
|
|
325
|
+
LogError(err);
|
|
295
326
|
return null;
|
|
296
327
|
}
|
|
297
328
|
}
|
|
@@ -305,12 +336,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
305
336
|
templateEntity.CategoryID = null;
|
|
306
337
|
const templateEntitySaveResult = await super.SaveEntity(templateEntity);
|
|
307
338
|
if (!templateEntitySaveResult) {
|
|
308
|
-
|
|
339
|
+
LogError('Error saving Template Entity', undefined, templateEntity.LatestResult);
|
|
309
340
|
throw new Error(templateEntity.LatestResult.CompleteMessage);
|
|
310
341
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
342
|
+
LogStatus(`Successfully created new Template Entity ${templateEntity.ID}`);
|
|
343
|
+
//next, create the template contents record
|
|
344
|
+
await TemplateEngineServer.Instance.Config(false, super.CurrentUser);
|
|
345
|
+
const textContentType = TemplateEngineServer.Instance.TemplateContentTypes.find((type) => type.Name === 'Text');
|
|
314
346
|
if (!textContentType) {
|
|
315
347
|
throw new Error('Text template content type not found');
|
|
316
348
|
}
|
|
@@ -324,10 +356,11 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
324
356
|
templateContentsEntity.TemplateText = this.BuildTemplateContent(entityFields);
|
|
325
357
|
const templateContentsEntitySaveResult = await super.SaveEntity(templateContentsEntity);
|
|
326
358
|
if (!templateContentsEntitySaveResult) {
|
|
327
|
-
|
|
359
|
+
LogError('Error saving Template Entity', undefined, templateContentsEntity.LatestResult);
|
|
328
360
|
throw new Error(templateContentsEntity.LatestResult.CompleteMessage);
|
|
329
361
|
}
|
|
330
|
-
|
|
362
|
+
LogStatus(`Successfully created new Template Content Entity ${templateContentsEntity.ID}`);
|
|
363
|
+
//next, create the template params record
|
|
331
364
|
const templateParamsEntity = await super.Metadata.GetEntityObject('Template Params');
|
|
332
365
|
templateParamsEntity.NewRecord();
|
|
333
366
|
templateParamsEntity.TemplateID = templateEntity.ID;
|
|
@@ -343,13 +376,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
343
376
|
templateParamsEntity.RecordID = null;
|
|
344
377
|
const templateParamsEntitySaveResult = await super.SaveEntity(templateParamsEntity);
|
|
345
378
|
if (!templateParamsEntitySaveResult) {
|
|
346
|
-
|
|
379
|
+
LogError('Error saving Template Entity', undefined, templateParamsEntity.LatestResult);
|
|
347
380
|
throw new Error(templateParamsEntity.LatestResult.CompleteMessage);
|
|
348
381
|
}
|
|
349
|
-
|
|
382
|
+
LogStatus(`Successfully created new Template Param Entity ${templateParamsEntity.ID}`);
|
|
350
383
|
templateEntity.Content.push(templateContentsEntity);
|
|
351
384
|
templateEntity.Params.push(templateParamsEntity);
|
|
352
|
-
|
|
385
|
+
TemplateEngineServer.Instance.AddTemplate(templateEntity);
|
|
353
386
|
return templateEntity;
|
|
354
387
|
}
|
|
355
388
|
BuildTemplateContent(entityFields) {
|
|
@@ -358,6 +391,9 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
358
391
|
}).join(' ');
|
|
359
392
|
}
|
|
360
393
|
async GetEntityFieldsForSimilaritySearch(entityID) {
|
|
394
|
+
//We only want fields that can potentially be the same across records
|
|
395
|
+
//which means things such as IDs, timestamps, etc. are not useful
|
|
396
|
+
//as they're likely to be unique or not that helpful in determining similarity
|
|
361
397
|
const runViewResult = await super.RunView.RunView({
|
|
362
398
|
EntityName: 'Entity Fields',
|
|
363
399
|
ExtraFilter: `EntityID = '${entityID}' AND IsPrimaryKey = 0 AND IsUnique = 0 AND AutoIncrement = 0 and Type NOT IN ('datetimeoffset', 'datetime')`,
|
|
@@ -376,20 +412,25 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
376
412
|
}
|
|
377
413
|
switch (param.Type) {
|
|
378
414
|
case 'Record':
|
|
415
|
+
// this one is simple, we create a property by the provided name, and set the value to the record we are currently processing
|
|
379
416
|
templateData[param.Name] = record;
|
|
380
417
|
break;
|
|
381
418
|
case 'Entity':
|
|
419
|
+
// here we need to grab the related data from another entity and filter it down for the record we are current processing so it only shows the related data
|
|
420
|
+
// the metadata in the param tells us what we need to know
|
|
382
421
|
const paramData = relatedData.find((rd) => rd.ParamName === param.Name);
|
|
383
422
|
if (!paramData) {
|
|
384
|
-
|
|
423
|
+
LogError(`No related data found for param ${param.Name} in template ${template.ID}`);
|
|
385
424
|
break;
|
|
386
425
|
}
|
|
426
|
+
// now filter down the data in d to just this record and set the value of the context data to the filtered data
|
|
387
427
|
templateData[param.Name] = paramData.Data.filter((rdfr) => rdfr[param.LinkedParameterField] === record[entity.FirstPrimaryKey.Name]);
|
|
388
428
|
break;
|
|
389
429
|
case "Array":
|
|
390
430
|
case "Scalar":
|
|
391
431
|
case "Object":
|
|
392
|
-
|
|
432
|
+
// do nothing here, as we don't directly support these param types
|
|
433
|
+
LogError(`Unsupported parameter type ${param.Type} for parameter ${param.Name} in template ${template.ID}`);
|
|
393
434
|
break;
|
|
394
435
|
}
|
|
395
436
|
}
|
|
@@ -403,6 +444,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
403
444
|
}
|
|
404
445
|
const relatedEntity = templateParam.Entity;
|
|
405
446
|
const relatedField = templateParam.LinkedParameterField;
|
|
447
|
+
// construct a filter for the related field so that we constrain the results to just the set of records linked to our recipients
|
|
406
448
|
const quotes = entity.FirstPrimaryKey.NeedsQuotes ? "'" : "";
|
|
407
449
|
const filter = `${relatedField} in (${records.map((record) => `${quotes}${record[entity.FirstPrimaryKey.Name]}${quotes}`).join(',')})`;
|
|
408
450
|
const finalFilter = templateParam.ExtraFilter ? `(${filter}) AND (${templateParam.ExtraFilter})` : filter;
|
|
@@ -418,11 +460,13 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
418
460
|
relatedData.push(data);
|
|
419
461
|
}
|
|
420
462
|
else {
|
|
421
|
-
|
|
463
|
+
LogError(`Error getting related data for entity ${relatedEntity} with filter ${finalFilter}`, undefined, result.ErrorMessage);
|
|
422
464
|
}
|
|
423
465
|
}
|
|
424
466
|
return relatedData;
|
|
425
467
|
}
|
|
468
|
+
// Rather than having this logic inside the EntityRecordDocumentWorker class, it's placed here instead
|
|
469
|
+
//so that the logic behind vectorizing entities isnt spread out across so many files
|
|
426
470
|
async UpsertEntityRecordDocumentRecords(embeddingData, contextUser) {
|
|
427
471
|
let md = super.Metadata;
|
|
428
472
|
let rv = super.RunView;
|
|
@@ -430,7 +474,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
430
474
|
let vectorIndexID = embeddingData.VectorIndexID.toString();
|
|
431
475
|
let loadResult = await vectorIndex.Load(vectorIndexID);
|
|
432
476
|
if (!loadResult) {
|
|
433
|
-
|
|
477
|
+
LogError(`Vector Index with ID ${embeddingData.VectorIndexID} not found`);
|
|
434
478
|
return;
|
|
435
479
|
}
|
|
436
480
|
let entityDocument = embeddingData.EntityDocument;
|
|
@@ -445,7 +489,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
445
489
|
existingRecords = runViewResult.Results;
|
|
446
490
|
}
|
|
447
491
|
else {
|
|
448
|
-
|
|
492
|
+
LogError(`Error getting existing Entity Record Documents`, undefined, runViewResult.ErrorMessage);
|
|
449
493
|
}
|
|
450
494
|
let erdEntity = existingRecords.find((er) => er.Get("RecordID").toString() === embeddingData.__mj_recordID.toString());
|
|
451
495
|
if (!erdEntity) {
|
|
@@ -463,16 +507,23 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
463
507
|
erdEntity.ContextCurrentUser = contextUser;
|
|
464
508
|
let erdEntitySaveResult = await erdEntity.Save();
|
|
465
509
|
if (!erdEntitySaveResult) {
|
|
466
|
-
|
|
510
|
+
LogError('Error saving Entity Record Document Entity', undefined, erdEntity.LatestResult);
|
|
467
511
|
}
|
|
468
512
|
else {
|
|
469
|
-
|
|
513
|
+
LogStatus("Upserting Entity Record Documents: Complete");
|
|
470
514
|
}
|
|
471
515
|
}
|
|
516
|
+
/**
|
|
517
|
+
* This method is resposnible for determining if the template(s) given have aligned parameters, meaning they don't have overlapping parameter names that have
|
|
518
|
+
* different meanings. It is okay for scenarios where there are > 1 template in use for a message to have different parameter names, but if they have the SAME parameter names
|
|
519
|
+
* they must not have different settings.
|
|
520
|
+
*/
|
|
472
521
|
ValidateTemplateContextParamAlignment(template) {
|
|
522
|
+
// the params are defined in each template they will be in the Params property of the template
|
|
473
523
|
const seenParams = {};
|
|
474
524
|
for (const templateParam of template.Params) {
|
|
475
525
|
const param = seenParams[templateParam.Name];
|
|
526
|
+
// we have a duplicate parameter name, now we need to check if the definitions are the same
|
|
476
527
|
if (param && param.Type !== templateParam.Type) {
|
|
477
528
|
throw new Error(`Parameter ${param.Name} has different types in different templates`);
|
|
478
529
|
}
|
|
@@ -480,15 +531,27 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
480
531
|
seenParams[templateParam.Name] = templateParam;
|
|
481
532
|
}
|
|
482
533
|
}
|
|
534
|
+
// if we get here, we are good, otherwise we will have thrown an exception
|
|
483
535
|
return true;
|
|
484
536
|
}
|
|
537
|
+
/**
|
|
538
|
+
* Build the SQL filter to select records that are in the given list.
|
|
539
|
+
* For single PK entities, uses a simple IN clause.
|
|
540
|
+
* For composite PK entities, uses an EXISTS clause that concatenates PK columns to match the RecordID format.
|
|
541
|
+
*/
|
|
485
542
|
buildListFilter(entity, listDetailsSchema, listId) {
|
|
486
543
|
const primaryKeys = entity.PrimaryKeys;
|
|
487
544
|
if (primaryKeys.length === 1) {
|
|
545
|
+
// Simple case: single primary key
|
|
546
|
+
// Use a simple IN clause matching the first PK field
|
|
488
547
|
const pkField = primaryKeys[0].Name;
|
|
489
548
|
return `${pkField} IN (SELECT RecordID FROM ${listDetailsSchema}.vwListDetails WHERE ListID = '${listId}')`;
|
|
490
549
|
}
|
|
491
550
|
else {
|
|
551
|
+
// Composite key case: need to match concatenated key format
|
|
552
|
+
// RecordID format is "Field1|Value1||Field2|Value2" (using CompositeKey delimiters)
|
|
553
|
+
// Build SQL expression that concatenates the PK fields in the same format
|
|
554
|
+
// Format: 'Field1|' + CAST(Value1 AS NVARCHAR(MAX)) + '||' + 'Field2|' + CAST(Value2 AS NVARCHAR(MAX))
|
|
492
555
|
const concatParts = primaryKeys.map((pk, index) => {
|
|
493
556
|
const fieldNameLiteral = `'${pk.Name}|'`;
|
|
494
557
|
const fieldValue = `CAST([${pk.Name}] AS NVARCHAR(MAX))`;
|
|
@@ -500,6 +563,7 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
500
563
|
}
|
|
501
564
|
});
|
|
502
565
|
const compositeKeyExpr = concatParts.join(' + ');
|
|
566
|
+
// Use EXISTS with a subquery that matches the concatenated key against RecordID
|
|
503
567
|
return `EXISTS (
|
|
504
568
|
SELECT 1 FROM ${listDetailsSchema}.vwListDetails ld
|
|
505
569
|
WHERE ld.ListID = '${listId}'
|
|
@@ -508,5 +572,4 @@ class EntityVectorSyncer extends ai_vectors_1.VectorBase {
|
|
|
508
572
|
}
|
|
509
573
|
}
|
|
510
574
|
}
|
|
511
|
-
exports.EntityVectorSyncer = EntityVectorSyncer;
|
|
512
575
|
//# sourceMappingURL=entityVectorSync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityVectorSync.js","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entityVectorSync.js","sourceRoot":"","sources":["../../src/models/entityVectorSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpsertVectors.d.ts","sourceRoot":"","sources":["../../../src/models/workers/UpsertVectors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpsertVectors.d.ts","sourceRoot":"","sources":["../../../src/models/workers/UpsertVectors.ts"],"names":[],"mappings":"AASA,wBAAsB,mBAAmB,kBAsCxC"}
|