@futdevpro/nts-dynamo 1.14.28 → 1.14.29

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.
Files changed (46) hide show
  1. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts +22 -0
  2. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.d.ts.map +1 -0
  3. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js +187 -0
  4. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.js.map +1 -0
  5. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts +27 -0
  6. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.d.ts.map +1 -0
  7. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js +277 -0
  8. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-page.data-service.js.map +1 -0
  9. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts +23 -0
  10. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.d.ts.map +1 -0
  11. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js +319 -0
  12. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.js.map +1 -0
  13. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts +118 -0
  14. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.d.ts.map +1 -0
  15. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js +460 -0
  16. package/build/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.js.map +1 -0
  17. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts +9 -1
  18. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.d.ts.map +1 -1
  19. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js +14 -1
  20. package/build/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.js.map +1 -1
  21. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts +49 -3
  22. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.d.ts.map +1 -1
  23. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js +72 -2
  24. package/build/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.js.map +1 -1
  25. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts +61 -3
  26. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.d.ts.map +1 -1
  27. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js +190 -4
  28. package/build/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.js.map +1 -1
  29. package/build/_modules/ai/_modules/open-ai/index.d.ts +4 -4
  30. package/build/_modules/ai/_modules/open-ai/index.d.ts.map +1 -1
  31. package/build/_modules/ai/_modules/open-ai/index.js +6 -5
  32. package/build/_modules/ai/_modules/open-ai/index.js.map +1 -1
  33. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts +1 -1
  34. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.d.ts.map +1 -1
  35. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js +1 -1
  36. package/build/_modules/discord-assistant/_services/dias-chunk.data-service.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/_modules/ai/_modules/open-ai/_services/{oai-doc-chunk-data.service.ts → data-services/oai-doc-chunk-data.service.ts} +8 -8
  39. package/src/_modules/ai/_modules/open-ai/_services/{oai-doc-page.data-service.ts → data-services/oai-doc-page.data-service.ts} +8 -8
  40. package/src/_modules/ai/_modules/open-ai/_services/{oai-document.data-service.ts → data-services/oai-document.data-service.ts} +7 -7
  41. package/src/_modules/ai/_modules/open-ai/_services/{oai-vector-data.service.ts → data-services/oai-vector-data.service.ts} +4 -4
  42. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +18 -2
  43. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +84 -3
  44. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +240 -5
  45. package/src/_modules/ai/_modules/open-ai/index.ts +6 -5
  46. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +1 -1
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_OAI_DocumentDataService = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const data_service_1 = require("../../../../../../_services/base/data.service");
6
+ const dai_document_data_model_1 = require("../../../document-ai/_models/data-models/dai-document.data-model");
7
+ const oai_doc_chunk_data_service_1 = require("./oai-doc-chunk-data.service");
8
+ const oai_doc_page_data_service_1 = require("./oai-doc-page.data-service");
9
+ const dai_compare_result_type_enum_1 = require("../../../document-ai/_enums/dai-compare-result-type.enum");
10
+ class DyNTS_OAI_DocumentDataService extends data_service_1.DyNTS_DataService {
11
+ docChunkDataServiceOpenAiSettings;
12
+ debugLog = true;
13
+ absoluteDeletesOnProcess = true;
14
+ constructor(issuer, docChunkDataServiceOpenAiSettings, data, dataParams = dai_document_data_model_1.DyNTS_DAI_document_dataParams) {
15
+ super(data, dataParams, issuer);
16
+ this.docChunkDataServiceOpenAiSettings = docChunkDataServiceOpenAiSettings;
17
+ }
18
+ getDocPageDataService() {
19
+ return new oai_doc_page_data_service_1.DyNTS_OAI_DocPageDataService(this.issuer, this.docChunkDataServiceOpenAiSettings);
20
+ }
21
+ getDocChunkDataService() {
22
+ return new oai_doc_chunk_data_service_1.DyNTS_OAI_DocChunkDataService(this.issuer, this.docChunkDataServiceOpenAiSettings);
23
+ }
24
+ async processDocuments(documents) {
25
+ try {
26
+ if (!documents || documents.length === 0) {
27
+ return [];
28
+ }
29
+ const compareResults = [];
30
+ await fsm_dynamo_1.DyFM_Array.asyncForEachAllAtOnce(documents, async (document) => {
31
+ compareResults.push(await this.processDocument(document));
32
+ });
33
+ const deletedDocuments = await this.findDataList({
34
+ _id: {
35
+ $nin: documents.map(document => document._id),
36
+ },
37
+ });
38
+ const docPage_DS = this.getDocPageDataService();
39
+ const docChunk_DS = this.getDocChunkDataService();
40
+ for (const deletedDocument of deletedDocuments) {
41
+ const messages = [];
42
+ const chunksToDelete = await docChunk_DS.findDataList({
43
+ documentId: deletedDocument._id,
44
+ });
45
+ for (const chunk of chunksToDelete) {
46
+ await docChunk_DS.deleteData(chunk._id, this.absoluteDeletesOnProcess);
47
+ }
48
+ messages.push(`${chunksToDelete.length} chunks deleted`);
49
+ const pagesToDelete = await docPage_DS.findDataList({
50
+ documentId: deletedDocument._id,
51
+ });
52
+ for (const page of pagesToDelete) {
53
+ await docPage_DS.deleteData(page._id, this.absoluteDeletesOnProcess);
54
+ }
55
+ messages.unshift(`${pagesToDelete.length} pages deleted`);
56
+ await this.deleteData(deletedDocument._id, this.absoluteDeletesOnProcess);
57
+ messages.unshift(`Document "${deletedDocument?.name}" deleted`);
58
+ compareResults.push({
59
+ result: dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.deleted,
60
+ newDocument: null,
61
+ oldDocument: deletedDocument,
62
+ pageCompareResults: [],
63
+ reports: messages,
64
+ });
65
+ }
66
+ for (const result of compareResults) {
67
+ // report the result
68
+ await this.reportDocumentProcessResult(result);
69
+ }
70
+ return compareResults;
71
+ }
72
+ catch (error) {
73
+ throw new fsm_dynamo_1.DyFM_Error({
74
+ ...this.getDefaultErrorSettings('processDocuments', error),
75
+ });
76
+ }
77
+ }
78
+ async processDocument(document) {
79
+ try {
80
+ let existingDocument;
81
+ if (document._id) {
82
+ existingDocument = await this.findData({
83
+ _id: document._id,
84
+ });
85
+ }
86
+ else {
87
+ if (!document.externalDocumentId) {
88
+ throw new fsm_dynamo_1.DyFM_Error({
89
+ ...this.getDefaultErrorSettings('processDocument', new Error('externalDocumentId is required')),
90
+ errorCode: 'OAI-DSB-PD0',
91
+ });
92
+ }
93
+ existingDocument = await this.findData({
94
+ externalDocumentId: document.externalDocumentId,
95
+ });
96
+ }
97
+ let documentCompareResult;
98
+ if (existingDocument) {
99
+ // Set the existing document's ID to the new document and its pages before comparison
100
+ document._id = existingDocument._id;
101
+ document.pages.forEach((page) => {
102
+ page.documentId = existingDocument._id;
103
+ });
104
+ // Compare first to determine if we need to save
105
+ documentCompareResult = await this.compareDocument_deep(document, existingDocument);
106
+ if (documentCompareResult.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal) {
107
+ // No changes detected, reuse existing document without saving
108
+ documentCompareResult.newDocument = existingDocument;
109
+ documentCompareResult.oldDocument = existingDocument;
110
+ }
111
+ else {
112
+ // Changes detected, save the updated document
113
+ let docDataToSave;
114
+ docDataToSave = existingDocument;
115
+ Object.assign(docDataToSave, document);
116
+ delete docDataToSave.pages;
117
+ const savedDocument = await this.saveData(docDataToSave, true);
118
+ // set the id to the pages and the document
119
+ document.pages.forEach((page) => {
120
+ page.documentId = savedDocument._id;
121
+ });
122
+ document._id = savedDocument._id;
123
+ documentCompareResult.newDocument = document;
124
+ }
125
+ }
126
+ else {
127
+ // New document, save it first to get ID
128
+ const docDataToSave = {
129
+ ...document,
130
+ };
131
+ delete docDataToSave.pages;
132
+ const savedDocument = await this.saveData(docDataToSave, true);
133
+ // set the id to the pages and the document
134
+ document.pages.forEach((page) => {
135
+ page.documentId = savedDocument._id;
136
+ });
137
+ document._id = savedDocument._id;
138
+ const docPage_DS = this.getDocPageDataService();
139
+ const pagesCompareResults = await docPage_DS.processNewPages(document.pages);
140
+ documentCompareResult = {
141
+ result: dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new,
142
+ newDocument: document,
143
+ oldDocument: null,
144
+ pageCompareResults: pagesCompareResults,
145
+ reports: [
146
+ `New document: "${document?.name}"`,
147
+ `${document?.pages?.length ?? 0} new pages in "${document?.name}"`,
148
+ ],
149
+ };
150
+ }
151
+ return documentCompareResult;
152
+ }
153
+ catch (error) {
154
+ throw new fsm_dynamo_1.DyFM_Error({
155
+ ...this.getDefaultErrorSettings('processDocument', error),
156
+ });
157
+ }
158
+ }
159
+ async compareDocument_deep(newDocument, oldDocument) {
160
+ try {
161
+ if (this.debugLog) {
162
+ fsm_dynamo_1.DyFM_Log.info(`🔍 Comparing "${this.dataParams.dataName}" document: "${newDocument?.name}"`);
163
+ }
164
+ if (!oldDocument) {
165
+ throw new fsm_dynamo_1.DyFM_Error({
166
+ ...this.getDefaultErrorSettings('compareDocument_deep', new Error('oldDocument is required')),
167
+ errorCode: 'OAI-DSB-CD1',
168
+ });
169
+ }
170
+ const documentCompareResult_flat = await this.compareDocument_flat(newDocument, oldDocument);
171
+ const messages = documentCompareResult_flat.reports;
172
+ const docPage_DS = this.getDocPageDataService();
173
+ const pagesCompareResults = await docPage_DS.processPages(newDocument._id, newDocument.pages);
174
+ // determine the result based on the pages
175
+ let pagesResult;
176
+ if (pagesCompareResults.every(result => result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal)) {
177
+ pagesResult = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal;
178
+ messages.push(`All pages are equal`);
179
+ }
180
+ else if (pagesCompareResults.some(result => result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new ||
181
+ result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified ||
182
+ result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.deleted)) {
183
+ pagesResult = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified;
184
+ const modifiedPages = pagesCompareResults.filter(result => result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified).map(result => result.newPage);
185
+ const deletedPages = pagesCompareResults.filter(result => result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.deleted).map(result => result.oldPage);
186
+ const newPages = pagesCompareResults.filter(result => result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new).map(result => result.newPage);
187
+ /* const modifiedPagesCount: number = pagesCompareResults.filter(
188
+ result => result.result === DyNTS_DAI_CompareResult_Type.modified
189
+ ).length;
190
+ const deletedPagesCount: number = pagesCompareResults.filter(
191
+ result => result.result === DyNTS_DAI_CompareResult_Type.deleted
192
+ ).length;
193
+ const newPagesCount: number = pagesCompareResults.filter(
194
+ result => result.result === DyNTS_DAI_CompareResult_Type.new
195
+ ).length; */
196
+ if (modifiedPages.length > 0) {
197
+ messages.push(`${modifiedPages.length} modified pages: ${modifiedPages.map(page => `"${page.name}"`).join(', ')}`);
198
+ }
199
+ if (newPages.length > 0) {
200
+ messages.push(`${newPages.length} new pages: ${newPages.map(page => `"${page.name}"`).join(', ')}`);
201
+ }
202
+ if (deletedPages.length > 0) {
203
+ messages.push(`${deletedPages.length} deleted pages: ${deletedPages.map(page => `"${page.name}"`).join(', ')}`);
204
+ }
205
+ }
206
+ else {
207
+ pagesResult = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new;
208
+ const newPagesCount = pagesCompareResults.filter(result => result.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new).length;
209
+ messages.push(`${newPagesCount} new pages`);
210
+ }
211
+ // determine the result based on both the document and the pages
212
+ let documentResult;
213
+ if (documentCompareResult_flat.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new) {
214
+ documentResult = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new;
215
+ }
216
+ else if (documentCompareResult_flat.result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified) {
217
+ documentResult = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified;
218
+ }
219
+ else {
220
+ if (pagesResult === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal) {
221
+ documentResult = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal;
222
+ }
223
+ {
224
+ documentResult = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified;
225
+ }
226
+ }
227
+ const result = {
228
+ ...documentCompareResult_flat,
229
+ result: documentResult,
230
+ newDocument: newDocument,
231
+ oldDocument: oldDocument,
232
+ pageCompareResults: pagesCompareResults,
233
+ };
234
+ return result;
235
+ }
236
+ catch (error) {
237
+ throw new fsm_dynamo_1.DyFM_Error({
238
+ ...this.getDefaultErrorSettings('compareDocument', error),
239
+ });
240
+ }
241
+ }
242
+ async compareDocument_flat(newDocument, oldDocument) {
243
+ try {
244
+ if (!oldDocument) {
245
+ throw new fsm_dynamo_1.DyFM_Error({
246
+ ...this.getDefaultErrorSettings('compareDocument_flat', new Error('oldDocument is required')),
247
+ errorCode: 'OAI-DSB-CF1',
248
+ });
249
+ }
250
+ let result = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal;
251
+ const messages = [];
252
+ // Compare document name
253
+ if (newDocument.name !== oldDocument.name) {
254
+ result = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified;
255
+ messages.push(`Document name changed from "${oldDocument.name}" to "${newDocument.name}"`);
256
+ }
257
+ // Compare externalDocumentId
258
+ if (newDocument.externalDocumentId !== oldDocument.externalDocumentId) {
259
+ result = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified;
260
+ messages.push(`Document externalDocumentId changed`);
261
+ }
262
+ // Compare externalMetadata if present
263
+ if (newDocument.externalMetadata || oldDocument.externalMetadata) {
264
+ const newMetadataStr = newDocument.externalMetadata ? JSON.stringify(newDocument.externalMetadata) : '';
265
+ const oldMetadataStr = oldDocument.externalMetadata ? JSON.stringify(oldDocument.externalMetadata) : '';
266
+ if (newMetadataStr !== oldMetadataStr) {
267
+ result = dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified;
268
+ messages.push(`Document externalMetadata changed`);
269
+ }
270
+ }
271
+ if (result === dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal) {
272
+ messages.push(`Document name or not changed: "${newDocument.name}"`);
273
+ }
274
+ const result_flat = {
275
+ result: result,
276
+ newDocument: newDocument,
277
+ oldDocument: oldDocument,
278
+ pageCompareResults: [],
279
+ reports: messages,
280
+ };
281
+ return result_flat;
282
+ }
283
+ catch (error) {
284
+ throw new fsm_dynamo_1.DyFM_Error({
285
+ ...this.getDefaultErrorSettings('compareDocument_shallow', error),
286
+ });
287
+ }
288
+ }
289
+ async reportDocumentProcessResult(documentCompareResult) {
290
+ try {
291
+ fsm_dynamo_1.DyFM_Log.log(`\n✅ Document processed: "${documentCompareResult?.newDocument?.name ?? documentCompareResult?.oldDocument?.name ?? 'unknown'}"`);
292
+ switch (documentCompareResult.result) {
293
+ case dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.new:
294
+ fsm_dynamo_1.DyFM_Log.info(` ✨ New document`);
295
+ break;
296
+ case dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.equal:
297
+ fsm_dynamo_1.DyFM_Log.success(` 🟰 Equal document`);
298
+ break;
299
+ case dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.modified:
300
+ fsm_dynamo_1.DyFM_Log.info(` 🔄 Modified document`);
301
+ break;
302
+ case dai_compare_result_type_enum_1.DyNTS_DAI_CompareResult_Type.deleted:
303
+ fsm_dynamo_1.DyFM_Log.warn(` ❌ Deleted document`);
304
+ break;
305
+ }
306
+ for (const report of documentCompareResult.reports) {
307
+ fsm_dynamo_1.DyFM_Log.log(` - ${report}`);
308
+ }
309
+ fsm_dynamo_1.DyFM_Log.log('');
310
+ }
311
+ catch (error) {
312
+ throw new fsm_dynamo_1.DyFM_Error({
313
+ ...this.getDefaultErrorSettings('reportDocumentProcessing', error),
314
+ });
315
+ }
316
+ }
317
+ }
318
+ exports.DyNTS_OAI_DocumentDataService = DyNTS_OAI_DocumentDataService;
319
+ //# sourceMappingURL=oai-document.data-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oai-document.data-service.js","sourceRoot":"","sources":["../../../../../../../src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import { DyFM_DataModel_Params, DyFM_DataProperty_Params, DyFM_DBFilter, DyFM_Metadata } from '@futdevpro/fsm-dynamo';
2
+ import { DyFM_OAI_Settings, DyFM_OAI_Model } from '@futdevpro/fsm-dynamo/ai/open-ai';
3
+ import { DyNTS_DataService } from '../../../../../../_services/base/data.service';
4
+ import { DyNTS_OAI_Embedding_ControlService } from '../oai-embedding.control-service';
5
+ /**
6
+ * Vector Data Service that is connected to the relevant DBServices
7
+ * extends {@link DyNTS_DataService}
8
+ *
9
+ * For the vectorization, you need to setup the index in the DB to something like this:
10
+ * (the path declared here must be the same as the vectorizeUseIndex in the {@link DyFM_DataProperty_Params})
11
+ * ```json
12
+ * {
13
+ * "fields": [
14
+ * {
15
+ * "type": "vector",
16
+ * "path": "contentVectorized",
17
+ * "numDimensions": 3072,
18
+ * "similarity": "cosine"
19
+ * }
20
+ * ]
21
+ * }
22
+ * ```
23
+ *
24
+ * @example
25
+ * export class UserMatchStatisticsService extends DyNTS_DataService<UserMatchStatistics> {
26
+ * constructor(
27
+ * set: {
28
+ * data?: UserMatchStatistics,
29
+ * openAISettings?: DyFM_OAI_Settings,
30
+ * issuer: string,
31
+ * }
32
+ * ) {
33
+ * super(
34
+ * new UserMatchStatistics(set?.data),
35
+ * userMatchStatisticsModelParams,
36
+ * set?.openAISettings ?? defaultOpenAISettings,
37
+ * set.issuer,
38
+ * );
39
+ * }
40
+ * }
41
+ */
42
+ export declare class DyNTS_OAI_VectorDataService<T extends DyFM_Metadata> extends DyNTS_DataService<T> {
43
+ /**
44
+ * OpenAI settings
45
+ */
46
+ readonly openAISettings: DyFM_OAI_Settings;
47
+ /**
48
+ * Properties that are vectorized
49
+ * (properties that are marked with vectorizeFrom in other properties)
50
+ */
51
+ readonly vectorizeProperties: DyFM_DataProperty_Params<any, T>[];
52
+ readonly vectorizedProperties: DyFM_DataProperty_Params<any, T>[];
53
+ debugLog: boolean;
54
+ swallowVectorizedProperties: boolean;
55
+ embedding_CS: DyNTS_OAI_Embedding_ControlService;
56
+ constructor(
57
+ /**
58
+ * Initial data, this will be used by functions on default
59
+ */
60
+ data: T,
61
+ /**
62
+ * DB data prams will be used to connect to usable dbService on GlobalService
63
+ */
64
+ dataParams: DyFM_DataModel_Params<T>,
65
+ /**
66
+ * OpenAI settings
67
+ */
68
+ openAISettings: DyFM_OAI_Settings,
69
+ /**
70
+ * Initial set for issuer to be able to follow the issuer's activity
71
+ */
72
+ issuer: string);
73
+ /**
74
+ * Vectorizes the properties of the data
75
+ * IF they are not vectorized yet OR alwaysVectorize is true
76
+ * (That are marked with vectorizeFrom if the specific property is not defined)
77
+ *
78
+ * @example
79
+ * const data = await vectorizeDataProperties(data);
80
+ *
81
+ * @returns The vectorized data
82
+ */
83
+ vectorizeDataProperties(newData?: T, forceVectorize?: boolean): Promise<T>;
84
+ private checkAndVectorizeSingleProperty;
85
+ private getVectorizingDataForVectorizedProperty;
86
+ /**
87
+ * Vectorizes the input
88
+ *
89
+ * @example
90
+ * const vector = await vectorize(input);
91
+ */
92
+ vectorize(input: string, useModel?: DyFM_OAI_Model | string): Promise<number[]>;
93
+ /**
94
+ * Vectorizes the input and searches for the most similar data
95
+ * (the default limit is 3, and the default numberOfCandidates is 100)
96
+ *
97
+ * @example
98
+ * const result = await vectorSearch(input, searchInKey);
99
+ */
100
+ vectorSearch(set: {
101
+ input: string;
102
+ /** this should be the vectorized property key */
103
+ searchInKey: string;
104
+ limit?: number;
105
+ /**
106
+ * Number of candidates that are used to find the best match
107
+ */
108
+ numberOfCandidates?: number;
109
+ filterBy?: DyFM_DBFilter<T>;
110
+ }): Promise<any>;
111
+ /**
112
+ * VectorDataService overrides the saveData function to vectorize the data properties
113
+ *
114
+ * {@link DyNTS_DataService.saveData}
115
+ */
116
+ saveData(data?: T, dontSetToService?: boolean, forceVectorize?: boolean): Promise<T>;
117
+ }
118
+ //# sourceMappingURL=oai-vector-data.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oai-vector-data.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EAEb,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAA2B,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAG9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAGtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,2BAA2B,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAwB1F;;OAEG;aACa,cAAc,EAAE,iBAAiB;IAzBnD;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IACjE,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAGlE,QAAQ,EAAE,OAAO,CAAS;IAC1B,2BAA2B,EAAE,OAAO,CAAQ;IAE5C,YAAY,EAAE,kCAAkC,CAAC;;IAG/C;;OAEG;IACH,IAAI,EAAE,CAAC;IACP;;OAEG;IACH,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACpC;;OAEG;IACa,cAAc,EAAE,iBAAiB;IACjD;;OAEG;IACH,MAAM,EAAE,MAAM;IA6FhB;;;;;;;;;OASG;IACG,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;YAuBlE,+BAA+B;YAkD/B,uCAAuC;IA8BrD;;;;;OAKG;IACG,SAAS,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,cAAc,GAAG,MAAqD,GAC/E,OAAO,CAAC,MAAM,EAAE,CAAC;IA4BpB;;;;;;OAMG;IACG,YAAY,CAChB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,iDAAiD;QACjD,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;WAEG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC7B,GACA,OAAO,CAAC,GAAG,CAAC;IAyFf;;;;OAIG;IACY,QAAQ,CACrB,IAAI,CAAC,EAAE,CAAC,EACR,gBAAgB,CAAC,EAAE,OAAO,EAC1B,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,CAAC,CAAC;CA4Bd"}