@futdevpro/nts-dynamo 1.10.23 → 1.10.24

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 (71) hide show
  1. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts +17 -0
  2. package/build/_modules/oauth2/_routes/oauth2.controller.d.ts.map +1 -0
  3. package/build/_modules/oauth2/_routes/oauth2.controller.js +97 -0
  4. package/build/_modules/oauth2/_routes/oauth2.controller.js.map +1 -0
  5. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts +31 -0
  6. package/build/_modules/oauth2/_services/oauth2.auth-service.d.ts.map +1 -0
  7. package/build/_modules/oauth2/_services/oauth2.auth-service.js +216 -0
  8. package/build/_modules/oauth2/_services/oauth2.auth-service.js.map +1 -0
  9. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts +133 -0
  10. package/build/_modules/oauth2/_services/oauth2.control-service.d.ts.map +1 -0
  11. package/build/_modules/oauth2/_services/oauth2.control-service.js +574 -0
  12. package/build/_modules/oauth2/_services/oauth2.control-service.js.map +1 -0
  13. package/build/_modules/oauth2/index.d.ts +4 -0
  14. package/build/_modules/oauth2/index.d.ts.map +1 -0
  15. package/build/_modules/oauth2/index.js +7 -0
  16. package/build/_modules/oauth2/index.js.map +1 -0
  17. package/build/_modules/open-ai/_enums/open-ai-model.enum.d.ts +11 -0
  18. package/build/_modules/open-ai/_enums/open-ai-model.enum.d.ts.map +1 -0
  19. package/build/_modules/open-ai/_enums/open-ai-model.enum.js +110 -0
  20. package/build/_modules/open-ai/_enums/open-ai-model.enum.js.map +1 -0
  21. package/build/_modules/open-ai/_models/gpt-call-settings.interface.d.ts +54 -0
  22. package/build/_modules/open-ai/_models/gpt-call-settings.interface.d.ts.map +1 -0
  23. package/build/_modules/open-ai/_models/gpt-call-settings.interface.js +65 -0
  24. package/build/_modules/open-ai/_models/gpt-call-settings.interface.js.map +1 -0
  25. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.d.ts +7 -0
  26. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.d.ts.map +1 -0
  27. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.js +3 -0
  28. package/build/_modules/open-ai/_models/open-ai-api-env-settings.interface.js.map +1 -0
  29. package/build/_modules/open-ai/_models/open-ai-settings.interface.d.ts +17 -0
  30. package/build/_modules/open-ai/_models/open-ai-settings.interface.d.ts.map +1 -0
  31. package/build/_modules/open-ai/_models/open-ai-settings.interface.js +25 -0
  32. package/build/_modules/open-ai/_models/open-ai-settings.interface.js.map +1 -0
  33. package/build/_modules/open-ai/_services/embedding.control-service.d.ts +26 -0
  34. package/build/_modules/open-ai/_services/embedding.control-service.d.ts.map +1 -0
  35. package/build/_modules/open-ai/_services/embedding.control-service.js +54 -0
  36. package/build/_modules/open-ai/_services/embedding.control-service.js.map +1 -0
  37. package/build/_modules/open-ai/_services/gpt.service-base.d.ts +98 -0
  38. package/build/_modules/open-ai/_services/gpt.service-base.d.ts.map +1 -0
  39. package/build/_modules/open-ai/_services/gpt.service-base.js +284 -0
  40. package/build/_modules/open-ai/_services/gpt.service-base.js.map +1 -0
  41. package/build/_modules/open-ai/_services/open-ai.service-base.d.ts +23 -0
  42. package/build/_modules/open-ai/_services/open-ai.service-base.d.ts.map +1 -0
  43. package/build/_modules/open-ai/_services/open-ai.service-base.js +50 -0
  44. package/build/_modules/open-ai/_services/open-ai.service-base.js.map +1 -0
  45. package/build/_modules/open-ai/index.d.ts +8 -0
  46. package/build/_modules/open-ai/index.d.ts.map +1 -0
  47. package/build/_modules/open-ai/index.js +11 -0
  48. package/build/_modules/open-ai/index.js.map +1 -0
  49. package/build/_services/base/db.service.d.ts +38 -0
  50. package/build/_services/base/db.service.d.ts.map +1 -1
  51. package/build/_services/base/db.service.js +40 -0
  52. package/build/_services/base/db.service.js.map +1 -1
  53. package/build/_services/server/app.server.d.ts +17 -0
  54. package/build/_services/server/app.server.d.ts.map +1 -1
  55. package/build/_services/server/app.server.js +17 -0
  56. package/build/_services/server/app.server.js.map +1 -1
  57. package/package.json +47 -17
  58. package/src/_modules/oauth2/_routes/oauth2.controller.ts +99 -0
  59. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -0
  60. package/src/_modules/oauth2/_services/oauth2.control-service.ts +651 -0
  61. package/src/_modules/oauth2/index.ts +9 -0
  62. package/src/_modules/open-ai/_enums/open-ai-model.enum.ts +137 -0
  63. package/src/_modules/open-ai/_models/gpt-call-settings.interface.ts +69 -0
  64. package/src/_modules/open-ai/_models/open-ai-api-env-settings.interface.ts +12 -0
  65. package/src/_modules/open-ai/_models/open-ai-settings.interface.ts +31 -0
  66. package/src/_modules/open-ai/_services/embedding.control-service.ts +61 -0
  67. package/src/_modules/open-ai/_services/gpt.service-base.ts +440 -0
  68. package/src/_modules/open-ai/_services/open-ai.service-base.ts +73 -0
  69. package/src/_modules/open-ai/index.ts +13 -0
  70. package/src/_services/base/db.service.ts +41 -0
  71. package/src/_services/server/app.server.ts +18 -0
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_notNull = exports.DyNTS_GPT_Message_Role = exports.DyNTS_GPT_ServiceBase = void 0;
4
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
5
+ const global_settings_const_1 = require("../../../_collections/global-settings.const");
6
+ const open_ai_service_base_1 = require("./open-ai.service-base");
7
+ /**
8
+ * {
9
+ organization: 'org-XY',
10
+ apiKey: 'sk-XY',
11
+ project: 'proj_XY',
12
+ }
13
+ */
14
+ // Di Dictionary DiModel DiEz DiAz
15
+ class DyNTS_GPT_ServiceBase extends open_ai_service_base_1.DyNTS_OpenAI_ServiceBase {
16
+ defaultLogReplacer = '...';
17
+ async askYesNoQuestion(question, issuer, replaceThisInLog) {
18
+ question += ' (Only answer with "Yes" or "No")';
19
+ this.logQuestion(question, issuer, replaceThisInLog);
20
+ const answer = await this.getQuestionAnswer(question, issuer);
21
+ return answer.toUpperCase().includes('YES');
22
+ }
23
+ async askSimpleQuestion(question, issuer, replaceThisInLog) {
24
+ this.logQuestion(question, issuer, replaceThisInLog);
25
+ return await this.getQuestionAnswer(question, issuer);
26
+ }
27
+ async askPercentageQuestion(question, issuer, replaceThisInLog) {
28
+ question += ' (Only answer with a number between 0 and 1, e.g.: 0.65)';
29
+ this.logQuestion(question, issuer, replaceThisInLog);
30
+ const answer = await this.getQuestionAnswer(question, issuer);
31
+ if (isNaN(+answer)) {
32
+ fsm_dynamo_1.DyFM_Log.error('GPT_ServiceBase', 'asykPercentageQuestion', 'Invalid answer', {
33
+ question,
34
+ answer,
35
+ });
36
+ return null;
37
+ }
38
+ return +answer;
39
+ }
40
+ async askSelectQuestion(question, selectFrom, issuer, replaceThisInLog) {
41
+ question += ` (Only answer with one of the following: ${this.getListAsText(selectFrom)})`;
42
+ this.logQuestion(question, issuer, replaceThisInLog);
43
+ let answer = await this.getQuestionAnswer(question, issuer);
44
+ answer = answer.toLocaleUpperCase();
45
+ for (const item of selectFrom) {
46
+ if (answer.includes(item.toLocaleUpperCase()))
47
+ return item;
48
+ }
49
+ return null;
50
+ }
51
+ async askMultipleSelectQuestionWithOptions(question, options, issuer, replaceThisInLog) {
52
+ question += (` (You can choose one or more of the following: ${this.getListAsText(options)})`);
53
+ this.logQuestion(question, issuer, replaceThisInLog);
54
+ let answer = await this.getQuestionAnswer(question, issuer);
55
+ answer = answer.toLocaleUpperCase();
56
+ const result = [];
57
+ for (const item of options) {
58
+ if (answer.includes(item.toLocaleUpperCase())) {
59
+ result.push(item);
60
+ }
61
+ }
62
+ return result;
63
+ }
64
+ /**
65
+ * Azt kérjük tőle, hogy adjon egy JSON formában választ.
66
+ * Amit aztán megpróbálunk JSON.parse-olni.
67
+ * Ha nem sikerül, akkor { unparsable: answer }-t adunk vissza.
68
+ */
69
+ async askJSONQuestion(question, issuer, replaceThisInLog) {
70
+ question += ' (The answer must be in JSON format)';
71
+ this.logQuestion(question, issuer, replaceThisInLog);
72
+ const answer = await this.getQuestionAnswer(question, issuer);
73
+ try {
74
+ // replace all ```json, ```, \n
75
+ return JSON.parse(answer.replaceAll('```json', '').replaceAll('```', '').replaceAll('\n', ''));
76
+ }
77
+ catch (error) {
78
+ return {
79
+ unparsable: answer,
80
+ };
81
+ }
82
+ }
83
+ /**
84
+ * Azt kérjük tőle, hogy adjon egy JSON formában választ.
85
+ * Amit aztán megpróbálunk JSON.parse-olni.
86
+ * Ha nem sikerül, akkor { unparsable: answer }-t adunk vissza.
87
+ *
88
+ * A keysDescription-be leírjuk, milyen kulcsokat várunk. (nem konkrét kulcsneveket)
89
+ */
90
+ async askJSONQuestionWithKeysDescription(question, keysDescription, issuer, replaceThisInLog) {
91
+ question += ` (The answer must be in JSON format, ${keysDescription})`;
92
+ this.logQuestion(question, issuer, replaceThisInLog);
93
+ const answer = await this.getQuestionAnswer(question, issuer);
94
+ try {
95
+ // replace all ```json, ```, \n
96
+ return JSON.parse(answer.replaceAll('```json', '').replaceAll('```', '').replaceAll('\n', ''));
97
+ }
98
+ catch (error) {
99
+ return {
100
+ unparsable: answer,
101
+ };
102
+ }
103
+ }
104
+ /**
105
+ * Azt kérjük tőle, hogy adjon egy JSON formában választ.
106
+ * Amit aztán megpróbálunk JSON.parse-olni.
107
+ * Ha nem sikerül, akkor { unparsable: answer }-t adunk vissza.
108
+ *
109
+ * A keys-be leírjuk a konkrét kulcsneveket.
110
+ */
111
+ async askJSONQuestionWithExactKeys(question, keys, issuer, replaceThisInLog) {
112
+ question += ` (The answer must be in JSON format, ` +
113
+ `where the keys are: ${this.getListAsText(keys)})`;
114
+ this.logQuestion(question, issuer, replaceThisInLog);
115
+ const answer = await this.getQuestionAnswer(question, issuer);
116
+ try {
117
+ // replace all ```json, ```, \n
118
+ return JSON.parse(answer.replaceAll('```json', '').replaceAll('```', '').replaceAll('\n', ''));
119
+ }
120
+ catch (error) {
121
+ return {
122
+ unparsable: answer,
123
+ };
124
+ }
125
+ }
126
+ async askListQuestion(question, issuer, replaceThisInLog) {
127
+ question += ' (The answer must be in JSON format, a list of strings)';
128
+ this.logQuestion(question, issuer, replaceThisInLog);
129
+ const answer = await this.getQuestionAnswer(question, issuer);
130
+ try {
131
+ const parsed = JSON.parse(answer.replaceAll('```json', '').replaceAll('```', '').replaceAll('\n', ''));
132
+ if (Array.isArray(parsed)) {
133
+ return parsed;
134
+ }
135
+ else if (typeof parsed === 'object') {
136
+ return Object.values(parsed);
137
+ }
138
+ else {
139
+ fsm_dynamo_1.DyFM_Log.error('GPT_ServiceBase', 'askListQuestion', 'Invalid answer', {
140
+ question,
141
+ answer,
142
+ });
143
+ return [parsed];
144
+ }
145
+ }
146
+ catch (error) {
147
+ return answer.split('\n').filter(item => item);
148
+ }
149
+ }
150
+ logQuestion(question, issuer, replaceThisInLog) {
151
+ if (this.debugLog) {
152
+ if (replaceThisInLog) {
153
+ question = question.replace(replaceThisInLog, this.defaultLogReplacer);
154
+ }
155
+ console.log('\n - ', question);
156
+ }
157
+ }
158
+ /**
159
+ * This function will log the answer if the debugLog is true
160
+ */
161
+ async getQuestionAnswer(question, issuer, messageSettings = this.defaultSettings) {
162
+ const answer = await this.resolveSimpleUserMessage(question, issuer, messageSettings);
163
+ console.log(' - ', answer);
164
+ return answer;
165
+ }
166
+ /**
167
+ * olvasható mondatszerű-listaszerű formába teszi a listaelemeket
168
+ * pl.: ['a', 'b', 'c'] -> '"a", "b" or "c"'
169
+ */
170
+ getListAsText(list) {
171
+ list = list.filter(item => item?.trim()).map(item => `"${item}"`);
172
+ /* list = list.map(item => item.toLocaleLowerCase()); */
173
+ list.push(list.pop() + ' or ' + list.pop());
174
+ return list.join(', ');
175
+ }
176
+ /**
177
+ * This function will log the question and the answer if the debugLog is true
178
+ */
179
+ async getAnswer(question, issuer, settings) {
180
+ if (this.debugLog) {
181
+ console.log('\n - ', question);
182
+ }
183
+ const answer = await this.resolveSimpleUserMessage(question, issuer, settings);
184
+ if (this.debugLog) {
185
+ console.log(' - ', answer);
186
+ }
187
+ return answer;
188
+ }
189
+ async resolveSimpleUserMessage(message, issuer, settings) {
190
+ return this.resolveConversation([{ role: 'user', content: message }], issuer, settings, false);
191
+ }
192
+ async resolveConversation(conversation, issuer, settings, getFullResponse) {
193
+ try {
194
+ const result = await this.openai.chat.completions.create(this.getMessageCreateInput(conversation, issuer, settings));
195
+ if (getFullResponse) {
196
+ return result;
197
+ }
198
+ return result.choices[0].message.content;
199
+ }
200
+ catch (error) {
201
+ throw new fsm_dynamo_1.DyFM_Error({
202
+ ...this.getDefaultErrorSettings('resolveConversation', error, issuer),
203
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OAB-RC0`,
204
+ });
205
+ }
206
+ }
207
+ /**
208
+ * TODO: Overview this: maybe it should use each setting from default if not provided here
209
+ */
210
+ getMessageCreateInput(messages, issuer, settings = this.defaultSettings) {
211
+ try {
212
+ messages.unshift(this.getDefaultSystemMessage(settings));
213
+ const result = {
214
+ model: settings.useModel ?? this.defaultModel,
215
+ messages: messages,
216
+ };
217
+ if (DyFM_notNull(settings.temperature)) {
218
+ result.temperature = settings.temperature;
219
+ }
220
+ if (DyFM_notNull(settings.maxTokens)) {
221
+ result.max_tokens = settings.maxTokens;
222
+ }
223
+ if (DyFM_notNull(settings.topP)) {
224
+ result.top_p = settings.topP;
225
+ }
226
+ if (DyFM_notNull(settings.frequencyPenalty)) {
227
+ result.frequency_penalty = settings.frequencyPenalty;
228
+ }
229
+ if (DyFM_notNull(settings.presencePenalty)) {
230
+ result.presence_penalty = settings.presencePenalty;
231
+ }
232
+ return result;
233
+ }
234
+ catch (error) {
235
+ throw new fsm_dynamo_1.DyFM_Error({
236
+ ...this.getDefaultErrorSettings('getMessageCreateSettings', error, issuer),
237
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|DyNTS-OAB-RC0`,
238
+ });
239
+ }
240
+ }
241
+ getDefaultSystemMessage(settings) {
242
+ return {
243
+ role: DyNTS_GPT_Message_Role.system,
244
+ content: settings.systemPrompt || this.defaultSystemPrompt,
245
+ };
246
+ }
247
+ }
248
+ exports.DyNTS_GPT_ServiceBase = DyNTS_GPT_ServiceBase;
249
+ var DyNTS_GPT_Message_Role;
250
+ (function (DyNTS_GPT_Message_Role) {
251
+ /**
252
+ * Developer-provided instructions that the model should follow, regardless of
253
+ * messages sent by the user. With o1 models and newer, `developer` messages
254
+ * replace the previous `system` messages.
255
+ */
256
+ DyNTS_GPT_Message_Role["developer"] = "developer";
257
+ /**
258
+ * Developer-provided instructions that the model should follow, regardless of
259
+ * messages sent by the user. With o1 models and newer, use `developer` messages
260
+ * for this purpose instead.
261
+ */
262
+ DyNTS_GPT_Message_Role["system"] = "system";
263
+ /**
264
+ * Messages sent by an end user, containing prompts or additional context
265
+ * information.
266
+ */
267
+ DyNTS_GPT_Message_Role["user"] = "user";
268
+ /**
269
+ * Messages sent by the model in response to user messages.
270
+ */
271
+ DyNTS_GPT_Message_Role["assistant"] = "assistant";
272
+ /** ??? */
273
+ DyNTS_GPT_Message_Role["tool"] = "tool";
274
+ /**
275
+ * ???
276
+ * @deprecated
277
+ */
278
+ DyNTS_GPT_Message_Role["function"] = "function";
279
+ })(DyNTS_GPT_Message_Role || (exports.DyNTS_GPT_Message_Role = DyNTS_GPT_Message_Role = {}));
280
+ function DyFM_notNull(value) {
281
+ return value !== null && value !== undefined;
282
+ }
283
+ exports.DyFM_notNull = DyFM_notNull;
284
+ //# sourceMappingURL=gpt.service-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpt.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_services/gpt.service-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { OpenAI } from 'openai';
2
+ import { DyFM_AnyError, DyFM_Error_Settings } from '@futdevpro/fsm-dynamo';
3
+ import { DyNTS_OpenAIModel } from '../_enums/open-ai-model.enum';
4
+ import { DyNTS_OpenAI_Settings } from '../_models/open-ai-settings.interface';
5
+ import { DyNTS_GPTCall_Settings } from '../_models/gpt-call-settings.interface';
6
+ /**
7
+ * {
8
+ * organization: 'org-XY',
9
+ * apiKey: 'sk-XY',
10
+ * project: 'proj_XY',
11
+ * }
12
+ */
13
+ export declare class DyNTS_OpenAI_ServiceBase {
14
+ readonly defaultErrorUserMsg: string;
15
+ readonly openai: OpenAI;
16
+ readonly defaultSettings: DyNTS_GPTCall_Settings;
17
+ get debugLog(): boolean;
18
+ get defaultSystemPrompt(): string;
19
+ get defaultModel(): DyNTS_OpenAIModel | string;
20
+ constructor(set: DyNTS_OpenAI_Settings);
21
+ protected getDefaultErrorSettings(fnName: string, error: DyFM_AnyError, issuer: string): DyFM_Error_Settings;
22
+ }
23
+ //# sourceMappingURL=open-ai.service-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-ai.service-base.d.ts","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_services/open-ai.service-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAc,mBAAmB,EAAY,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGhF;;;;;;GAMG;AAIH,qBAAa,wBAAwB;IAEnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAEmB;IAEvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxB,QAAQ,CAAC,eAAe,EAAE,sBAAsB,CAAC;IAEjD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,YAAY,IAAI,iBAAiB,GAAG,MAAM,CAE7C;gBAGC,GAAG,EAAE,qBAAqB;IAM5B,SAAS,CAAC,uBAAuB,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,GACb,mBAAmB;CAavB"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_OpenAI_ServiceBase = void 0;
4
+ const openai_1 = require("openai");
5
+ const global_settings_const_1 = require("../../../_collections/global-settings.const");
6
+ const gpt_call_settings_interface_1 = require("../_models/gpt-call-settings.interface");
7
+ /**
8
+ * {
9
+ * organization: 'org-XY',
10
+ * apiKey: 'sk-XY',
11
+ * project: 'proj_XY',
12
+ * }
13
+ */
14
+ // Di Dictionary DiModel DiEz DiAz
15
+ class DyNTS_OpenAI_ServiceBase {
16
+ defaultErrorUserMsg = `We encountered an unhandled Control Service Error, ` +
17
+ `\nplease contact the responsible development team.`;
18
+ openai;
19
+ /* readonly defaultSystemPrompt: string;
20
+ readonly defaultModel: DyNTS_OpenAIModel | string; */
21
+ defaultSettings;
22
+ get debugLog() {
23
+ return this.defaultSettings.debugLog;
24
+ }
25
+ get defaultSystemPrompt() {
26
+ return this.defaultSettings.systemPrompt;
27
+ }
28
+ get defaultModel() {
29
+ return this.defaultSettings.useModel;
30
+ }
31
+ constructor(set) {
32
+ this.openai = new openai_1.OpenAI(set.openAIConfig);
33
+ this.defaultSettings = set.defaultSettings ?? new gpt_call_settings_interface_1.DyNTS_GPTCall_Settings();
34
+ }
35
+ getDefaultErrorSettings(fnName, error, issuer) {
36
+ return {
37
+ status: error?.___status ?? 500,
38
+ message: error?.message ??
39
+ error?._message ??
40
+ `${fnName} was UNSUCCESSFUL (${global_settings_const_1.DyNTS_global_settings.systemShortCodeName})`,
41
+ addECToUserMsg: !error?.__userMessage,
42
+ userMessage: error?.__userMessage ?? this.defaultErrorUserMsg,
43
+ issuer: issuer,
44
+ issuerService: this.constructor?.name,
45
+ error: error,
46
+ };
47
+ }
48
+ }
49
+ exports.DyNTS_OpenAI_ServiceBase = DyNTS_OpenAI_ServiceBase;
50
+ //# sourceMappingURL=open-ai.service-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-ai.service-base.js","sourceRoot":"","sources":["../../../../src/_modules/open-ai/_services/open-ai.service-base.ts"],"names":[],"mappings":";;;AACA,mCAA+C;AAM/C,uFAAoF;AAEpF,wFAAgF;AAGhF;;;;;;GAMG;AAEH,kCAAkC;AAElC,MAAa,wBAAwB;IAE1B,mBAAmB,GAC1B,qDAAqD;QACrD,oDAAoD,CAAC;IAE9C,MAAM,CAAS;IAExB;yDACqD;IAC5C,eAAe,CAAyB;IAEjD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,YACE,GAA0B;QAE1B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,IAAI,IAAI,oDAAsB,EAAE,CAAC;IAC7E,CAAC;IAES,uBAAuB,CAC/B,MAAc,EACd,KAAoB,EACpB,MAAc;QAEd,OAAO;YACL,MAAM,EAAG,KAAoB,EAAE,SAAS,IAAI,GAAG;YAC/C,OAAO,EAAG,KAAe,EAAE,OAAO;gBAC/B,KAAoB,EAAE,QAAQ;gBAC/B,GAAG,MAAM,sBAAsB,6CAAqB,CAAC,mBAAmB,GAAG;YAC7E,cAAc,EAAE,CAAE,KAAoB,EAAE,aAAa;YACrD,WAAW,EAAG,KAAoB,EAAE,aAAa,IAAI,IAAI,CAAC,mBAAmB;YAC7E,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI;YACrC,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;CACF;AAhDD,4DAgDC"}
@@ -0,0 +1,8 @@
1
+ export * from './_enums/open-ai-model.enum';
2
+ export * from './_models/gpt-call-settings.interface';
3
+ export * from './_models/open-ai-api-env-settings.interface';
4
+ export * from './_models/open-ai-settings.interface';
5
+ export * from './_services/embedding.control-service';
6
+ export * from './_services/gpt.service-base';
7
+ export * from './_services/open-ai.service-base';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/open-ai/index.ts"],"names":[],"mappings":"AAEA,cAAc,6BAA6B,CAAC;AAE5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sCAAsC,CAAC;AAErD,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./_enums/open-ai-model.enum"), exports);
5
+ tslib_1.__exportStar(require("./_models/gpt-call-settings.interface"), exports);
6
+ tslib_1.__exportStar(require("./_models/open-ai-api-env-settings.interface"), exports);
7
+ tslib_1.__exportStar(require("./_models/open-ai-settings.interface"), exports);
8
+ tslib_1.__exportStar(require("./_services/embedding.control-service"), exports);
9
+ tslib_1.__exportStar(require("./_services/gpt.service-base"), exports);
10
+ tslib_1.__exportStar(require("./_services/open-ai.service-base"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/open-ai/index.ts"],"names":[],"mappings":";;;AAEA,sEAA4C;AAE5C,gFAAsD;AACtD,uFAA6D;AAC7D,+EAAqD;AAErD,gFAAsD;AACtD,uEAA6C;AAC7C,2EAAiD"}
@@ -305,6 +305,44 @@ export declare class DyNTS_DBService<T extends DyFM_Metadata> {
305
305
  * //
306
306
  */
307
307
  updateMany(filterBy: DyFM_DBFilter<T>, update: DyNTS_DBUpdate<T>, issuer: string, dontUpdateModified?: boolean): Promise<void>;
308
+ /**
309
+ * {
310
+ "mappings": {
311
+ "dynamic": true,
312
+ "fields": {
313
+ "embedding": {
314
+ "type": "knnVector",
315
+ "dimensions": 768
316
+ }
317
+ }
318
+ }
319
+ }
320
+ */
321
+ /**
322
+ *
323
+ * @param set db.collection.aggregate([
324
+ {
325
+ $vectorSearch: {
326
+ index: "index_neve",
327
+ queryVector: [a keresett embedding],
328
+ path: "title.embedding",
329
+ numCandidates: 100,
330
+ limit: 5
331
+ }
332
+ },
333
+ {
334
+ $vectorSearch: {
335
+ index: "index_neve",
336
+ queryVector: [a keresett embedding],
337
+ path: "description.embedding",
338
+ numCandidates: 100,
339
+ limit: 5
340
+ }
341
+ }
342
+ ]);
343
+ * @returns
344
+ */
345
+ aggregate(set: any): Promise<any>;
308
346
  private stringifyDataId;
309
347
  private _getDefaultErrorSettings;
310
348
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/db.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,qBAAqB,EAGrB,aAAa,EAAuB,WAAW,EAI/C,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,aAAa;IAoBzC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAlB7C,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,MAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAExC,mBAAmB,SAEoC;IAEvD;;;;;OAKG;gBAEM,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAkC7C;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA+CrD;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAyCnF;;;;OAIG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAyBzC;;;;;;OAMG;IACG,qBAAqB,CAAC,mBAAmB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAgCjF,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAmBnD;;;;;;OAMG;IACG,yBAAyB,CAAC,mBAAmB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsC7F;;;;;;OAMG;IACG,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IA0D9F;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAoBtB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1D,yBAAyB,CAAC,mBAAmB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxG,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7D,4BAA4B,CAChC,mBAAmB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAC9C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAiBxC;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/C;;;OAGG;IACG,wBAAwB,CAAC,mBAAmB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpC;;;;;;;OAOG;IACG,UAAU,CACd,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAChC,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,CAAC,EAAE,CAAC;IAmHf;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBrD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAoBpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,cAAc,CAClB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC;IA2Bf;;;;;;;OAOG;IACG,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,CAAC,CAAC;IAsBb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACG,SAAS,CACb,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,IAAI,CAAC;IAmBhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACG,UAAU,CACd,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,IAAI,CAAC;IAwBhB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,wBAAwB;IAqBhC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IA4ExC,OAAO,CAAC,SAAS;IA+BjB;;;;OAIG;IAaH;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,8BAA8B;IAmBtC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAatC"}
1
+ {"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/_services/base/db.service.ts"],"names":[],"mappings":"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"}
@@ -826,6 +826,46 @@ class DyNTS_DBService {
826
826
  });
827
827
  });
828
828
  }
829
+ /**
830
+ * {
831
+ "mappings": {
832
+ "dynamic": true,
833
+ "fields": {
834
+ "embedding": {
835
+ "type": "knnVector",
836
+ "dimensions": 768
837
+ }
838
+ }
839
+ }
840
+ }
841
+ */
842
+ /**
843
+ *
844
+ * @param set db.collection.aggregate([
845
+ {
846
+ $vectorSearch: {
847
+ index: "index_neve",
848
+ queryVector: [a keresett embedding],
849
+ path: "title.embedding",
850
+ numCandidates: 100,
851
+ limit: 5
852
+ }
853
+ },
854
+ {
855
+ $vectorSearch: {
856
+ index: "index_neve",
857
+ queryVector: [a keresett embedding],
858
+ path: "description.embedding",
859
+ numCandidates: 100,
860
+ limit: 5
861
+ }
862
+ }
863
+ ]);
864
+ * @returns
865
+ */
866
+ async aggregate(set) {
867
+ return this.dataModel.aggregate(set);
868
+ }
829
869
  // ----------------------------------------------------------------------------------
830
870
  // ----------------------------------------------------------------------------------
831
871
  // ----------------------------------------------------------------------------------