@mate-academy/llm-gateway 2.3.0 → 2.4.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 +159 -0
- package/dist/LLMService.typedefs.d.ts +9 -0
- package/dist/LLMService.typedefs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js +1 -1
- package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.constants.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.d.ts +4 -0
- package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.js +2 -1
- package/dist/providers/GoogleGenerativeAI/GoogleGenerativeAI.entity.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.d.ts +7 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js +77 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAIAssistance.service.js.map +1 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.d.ts +7 -1
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js +79 -2
- package/dist/providers/GoogleGenerativeAI/services/GoogleGenerativeAICompletion.service.js.map +1 -1
- package/dist/providers/OpenAI/OpenAI.constants.js +1 -1
- package/dist/providers/OpenAI/OpenAI.constants.js.map +1 -1
- package/dist/providers/OpenAI/services/OpenAIAssistance.service.d.ts +7 -1
- package/dist/providers/OpenAI/services/OpenAIAssistance.service.js +117 -3
- package/dist/providers/OpenAI/services/OpenAIAssistance.service.js.map +1 -1
- package/dist/providers/OpenAI/services/OpenAICompletion.service.d.ts +7 -1
- package/dist/providers/OpenAI/services/OpenAICompletion.service.js +86 -2
- package/dist/providers/OpenAI/services/OpenAICompletion.service.js.map +1 -1
- package/dist/services/LLMAssistanceService.abstract.d.ts +8 -1
- package/dist/services/LLMAssistanceService.abstract.js.map +1 -1
- package/dist/services/LLMCompletionService.abstract.d.ts +8 -1
- package/dist/services/LLMCompletionService.abstract.js.map +1 -1
- package/dist/utilities/functional.utils.js.map +1 -0
- package/dist/utilities/index.d.ts +3 -0
- package/dist/utilities/index.js +22 -0
- package/dist/utilities/index.js.map +1 -0
- package/dist/utilities/promptBuilder.js.map +1 -0
- package/dist/utilities/schema/AbstractSchemaBuilder.d.ts +50 -0
- package/dist/utilities/schema/AbstractSchemaBuilder.js +11 -0
- package/dist/utilities/schema/AbstractSchemaBuilder.js.map +1 -0
- package/dist/utilities/schema/LLMSchema.d.ts +119 -0
- package/dist/utilities/schema/LLMSchema.js +286 -0
- package/dist/utilities/schema/LLMSchema.js.map +1 -0
- package/dist/utilities/schema/LLMSchemaInterface.d.ts +47 -0
- package/dist/utilities/schema/LLMSchemaInterface.js +3 -0
- package/dist/utilities/schema/LLMSchemaInterface.js.map +1 -0
- package/dist/utilities/schema/index.d.ts +3 -0
- package/dist/utilities/schema/index.js +11 -0
- package/dist/utilities/schema/index.js.map +1 -0
- package/package.json +19 -11
- package/dist/functional.utils.js.map +0 -1
- package/dist/promptBuilder.js.map +0 -1
- /package/dist/{functional.utils.d.ts → utilities/functional.utils.d.ts} +0 -0
- /package/dist/{functional.utils.js → utilities/functional.utils.js} +0 -0
- /package/dist/{promptBuilder.d.ts → utilities/promptBuilder.d.ts} +0 -0
- /package/dist/{promptBuilder.js → utilities/promptBuilder.js} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type Logger } from '@mate-academy/core';
|
|
2
2
|
import { OpenAI } from 'openai';
|
|
3
|
-
import { type LLMAssistanceOptions, type LLMAssistanceResult, type LLMAssistanceMessage, type LLMCreateAssistantOptions, type LLMCreateAssistantResult, type LLMCreateChatOptions, type LLMCreateChatResult, type LLMCreateFileStorageOptions, type LLMCreateFileStorageResult, type LLMInstanceOptions, LLMProviders, type LLMUploadFileOptions, type LLMUploadFileResult } from '../../../LLMService.typedefs';
|
|
3
|
+
import { type LLMAssistanceOptions, type LLMAssistanceResult, type LLMAssistanceMessage, type LLMCreateAssistantOptions, type LLMCreateAssistantResult, type LLMCreateChatOptions, type LLMCreateChatResult, type LLMCreateFileStorageOptions, type LLMCreateFileStorageResult, type LLMInstanceOptions, LLMProviders, type LLMUploadFileOptions, type LLMUploadFileResult, type LLMStructuredResult } from '../../../LLMService.typedefs';
|
|
4
4
|
import { LLMAssistanceService } from '../../../services';
|
|
5
|
+
import { type LLMSchemaInterface, type InferSchema } from '../../../utilities/schema';
|
|
5
6
|
export declare class OpenAIAssistanceService extends LLMAssistanceService<LLMProviders.OpenAI> {
|
|
6
7
|
#private;
|
|
7
8
|
private uploadedFiles;
|
|
@@ -15,6 +16,11 @@ export declare class OpenAIAssistanceService extends LLMAssistanceService<LLMPro
|
|
|
15
16
|
deleteChat(chatId: string): Promise<void>;
|
|
16
17
|
createAssistant(options: LLMCreateAssistantOptions<LLMProviders.OpenAI>): Promise<LLMCreateAssistantResult>;
|
|
17
18
|
deleteAssistant(assistantId: string): Promise<void>;
|
|
19
|
+
assistInChat<S extends LLMSchemaInterface>(options: LLMAssistanceOptions & {
|
|
20
|
+
schema: S;
|
|
21
|
+
}): Promise<LLMStructuredResult<InferSchema<S>>>;
|
|
18
22
|
assistInChat(options: LLMAssistanceOptions): Promise<LLMAssistanceResult>;
|
|
23
|
+
private assistInChatText;
|
|
24
|
+
private assistInChatStructured;
|
|
19
25
|
countTokens(messages: LLMAssistanceMessage[]): Promise<number>;
|
|
20
26
|
}
|
|
@@ -200,10 +200,16 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
200
200
|
await this.instance.beta.assistants.delete(assistantId);
|
|
201
201
|
}
|
|
202
202
|
async assistInChat(options) {
|
|
203
|
+
if (options.schema) {
|
|
204
|
+
return this.assistInChatStructured(options);
|
|
205
|
+
}
|
|
206
|
+
return this.assistInChatText(options);
|
|
207
|
+
}
|
|
208
|
+
async assistInChatText(options) {
|
|
203
209
|
try {
|
|
204
210
|
const { message, chatId, assistantId, storageId, abortSignal, } = options;
|
|
205
211
|
abortSignal?.throwIfAborted();
|
|
206
|
-
const { attachments, content, role, } = message;
|
|
212
|
+
const { attachments, content: messageContentItems, role, } = message;
|
|
207
213
|
const messageContent = [];
|
|
208
214
|
if (attachments) {
|
|
209
215
|
attachments
|
|
@@ -218,7 +224,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
218
224
|
});
|
|
219
225
|
});
|
|
220
226
|
}
|
|
221
|
-
messageContent.push(...
|
|
227
|
+
messageContent.push(...messageContentItems);
|
|
222
228
|
const threadMessageData = {
|
|
223
229
|
role: (role === LLMService_typedefs_1.LLMRoles.User
|
|
224
230
|
? OpenAI_typedefs_1.OpenAIRoles.User
|
|
@@ -273,7 +279,7 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
273
279
|
}
|
|
274
280
|
catch (error) {
|
|
275
281
|
this.logger
|
|
276
|
-
.child('
|
|
282
|
+
.child('assistInChatText')
|
|
277
283
|
.error('Error assisting in chat', {
|
|
278
284
|
error,
|
|
279
285
|
options,
|
|
@@ -281,6 +287,114 @@ class OpenAIAssistanceService extends services_1.LLMAssistanceService {
|
|
|
281
287
|
return { error };
|
|
282
288
|
}
|
|
283
289
|
}
|
|
290
|
+
async assistInChatStructured(options) {
|
|
291
|
+
try {
|
|
292
|
+
const { message, chatId, assistantId, abortSignal, schema, } = options;
|
|
293
|
+
abortSignal?.throwIfAborted();
|
|
294
|
+
const { attachments, content: messageContentItems, role, } = message;
|
|
295
|
+
const messageContent = [];
|
|
296
|
+
if (attachments) {
|
|
297
|
+
attachments
|
|
298
|
+
.filter(this.isImageFile)
|
|
299
|
+
.forEach((attachment) => {
|
|
300
|
+
messageContent.push({
|
|
301
|
+
type: 'image_file',
|
|
302
|
+
image_file: {
|
|
303
|
+
file_id: attachment.fileId,
|
|
304
|
+
detail: 'high',
|
|
305
|
+
},
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
messageContent.push(...messageContentItems);
|
|
310
|
+
const threadMessageData = {
|
|
311
|
+
role: (role === LLMService_typedefs_1.LLMRoles.User
|
|
312
|
+
? OpenAI_typedefs_1.OpenAIRoles.User
|
|
313
|
+
: OpenAI_typedefs_1.OpenAIRoles.Assistant),
|
|
314
|
+
content: messageContent,
|
|
315
|
+
attachments: attachments
|
|
316
|
+
?.filter(this.isNotImageFile)
|
|
317
|
+
.map((attachment) => ({
|
|
318
|
+
file_id: attachment.fileId,
|
|
319
|
+
tools: [{ type: 'file_search' }],
|
|
320
|
+
})) ?? [],
|
|
321
|
+
};
|
|
322
|
+
await this.instance.beta.threads.messages.create(chatId, threadMessageData, {
|
|
323
|
+
signal: abortSignal,
|
|
324
|
+
});
|
|
325
|
+
abortSignal?.throwIfAborted();
|
|
326
|
+
// Convert schema to OpenAI JSON Schema format
|
|
327
|
+
const jsonSchema = schema._toOpenAISchema();
|
|
328
|
+
const threadRun = await this.instance.beta.threads.runs.createAndPoll(chatId, {
|
|
329
|
+
assistant_id: assistantId,
|
|
330
|
+
response_format: {
|
|
331
|
+
type: 'json_schema',
|
|
332
|
+
json_schema: {
|
|
333
|
+
name: 'structured_response',
|
|
334
|
+
strict: true,
|
|
335
|
+
schema: jsonSchema,
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
}, {
|
|
339
|
+
signal: abortSignal,
|
|
340
|
+
});
|
|
341
|
+
const { status } = threadRun;
|
|
342
|
+
if (status !== 'completed') {
|
|
343
|
+
throw new Error(`Thread run did not complete for structured message, status: ${status}`);
|
|
344
|
+
}
|
|
345
|
+
abortSignal?.throwIfAborted();
|
|
346
|
+
const threadRunMessages = await this.instance.beta.threads.messages.list(chatId, {
|
|
347
|
+
run_id: threadRun.id,
|
|
348
|
+
}, {
|
|
349
|
+
signal: abortSignal,
|
|
350
|
+
});
|
|
351
|
+
const assistantResponse = threadRunMessages.data.find((message) => message.role === OpenAI_typedefs_1.OpenAIRoles.Assistant);
|
|
352
|
+
const textContent = assistantResponse?.content
|
|
353
|
+
.find((content) => (content.type === 'text' && 'text' in content));
|
|
354
|
+
abortSignal?.throwIfAborted();
|
|
355
|
+
const content = textContent?.text?.value ?? '';
|
|
356
|
+
if (!content) {
|
|
357
|
+
return {
|
|
358
|
+
text: '',
|
|
359
|
+
parseError: 'Empty response from OpenAI Assistant',
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
try {
|
|
363
|
+
const parsed = JSON.parse(content);
|
|
364
|
+
const validation = schema._parse(parsed);
|
|
365
|
+
return {
|
|
366
|
+
text: content,
|
|
367
|
+
data: validation.data,
|
|
368
|
+
parseError: validation.error,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
catch (parseError) {
|
|
372
|
+
this.logger
|
|
373
|
+
.child('assistInChatStructured')
|
|
374
|
+
.warn('Failed to parse JSON response', {
|
|
375
|
+
content,
|
|
376
|
+
parseError: parseError.message,
|
|
377
|
+
});
|
|
378
|
+
return {
|
|
379
|
+
text: content,
|
|
380
|
+
parseError: `JSON parsing failed: ${parseError.message}`,
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
catch (error) {
|
|
385
|
+
this.logger
|
|
386
|
+
.child('assistInChatStructured')
|
|
387
|
+
.error('Error assisting in chat with structured output', {
|
|
388
|
+
error,
|
|
389
|
+
options,
|
|
390
|
+
});
|
|
391
|
+
return {
|
|
392
|
+
text: '',
|
|
393
|
+
error,
|
|
394
|
+
parseError: 'Failed to get structured response from OpenAI Assistant',
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
}
|
|
284
398
|
async countTokens(messages) {
|
|
285
399
|
const countTokensFn = OpenAI_entity_1.OpenAIEntity
|
|
286
400
|
.getCountTokensFn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAIAssistance.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenAIAssistance.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAIAssistance.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { type Logger } from '@mate-academy/core';
|
|
2
2
|
import { OpenAI } from 'openai';
|
|
3
|
-
import { type LLMCompletionResult, type LLMInstanceOptions, LLMProviders, type LLMSendMessageOptions } from '../../../LLMService.typedefs';
|
|
3
|
+
import { type LLMCompletionResult, type LLMInstanceOptions, LLMProviders, type LLMSendMessageOptions, type LLMStructuredResult } from '../../../LLMService.typedefs';
|
|
4
4
|
import { LLMCompletionService } from '../../../services';
|
|
5
|
+
import { type LLMSchemaInterface, type InferSchema } from '../../../utilities/schema';
|
|
5
6
|
export declare class OpenAICompletionService extends LLMCompletionService<LLMProviders.OpenAI> {
|
|
6
7
|
#private;
|
|
7
8
|
constructor(logger: Logger, options: LLMInstanceOptions[LLMProviders.OpenAI]);
|
|
8
9
|
get instance(): OpenAI;
|
|
10
|
+
sendMessage<S extends LLMSchemaInterface>(options: LLMSendMessageOptions<typeof this.provider> & {
|
|
11
|
+
schema: S;
|
|
12
|
+
}): Promise<LLMStructuredResult<InferSchema<S>>>;
|
|
9
13
|
sendMessage(options: LLMSendMessageOptions<typeof this.provider>): Promise<LLMCompletionResult>;
|
|
14
|
+
private sendTextMessage;
|
|
15
|
+
private sendStructuredMessage;
|
|
10
16
|
}
|
|
@@ -17,6 +17,12 @@ class OpenAICompletionService extends services_1.LLMCompletionService {
|
|
|
17
17
|
return this.#instance;
|
|
18
18
|
}
|
|
19
19
|
async sendMessage(options) {
|
|
20
|
+
if (options.schema) {
|
|
21
|
+
return this.sendStructuredMessage(options);
|
|
22
|
+
}
|
|
23
|
+
return this.sendTextMessage(options);
|
|
24
|
+
}
|
|
25
|
+
async sendTextMessage(options) {
|
|
20
26
|
try {
|
|
21
27
|
const { model, message, history = [], abortSignal, } = options;
|
|
22
28
|
abortSignal?.throwIfAborted();
|
|
@@ -47,14 +53,92 @@ class OpenAICompletionService extends services_1.LLMCompletionService {
|
|
|
47
53
|
}
|
|
48
54
|
catch (error) {
|
|
49
55
|
this.logger
|
|
50
|
-
.child('
|
|
51
|
-
.error('Error sending message', {
|
|
56
|
+
.child('sendTextMessage')
|
|
57
|
+
.error('Error sending text message', {
|
|
52
58
|
error,
|
|
53
59
|
options,
|
|
54
60
|
});
|
|
55
61
|
return { error };
|
|
56
62
|
}
|
|
57
63
|
}
|
|
64
|
+
async sendStructuredMessage(options) {
|
|
65
|
+
try {
|
|
66
|
+
const { model, message, history = [], abortSignal, schema, } = options;
|
|
67
|
+
abortSignal?.throwIfAborted();
|
|
68
|
+
const countTokensFn = OpenAI_entity_1.OpenAIEntity.getCountTokensFn();
|
|
69
|
+
const combinedMessages = await OpenAI_entity_1.OpenAIEntity.combineMessagesWithLimit({
|
|
70
|
+
history,
|
|
71
|
+
message,
|
|
72
|
+
model,
|
|
73
|
+
countTokensFn,
|
|
74
|
+
instance: this.instance,
|
|
75
|
+
logger: this.logger,
|
|
76
|
+
});
|
|
77
|
+
const chatCompletionMessageParam = OpenAI_entity_1.OpenAIEntity
|
|
78
|
+
.getChatCompletionMessageParam(combinedMessages, this.logger);
|
|
79
|
+
abortSignal?.throwIfAborted();
|
|
80
|
+
// Convert schema to OpenAI JSON Schema format
|
|
81
|
+
const jsonSchema = schema._toOpenAISchema();
|
|
82
|
+
const completion = await this.instance.chat.completions.create({
|
|
83
|
+
model: model.name,
|
|
84
|
+
messages: chatCompletionMessageParam,
|
|
85
|
+
n: 1,
|
|
86
|
+
...model.config,
|
|
87
|
+
response_format: {
|
|
88
|
+
type: 'json_schema',
|
|
89
|
+
json_schema: {
|
|
90
|
+
name: 'structured_response',
|
|
91
|
+
strict: true,
|
|
92
|
+
schema: jsonSchema,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
}, {
|
|
96
|
+
signal: abortSignal,
|
|
97
|
+
});
|
|
98
|
+
abortSignal?.throwIfAborted();
|
|
99
|
+
const content = completion.choices[0]?.message.content ?? '';
|
|
100
|
+
if (!content) {
|
|
101
|
+
return {
|
|
102
|
+
text: '',
|
|
103
|
+
parseError: 'Empty response from OpenAI',
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
try {
|
|
107
|
+
const parsed = JSON.parse(content);
|
|
108
|
+
const validation = schema._parse(parsed);
|
|
109
|
+
return {
|
|
110
|
+
text: content,
|
|
111
|
+
data: validation.data,
|
|
112
|
+
parseError: validation.error,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
catch (parseError) {
|
|
116
|
+
this.logger
|
|
117
|
+
.child('sendStructuredMessage')
|
|
118
|
+
.warn('Failed to parse JSON response', {
|
|
119
|
+
content,
|
|
120
|
+
parseError: parseError.message,
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
text: content,
|
|
124
|
+
parseError: `JSON parsing failed: ${parseError.message}`,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
this.logger
|
|
130
|
+
.child('sendStructuredMessage')
|
|
131
|
+
.error('Error sending structured message', {
|
|
132
|
+
error,
|
|
133
|
+
options,
|
|
134
|
+
});
|
|
135
|
+
return {
|
|
136
|
+
text: '',
|
|
137
|
+
error,
|
|
138
|
+
parseError: 'Failed to get structured response from OpenAI',
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
58
142
|
}
|
|
59
143
|
exports.OpenAICompletionService = OpenAICompletionService;
|
|
60
144
|
//# sourceMappingURL=OpenAICompletion.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAICompletion.service.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAChC,+
|
|
1
|
+
{"version":3,"file":"OpenAICompletion.service.js","sourceRoot":"","sources":["../../../../src/providers/OpenAI/services/OpenAICompletion.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Logger } from '@mate-academy/core';
|
|
2
|
-
import { type LLMAssistanceOptions, type LLMAssistanceResult, type LLMAssistanceMessage, type LLMCreateAssistantOptions, type LLMCreateAssistantResult, type LLMCreateChatOptions, type LLMCreateChatResult, type LLMCreateFileStorageOptions, type LLMCreateFileStorageResult, type LLMInstanceOptions, type LLMModel, type LLMProviders, LLMPurposes, type LLMUploadFileOptions, type LLMUploadFileResult } from '../LLMService.typedefs';
|
|
2
|
+
import { type LLMAssistanceOptions, type LLMAssistanceResult, type LLMAssistanceMessage, type LLMCreateAssistantOptions, type LLMCreateAssistantResult, type LLMCreateChatOptions, type LLMCreateChatResult, type LLMCreateFileStorageOptions, type LLMCreateFileStorageResult, type LLMInstanceOptions, type LLMModel, type LLMProviders, LLMPurposes, type LLMUploadFileOptions, type LLMUploadFileResult, type LLMStructuredResult } from '../LLMService.typedefs';
|
|
3
3
|
import { LLMBaseService } from '../services';
|
|
4
|
+
import { type LLMSchemaInterface, type InferSchema } from '../utilities/schema';
|
|
4
5
|
export declare abstract class LLMAssistanceService<Provider extends LLMProviders> extends LLMBaseService<LLMPurposes.Assistance, Provider> {
|
|
5
6
|
constructor(provider: Provider, logger: Logger, options: LLMInstanceOptions[Provider]);
|
|
6
7
|
abstract uploadFile(options: LLMUploadFileOptions): Promise<LLMUploadFileResult>;
|
|
@@ -11,7 +12,13 @@ export declare abstract class LLMAssistanceService<Provider extends LLMProviders
|
|
|
11
12
|
abstract deleteAssistant(assistantId: string): Promise<void>;
|
|
12
13
|
abstract createChat(options: LLMCreateChatOptions<Provider>): Promise<LLMCreateChatResult>;
|
|
13
14
|
abstract deleteChat(chatId: string): Promise<void>;
|
|
15
|
+
abstract assistInChat<S extends LLMSchemaInterface>(options: LLMAssistanceOptions & {
|
|
16
|
+
schema: S;
|
|
17
|
+
}): Promise<LLMStructuredResult<InferSchema<S>>>;
|
|
14
18
|
abstract assistInChat(options: LLMAssistanceOptions): Promise<LLMAssistanceResult>;
|
|
19
|
+
abstract assistInChat(options: LLMAssistanceOptions & {
|
|
20
|
+
schema?: LLMSchemaInterface;
|
|
21
|
+
}): Promise<LLMAssistanceResult | LLMStructuredResult>;
|
|
15
22
|
abstract countTokens(messages: LLMAssistanceMessage[], model: LLMModel<Provider>): Promise<number>;
|
|
16
23
|
protected isImageFile(file: LLMUploadFileOptions): boolean;
|
|
17
24
|
protected isNotImageFile: (file: LLMUploadFileOptions) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMAssistanceService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMAssistanceService.abstract.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"LLMAssistanceService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMAssistanceService.abstract.ts"],"names":[],"mappings":";;;AACA,+DAiB+B;AAC/B,yCAA4C;AAC5C,iEAA8D;AAG9D,MAAsB,oBACpB,SAAQ,yBAGP;IACD,YACE,QAAkB,EAClB,MAAc,EACd,OAAqC;QAErC,KAAK,CACH,QAAQ,EACR,mBAAmB,EACnB,iCAAW,CAAC,UAAU,EACtB,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;IAmDS,WAAW,CAAC,IAA0B;QAC9C,OAAO,2CAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAES,cAAc,GAAG,CAAC,IAA0B,EAAW,EAAE;QACjE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAA;CACF;AA3ED,oDA2EC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { type Logger } from '@mate-academy/core';
|
|
2
|
-
import { LLMPurposes, type LLMProviders, type LLMSendMessageOptions, type LLMCompletionResult, type LLMInstanceOptions } from '../LLMService.typedefs';
|
|
2
|
+
import { LLMPurposes, type LLMProviders, type LLMSendMessageOptions, type LLMCompletionResult, type LLMInstanceOptions, type LLMStructuredResult } from '../LLMService.typedefs';
|
|
3
3
|
import { LLMBaseService } from '../services';
|
|
4
|
+
import { type LLMSchemaInterface, type InferSchema } from '../utilities/schema';
|
|
4
5
|
export declare abstract class LLMCompletionService<Provider extends LLMProviders> extends LLMBaseService<LLMPurposes.Completion, Provider> {
|
|
5
6
|
constructor(provider: Provider, logger: Logger, options: LLMInstanceOptions[Provider]);
|
|
7
|
+
abstract sendMessage<S extends LLMSchemaInterface>(options: LLMSendMessageOptions<Provider> & {
|
|
8
|
+
schema: S;
|
|
9
|
+
}): Promise<LLMStructuredResult<InferSchema<S>>>;
|
|
6
10
|
abstract sendMessage(options: LLMSendMessageOptions<Provider>): Promise<LLMCompletionResult>;
|
|
11
|
+
abstract sendMessage(options: LLMSendMessageOptions<Provider> & {
|
|
12
|
+
schema?: LLMSchemaInterface;
|
|
13
|
+
}): Promise<LLMCompletionResult | LLMStructuredResult>;
|
|
7
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LLMCompletionService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMCompletionService.abstract.ts"],"names":[],"mappings":";;;AACA,+
|
|
1
|
+
{"version":3,"file":"LLMCompletionService.abstract.js","sourceRoot":"","sources":["../../src/services/LLMCompletionService.abstract.ts"],"names":[],"mappings":";;;AACA,+DAO+B;AAC/B,yCAA4C;AAG5C,MAAsB,oBAGpB,SAAQ,yBAAgD;IACxD,YACE,QAAkB,EAClB,MAAc,EACd,OAAqC;QAErC,KAAK,CACH,QAAQ,EACR,mBAAmB,EACnB,iCAAW,CAAC,UAAU,EACtB,MAAM,EACN,OAAO,CACR,CAAC;IACJ,CAAC;CAaF;AA7BD,oDA6BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functional.utils.js","sourceRoot":"","sources":["../../src/utilities/functional.utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,IAAI,GAAG,CAAuB,GAAM,EAAE,IAAS,EAAc,EAAE,CAAC,CAC3E,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACvB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExC,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAgB,CAAC,CACrB,CAAC;AANW,QAAA,IAAI,QAMf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.LLMSchema = void 0;
|
|
18
|
+
__exportStar(require("./functional.utils"), exports);
|
|
19
|
+
__exportStar(require("./promptBuilder"), exports);
|
|
20
|
+
var schema_1 = require("./schema");
|
|
21
|
+
Object.defineProperty(exports, "LLMSchema", { enumerable: true, get: function () { return schema_1.LLMSchema; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,kDAAgC;AAChC,mCAAgF;AAAvE,mGAAA,SAAS,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promptBuilder.js","sourceRoot":"","sources":["../../src/utilities/promptBuilder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;AAoHH,oDAQC;AA1DD,SAAS,aAAa,CACpB,MAAc,EACd,SAA2D;IAE3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC;IACnD,+DAA+D;IAC/D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACtD,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAClE,EAAE,MAAM,CAAC,CACX,CAAC;IAEF,MAAM,0BAA0B,GAAG,CAAC,MAAc,EAAU,EAAE;QAC5D,qEAAqE;QACrE,OAAO,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;YACjF,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YAErC,IAAI,KAAK,EAAE,CAAC;gBACV,6EAA6E;gBAC7E,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBAC7D,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,MAAM,GAAG,MAAM,CAAC;IAEpB,mFAAmF;IACnF,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAE5C,6CAA6C;IAC7C,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAmB,QAAW;IAChE,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAO,CAAC;IAE7C,OAAO,CACL,GAAG,IAEqC,EAChC,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type LLMSchemaInterface, type InferSchema } from './LLMSchemaInterface';
|
|
2
|
+
/**
|
|
3
|
+
* Schema builder interface definition
|
|
4
|
+
* This defines the public API for schema building while allowing
|
|
5
|
+
* different implementations for the underlying validation library
|
|
6
|
+
*/
|
|
7
|
+
export interface SchemaBuilder {
|
|
8
|
+
string(): LLMSchemaInterface<string>;
|
|
9
|
+
number(): LLMSchemaInterface<number>;
|
|
10
|
+
boolean(): LLMSchemaInterface<boolean>;
|
|
11
|
+
object<T extends Record<string, LLMSchemaInterface>>(shape: T): LLMSchemaInterface<{
|
|
12
|
+
[K in keyof T]: InferSchema<T[K]>;
|
|
13
|
+
}>;
|
|
14
|
+
array<T>(itemSchema: LLMSchemaInterface<T>): LLMSchemaInterface<T[]>;
|
|
15
|
+
enum<T extends readonly [string, ...string[]]>(values: T): LLMSchemaInterface<T[number]>;
|
|
16
|
+
union<T extends readonly [LLMSchemaInterface, ...LLMSchemaInterface[]]>(schemas: T): LLMSchemaInterface<InferSchema<T[number]>>;
|
|
17
|
+
literal<T extends string | number | boolean>(value: T): LLMSchemaInterface<T>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Abstract base class for schema instances
|
|
21
|
+
* This class defines the instance methods for schema manipulation
|
|
22
|
+
*/
|
|
23
|
+
export declare abstract class AbstractSchemaBuilder {
|
|
24
|
+
/**
|
|
25
|
+
* Makes the schema optional
|
|
26
|
+
*/
|
|
27
|
+
abstract optional(): LLMSchemaInterface<any>;
|
|
28
|
+
/**
|
|
29
|
+
* Makes the schema nullable
|
|
30
|
+
*/
|
|
31
|
+
abstract nullable(): LLMSchemaInterface<any>;
|
|
32
|
+
/**
|
|
33
|
+
* Sets a default value
|
|
34
|
+
*/
|
|
35
|
+
abstract default(value: any): LLMSchemaInterface<any>;
|
|
36
|
+
/**
|
|
37
|
+
* Adds a description (for documentation)
|
|
38
|
+
*/
|
|
39
|
+
abstract describe(description: string): LLMSchemaInterface<any>;
|
|
40
|
+
abstract min(length: number): LLMSchemaInterface<any>;
|
|
41
|
+
abstract max(length: number): LLMSchemaInterface<any>;
|
|
42
|
+
abstract email(): LLMSchemaInterface<any>;
|
|
43
|
+
abstract url(): LLMSchemaInterface<any>;
|
|
44
|
+
abstract uuid(): LLMSchemaInterface<any>;
|
|
45
|
+
abstract int(): LLMSchemaInterface<any>;
|
|
46
|
+
abstract positive(): LLMSchemaInterface<any>;
|
|
47
|
+
abstract negative(): LLMSchemaInterface<any>;
|
|
48
|
+
abstract nonpositive(): LLMSchemaInterface<any>;
|
|
49
|
+
abstract nonnegative(): LLMSchemaInterface<any>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractSchemaBuilder = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Abstract base class for schema instances
|
|
6
|
+
* This class defines the instance methods for schema manipulation
|
|
7
|
+
*/
|
|
8
|
+
class AbstractSchemaBuilder {
|
|
9
|
+
}
|
|
10
|
+
exports.AbstractSchemaBuilder = AbstractSchemaBuilder;
|
|
11
|
+
//# sourceMappingURL=AbstractSchemaBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractSchemaBuilder.js","sourceRoot":"","sources":["../../../src/utilities/schema/AbstractSchemaBuilder.ts"],"names":[],"mappings":";;;AA8BA;;;GAGG;AACH,MAAsB,qBAAqB;CAqC1C;AArCD,sDAqCC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { type LLMSchemaInterface, type ParseResult, type InferSchema } from './LLMSchemaInterface';
|
|
2
|
+
/**
|
|
3
|
+
* Concrete implementation of schema builder using Zod as the underlying validator.
|
|
4
|
+
* This implementation can be replaced with another validator without changing the public API.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LLMSchema<T = any> implements LLMSchemaInterface<T> {
|
|
7
|
+
private readonly zodSchema;
|
|
8
|
+
private constructor();
|
|
9
|
+
/**
|
|
10
|
+
* Creates a string schema
|
|
11
|
+
*/
|
|
12
|
+
static string(): LLMSchemaInterface<string>;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a number schema
|
|
15
|
+
*/
|
|
16
|
+
static number(): LLMSchemaInterface<number>;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a boolean schema
|
|
19
|
+
*/
|
|
20
|
+
static boolean(): LLMSchemaInterface<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Creates an object schema
|
|
23
|
+
*/
|
|
24
|
+
static object<T extends Record<string, LLMSchemaInterface>>(shape: T): LLMSchemaInterface<{
|
|
25
|
+
[K in keyof T]: InferSchema<T[K]>;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Creates an array schema
|
|
29
|
+
*/
|
|
30
|
+
static array<T>(itemSchema: LLMSchemaInterface<T>): LLMSchemaInterface<T[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates an enum schema
|
|
33
|
+
*/
|
|
34
|
+
static enum<T extends readonly [string, ...string[]]>(values: T): LLMSchemaInterface<T[number]>;
|
|
35
|
+
/**
|
|
36
|
+
* Creates a union schema
|
|
37
|
+
*/
|
|
38
|
+
static union<T extends readonly [LLMSchemaInterface, ...LLMSchemaInterface[]]>(schemas: T): LLMSchemaInterface<InferSchema<T[number]>>;
|
|
39
|
+
/**
|
|
40
|
+
* Creates a literal schema
|
|
41
|
+
*/
|
|
42
|
+
static literal<T extends string | number | boolean>(value: T): LLMSchemaInterface<T>;
|
|
43
|
+
/**
|
|
44
|
+
* Makes the schema optional
|
|
45
|
+
*/
|
|
46
|
+
optional(): LLMSchemaInterface<T | undefined>;
|
|
47
|
+
/**
|
|
48
|
+
* Makes the schema nullable
|
|
49
|
+
*/
|
|
50
|
+
nullable(): LLMSchemaInterface<T | null>;
|
|
51
|
+
/**
|
|
52
|
+
* Sets a default value
|
|
53
|
+
*/
|
|
54
|
+
default(value: any): LLMSchemaInterface<T>;
|
|
55
|
+
/**
|
|
56
|
+
* Adds a description (for documentation)
|
|
57
|
+
*/
|
|
58
|
+
describe(description: string): LLMSchemaInterface<T>;
|
|
59
|
+
/**
|
|
60
|
+
* Sets minimum string length
|
|
61
|
+
*/
|
|
62
|
+
min(length: number): LLMSchemaInterface<T>;
|
|
63
|
+
/**
|
|
64
|
+
* Sets maximum string length
|
|
65
|
+
*/
|
|
66
|
+
max(length: number): LLMSchemaInterface<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Validates as email
|
|
69
|
+
*/
|
|
70
|
+
email(): LLMSchemaInterface<T>;
|
|
71
|
+
/**
|
|
72
|
+
* Validates as URL
|
|
73
|
+
*/
|
|
74
|
+
url(): LLMSchemaInterface<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Validates as UUID
|
|
77
|
+
*/
|
|
78
|
+
uuid(): LLMSchemaInterface<T>;
|
|
79
|
+
/**
|
|
80
|
+
* Validates as integer
|
|
81
|
+
*/
|
|
82
|
+
int(): LLMSchemaInterface<T>;
|
|
83
|
+
/**
|
|
84
|
+
* Validates as positive number
|
|
85
|
+
*/
|
|
86
|
+
positive(): LLMSchemaInterface<T>;
|
|
87
|
+
/**
|
|
88
|
+
* Validates as negative number
|
|
89
|
+
*/
|
|
90
|
+
negative(): LLMSchemaInterface<T>;
|
|
91
|
+
/**
|
|
92
|
+
* Validates as non-positive number
|
|
93
|
+
*/
|
|
94
|
+
nonpositive(): LLMSchemaInterface<T>;
|
|
95
|
+
/**
|
|
96
|
+
* Validates as non-negative number
|
|
97
|
+
*/
|
|
98
|
+
nonnegative(): LLMSchemaInterface<T>;
|
|
99
|
+
/**
|
|
100
|
+
* @internal
|
|
101
|
+
* Parses data using the schema
|
|
102
|
+
*/
|
|
103
|
+
_parse(data: unknown): ParseResult<T>;
|
|
104
|
+
/**
|
|
105
|
+
* @internal
|
|
106
|
+
* Converts schema to OpenAI JSON Schema format
|
|
107
|
+
*/
|
|
108
|
+
_toOpenAISchema(): any;
|
|
109
|
+
/**
|
|
110
|
+
* @internal
|
|
111
|
+
* Converts schema to Google Generative AI format
|
|
112
|
+
*/
|
|
113
|
+
_toGoogleSchema(): any;
|
|
114
|
+
/**
|
|
115
|
+
* @internal
|
|
116
|
+
* Converts JSON Schema to Google's Type-based format
|
|
117
|
+
*/
|
|
118
|
+
private _convertJsonSchemaToGoogleFormat;
|
|
119
|
+
}
|