@ai-orchestration/core 0.1.0 → 0.2.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 +129 -5
- package/dist/core/interfaces.d.ts +80 -1
- package/dist/core/interfaces.d.ts.map +1 -1
- package/dist/core/metrics.d.ts +161 -0
- package/dist/core/metrics.d.ts.map +1 -0
- package/dist/core/metrics.js +276 -0
- package/dist/core/metrics.js.map +1 -0
- package/dist/core/orchestrator.d.ts +45 -3
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +271 -11
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/types.d.ts +39 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/factory/index.d.ts.map +1 -1
- package/dist/factory/index.js +27 -7
- package/dist/factory/index.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/cerebras.d.ts.map +1 -1
- package/dist/providers/cerebras.js +22 -4
- package/dist/providers/cerebras.js.map +1 -1
- package/dist/providers/groq.d.ts.map +1 -1
- package/dist/providers/groq.js +22 -4
- package/dist/providers/groq.js.map +1 -1
- package/dist/providers/local.d.ts.map +1 -1
- package/dist/providers/local.js +9 -1
- package/dist/providers/local.js.map +1 -1
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +18 -2
- package/dist/providers/openrouter.js.map +1 -1
- package/docs/CHANGELOG.md +36 -0
- package/examples/README.md +205 -0
- package/examples/basic.ts +51 -17
- package/examples/chat-app/config.json +20 -1
- package/examples/chat-app/index.ts +41 -2
- package/examples/config.example.json +26 -4
- package/examples/language.ts +160 -0
- package/examples/metrics.ts +150 -0
- package/examples/strategies.ts +4 -2
- package/examples/test-local.ts +6 -6
- package/package.json +6 -2
|
@@ -1,12 +1,111 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core orchestrator that manages providers and strategies
|
|
3
3
|
*/
|
|
4
|
+
import { MetricsCollector } from './metrics.js';
|
|
5
|
+
/**
|
|
6
|
+
* Language instruction mapping
|
|
7
|
+
*/
|
|
8
|
+
const LANGUAGE_INSTRUCTIONS = {
|
|
9
|
+
// ISO 639-1 codes
|
|
10
|
+
es: 'Responde siempre en español.',
|
|
11
|
+
en: 'Respond always in English.',
|
|
12
|
+
fr: 'Répondez toujours en français.',
|
|
13
|
+
de: 'Antworte immer auf Deutsch.',
|
|
14
|
+
it: 'Rispondi sempre in italiano.',
|
|
15
|
+
pt: 'Responda sempre em português.',
|
|
16
|
+
ja: '常に日本語で回答してください。',
|
|
17
|
+
zh: '请始终用中文回答。',
|
|
18
|
+
ru: 'Всегда отвечайте на русском языке.',
|
|
19
|
+
ko: '항상 한국어로 답변하세요.',
|
|
20
|
+
ar: 'أجب دائماً بالعربية.',
|
|
21
|
+
hi: 'हमेशा हिंदी में उत्तर दें।',
|
|
22
|
+
nl: 'Antwoord altijd in het Nederlands.',
|
|
23
|
+
pl: 'Zawsze odpowiadaj po polsku.',
|
|
24
|
+
sv: 'Svara alltid på svenska.',
|
|
25
|
+
tr: 'Her zaman Türkçe cevap verin.',
|
|
26
|
+
// Full language names
|
|
27
|
+
spanish: 'Responde siempre en español.',
|
|
28
|
+
english: 'Respond always in English.',
|
|
29
|
+
french: 'Répondez toujours en français.',
|
|
30
|
+
german: 'Antworte immer auf Deutsch.',
|
|
31
|
+
italian: 'Rispondi sempre in italiano.',
|
|
32
|
+
portuguese: 'Responda sempre em português.',
|
|
33
|
+
japanese: '常に日本語で回答してください。',
|
|
34
|
+
chinese: '请始终用中文回答。',
|
|
35
|
+
russian: 'Всегда отвечайте на русском языке.',
|
|
36
|
+
korean: '항상 한국어로 답변하세요.',
|
|
37
|
+
arabic: 'أجب دائماً بالعربية.',
|
|
38
|
+
hindi: 'हमेशा हिंदी में उत्तर दें।',
|
|
39
|
+
dutch: 'Antwoord altijd in het Nederlands.',
|
|
40
|
+
polish: 'Zawsze odpowiadaj po polsku.',
|
|
41
|
+
swedish: 'Svara alltid på svenska.',
|
|
42
|
+
turkish: 'Her zaman Türkçe cevap verin.',
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Get language instruction for a given language code or name
|
|
46
|
+
*/
|
|
47
|
+
function getLanguageInstruction(language) {
|
|
48
|
+
const normalized = language.toLowerCase().trim();
|
|
49
|
+
return LANGUAGE_INSTRUCTIONS[normalized] || `Respond always in ${language}.`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Process messages to add language instruction if responseLanguage is specified
|
|
53
|
+
*/
|
|
54
|
+
function processMessagesWithLanguage(messages, options) {
|
|
55
|
+
if (!options?.responseLanguage) {
|
|
56
|
+
return messages;
|
|
57
|
+
}
|
|
58
|
+
// Check if there's already a system message
|
|
59
|
+
const hasSystemMessage = messages.some((msg) => msg.role === 'system');
|
|
60
|
+
// If there's already a system message, prepend the language instruction to it
|
|
61
|
+
if (hasSystemMessage) {
|
|
62
|
+
const languageInstruction = getLanguageInstruction(options.responseLanguage);
|
|
63
|
+
return messages.map((msg) => {
|
|
64
|
+
if (msg.role === 'system') {
|
|
65
|
+
return {
|
|
66
|
+
...msg,
|
|
67
|
+
content: `${languageInstruction}\n\n${msg.content}`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return msg;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
// Otherwise, add a new system message at the beginning
|
|
74
|
+
const languageInstruction = getLanguageInstruction(options.responseLanguage);
|
|
75
|
+
return [
|
|
76
|
+
{ role: 'system', content: languageInstruction },
|
|
77
|
+
...messages,
|
|
78
|
+
];
|
|
79
|
+
}
|
|
4
80
|
export class Orchestrator {
|
|
5
81
|
providers = new Map();
|
|
6
82
|
strategy;
|
|
7
83
|
healthCheckInterval;
|
|
8
|
-
|
|
84
|
+
maxRetries;
|
|
85
|
+
requestTimeout;
|
|
86
|
+
retryDelay;
|
|
87
|
+
circuitBreaker;
|
|
88
|
+
circuitBreakerStates = new Map();
|
|
89
|
+
healthCheckConfig;
|
|
90
|
+
providerFailureCounts = new Map();
|
|
91
|
+
metrics;
|
|
92
|
+
strategyName;
|
|
93
|
+
constructor(strategy, options) {
|
|
9
94
|
this.strategy = strategy;
|
|
95
|
+
this.maxRetries = options?.maxRetries ?? -1; // -1 means use providers.size
|
|
96
|
+
this.requestTimeout = options?.requestTimeout ?? 30000; // 30 seconds default
|
|
97
|
+
this.retryDelay = options?.retryDelay ?? 1000; // 1 second default
|
|
98
|
+
this.circuitBreaker = options?.circuitBreaker;
|
|
99
|
+
this.healthCheckConfig = options?.healthCheck;
|
|
100
|
+
this.strategyName = strategy.constructor.name.replace('Strategy', '').toLowerCase();
|
|
101
|
+
// Initialize metrics collector
|
|
102
|
+
this.metrics = new MetricsCollector();
|
|
103
|
+
if (options?.enableMetrics !== false) {
|
|
104
|
+
// Enable metrics by default
|
|
105
|
+
if (options?.onMetricsEvent) {
|
|
106
|
+
this.metrics.onEvent(options.onMetricsEvent);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
10
109
|
}
|
|
11
110
|
/**
|
|
12
111
|
* Register a provider
|
|
@@ -32,21 +131,101 @@ export class Orchestrator {
|
|
|
32
131
|
getAllProviders() {
|
|
33
132
|
return Array.from(this.providers.values());
|
|
34
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Check if a provider's circuit breaker is open
|
|
136
|
+
*/
|
|
137
|
+
isCircuitBreakerOpen(providerId) {
|
|
138
|
+
if (!this.circuitBreaker?.enabled) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
const state = this.circuitBreakerStates.get(providerId);
|
|
142
|
+
if (!state || !state.isOpen) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
// Check if reset timeout has passed
|
|
146
|
+
if (state.lastFailureTime) {
|
|
147
|
+
const resetTimeout = this.circuitBreaker.resetTimeout ?? 60000;
|
|
148
|
+
if (Date.now() - state.lastFailureTime >= resetTimeout) {
|
|
149
|
+
// Reset circuit breaker
|
|
150
|
+
this.circuitBreakerStates.set(providerId, {
|
|
151
|
+
failures: 0,
|
|
152
|
+
isOpen: false,
|
|
153
|
+
});
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Record a provider failure for circuit breaker
|
|
161
|
+
*/
|
|
162
|
+
recordFailure(providerId) {
|
|
163
|
+
if (!this.circuitBreaker?.enabled) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const state = this.circuitBreakerStates.get(providerId) || {
|
|
167
|
+
failures: 0,
|
|
168
|
+
isOpen: false,
|
|
169
|
+
};
|
|
170
|
+
state.failures++;
|
|
171
|
+
state.lastFailureTime = Date.now();
|
|
172
|
+
const threshold = this.circuitBreaker.failureThreshold ?? 5;
|
|
173
|
+
if (state.failures >= threshold) {
|
|
174
|
+
state.isOpen = true;
|
|
175
|
+
}
|
|
176
|
+
this.circuitBreakerStates.set(providerId, state);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Record a provider success (reset circuit breaker)
|
|
180
|
+
*/
|
|
181
|
+
recordSuccess(providerId) {
|
|
182
|
+
if (!this.circuitBreaker?.enabled) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
this.circuitBreakerStates.set(providerId, {
|
|
186
|
+
failures: 0,
|
|
187
|
+
isOpen: false,
|
|
188
|
+
});
|
|
189
|
+
this.providerFailureCounts.set(providerId, 0);
|
|
190
|
+
}
|
|
35
191
|
/**
|
|
36
192
|
* Get enabled providers (those that pass basic checks)
|
|
37
193
|
*/
|
|
38
194
|
async getAvailableProviders() {
|
|
39
195
|
const providers = this.getAllProviders();
|
|
40
196
|
const available = [];
|
|
197
|
+
const healthCheckTimeout = this.healthCheckConfig?.timeout ?? 5000; // 5 seconds default
|
|
41
198
|
for (const provider of providers) {
|
|
199
|
+
// Check circuit breaker
|
|
200
|
+
if (this.isCircuitBreakerOpen(provider.id)) {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
// Check consecutive failures
|
|
204
|
+
const consecutiveFailures = this.providerFailureCounts.get(provider.id) ?? 0;
|
|
205
|
+
const maxFailures = this.healthCheckConfig?.maxConsecutiveFailures ?? 3;
|
|
206
|
+
if (consecutiveFailures >= maxFailures) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
42
209
|
try {
|
|
43
|
-
|
|
210
|
+
// Use Promise.race to implement timeout
|
|
211
|
+
const healthPromise = provider.checkHealth();
|
|
212
|
+
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Health check timeout')), healthCheckTimeout));
|
|
213
|
+
const health = await Promise.race([healthPromise, timeoutPromise]);
|
|
214
|
+
// Record health check in metrics
|
|
215
|
+
this.metrics.recordHealthCheck(provider, health);
|
|
216
|
+
// Check latency threshold
|
|
217
|
+
const latencyThreshold = this.healthCheckConfig?.latencyThreshold ?? 10000; // 10 seconds default
|
|
44
218
|
if (health.healthy) {
|
|
45
|
-
|
|
219
|
+
if (!health.latency || health.latency <= latencyThreshold) {
|
|
220
|
+
available.push(provider);
|
|
221
|
+
this.providerFailureCounts.set(provider.id, 0);
|
|
222
|
+
}
|
|
46
223
|
}
|
|
47
224
|
}
|
|
48
225
|
catch {
|
|
49
226
|
// Skip unhealthy providers
|
|
227
|
+
const currentFailures = this.providerFailureCounts.get(provider.id) ?? 0;
|
|
228
|
+
this.providerFailureCounts.set(provider.id, currentFailures + 1);
|
|
50
229
|
}
|
|
51
230
|
}
|
|
52
231
|
return available;
|
|
@@ -55,24 +234,49 @@ export class Orchestrator {
|
|
|
55
234
|
* Select a provider using the configured strategy
|
|
56
235
|
*/
|
|
57
236
|
async selectProvider(context) {
|
|
237
|
+
const startTime = Date.now();
|
|
58
238
|
const available = await this.getAvailableProviders();
|
|
59
239
|
if (available.length === 0) {
|
|
60
240
|
return null;
|
|
61
241
|
}
|
|
62
|
-
|
|
242
|
+
const provider = await this.strategy.select(available, context);
|
|
243
|
+
if (provider) {
|
|
244
|
+
const selectionTime = Date.now() - startTime;
|
|
245
|
+
this.metrics.recordSelection(provider, this.strategyName, selectionTime);
|
|
246
|
+
}
|
|
247
|
+
return provider;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Calculate retry delay based on attempt number
|
|
251
|
+
*/
|
|
252
|
+
getRetryDelay(attempt) {
|
|
253
|
+
if (this.retryDelay === 'exponential') {
|
|
254
|
+
return Math.min(1000 * Math.pow(2, attempt), 30000); // Max 30 seconds
|
|
255
|
+
}
|
|
256
|
+
return this.retryDelay;
|
|
63
257
|
}
|
|
64
258
|
/**
|
|
65
259
|
* Perform a chat completion with automatic provider selection and fallback
|
|
66
260
|
*/
|
|
67
261
|
async chat(messages, options) {
|
|
262
|
+
// Process messages to add language instruction if responseLanguage is specified
|
|
263
|
+
const processedMessages = processMessagesWithLanguage(messages, options);
|
|
68
264
|
const context = {
|
|
69
|
-
messages,
|
|
265
|
+
messages: processedMessages,
|
|
70
266
|
options,
|
|
71
267
|
previousAttempts: [],
|
|
72
268
|
};
|
|
73
|
-
|
|
269
|
+
// Determine max attempts
|
|
270
|
+
const maxAttempts = this.maxRetries === -1 ? this.providers.size || 1 : this.maxRetries;
|
|
74
271
|
let lastError = null;
|
|
272
|
+
// Get timeout (request-level or global)
|
|
273
|
+
const timeout = options?.timeout ?? this.requestTimeout;
|
|
75
274
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
275
|
+
// Add delay between retries (except first attempt)
|
|
276
|
+
if (attempt > 0) {
|
|
277
|
+
const delay = this.getRetryDelay(attempt - 1);
|
|
278
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
279
|
+
}
|
|
76
280
|
const provider = await this.selectProvider(context);
|
|
77
281
|
if (!provider) {
|
|
78
282
|
throw new Error('No available providers. All providers are unhealthy or unavailable.');
|
|
@@ -82,14 +286,26 @@ export class Orchestrator {
|
|
|
82
286
|
continue;
|
|
83
287
|
}
|
|
84
288
|
try {
|
|
85
|
-
|
|
289
|
+
this.metrics.recordRequestStart(provider);
|
|
290
|
+
const requestStart = Date.now();
|
|
291
|
+
// Wrap provider call with timeout
|
|
292
|
+
const chatPromise = provider.chat(processedMessages, options);
|
|
293
|
+
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Request timeout')), timeout));
|
|
294
|
+
const response = await Promise.race([chatPromise, timeoutPromise]);
|
|
295
|
+
const latency = Date.now() - requestStart;
|
|
86
296
|
this.strategy.update?.(provider, true, { response });
|
|
297
|
+
this.recordSuccess(provider.id);
|
|
298
|
+
this.metrics.recordSuccess(provider, response, latency);
|
|
87
299
|
return response;
|
|
88
300
|
}
|
|
89
301
|
catch (error) {
|
|
302
|
+
const requestStart = Date.now();
|
|
303
|
+
const latency = Date.now() - requestStart;
|
|
90
304
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
91
305
|
context.previousAttempts?.push(provider.id);
|
|
92
306
|
this.strategy.update?.(provider, false, { error });
|
|
307
|
+
this.recordFailure(provider.id);
|
|
308
|
+
this.metrics.recordFailure(provider, lastError, latency);
|
|
93
309
|
}
|
|
94
310
|
}
|
|
95
311
|
throw lastError || new Error('Failed to get response from any provider');
|
|
@@ -98,8 +314,10 @@ export class Orchestrator {
|
|
|
98
314
|
* Perform a streaming chat completion with automatic provider selection
|
|
99
315
|
*/
|
|
100
316
|
async chatStream(messages, options) {
|
|
317
|
+
// Process messages to add language instruction if responseLanguage is specified
|
|
318
|
+
const processedMessages = processMessagesWithLanguage(messages, options);
|
|
101
319
|
const context = {
|
|
102
|
-
messages,
|
|
320
|
+
messages: processedMessages,
|
|
103
321
|
options: { ...options, stream: true },
|
|
104
322
|
previousAttempts: [],
|
|
105
323
|
};
|
|
@@ -107,13 +325,27 @@ export class Orchestrator {
|
|
|
107
325
|
if (!provider) {
|
|
108
326
|
throw new Error('No available providers. All providers are unhealthy or unavailable.');
|
|
109
327
|
}
|
|
328
|
+
// Get timeout (request-level or global)
|
|
329
|
+
const timeout = options?.timeout ?? this.requestTimeout;
|
|
110
330
|
try {
|
|
111
|
-
|
|
331
|
+
this.metrics.recordRequestStart(provider);
|
|
332
|
+
// Wrap provider call with timeout
|
|
333
|
+
const streamPromise = provider.chatStream(processedMessages, options);
|
|
334
|
+
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Request timeout')), timeout));
|
|
335
|
+
const stream = await Promise.race([streamPromise, timeoutPromise]);
|
|
336
|
+
// Note: For streaming, we can't track success until stream completes
|
|
337
|
+
// This is a limitation - we'd need to wrap the stream to track completion
|
|
338
|
+
// Latency tracking would require wrapping the stream reader
|
|
112
339
|
this.strategy.update?.(provider, true);
|
|
340
|
+
this.recordSuccess(provider.id);
|
|
113
341
|
return stream;
|
|
114
342
|
}
|
|
115
343
|
catch (error) {
|
|
344
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
116
345
|
this.strategy.update?.(provider, false, { error });
|
|
346
|
+
this.recordFailure(provider.id);
|
|
347
|
+
// For streaming errors, we can't measure latency accurately
|
|
348
|
+
this.metrics.recordFailure(provider, err);
|
|
117
349
|
throw error;
|
|
118
350
|
}
|
|
119
351
|
}
|
|
@@ -122,10 +354,26 @@ export class Orchestrator {
|
|
|
122
354
|
*/
|
|
123
355
|
startHealthChecks(intervalMs) {
|
|
124
356
|
this.stopHealthChecks();
|
|
357
|
+
const interval = intervalMs ?? this.healthCheckConfig?.interval ?? 60000; // Default 60 seconds
|
|
358
|
+
if (interval < 1000) {
|
|
359
|
+
console.warn('Health check interval is very low (< 1000ms). Consider using at least 1000ms.');
|
|
360
|
+
}
|
|
125
361
|
this.healthCheckInterval = setInterval(async () => {
|
|
126
362
|
const providers = this.getAllProviders();
|
|
127
|
-
|
|
128
|
-
|
|
363
|
+
const healthCheckTimeout = this.healthCheckConfig?.timeout ?? 5000; // 5 seconds default
|
|
364
|
+
await Promise.allSettled(providers.map(async (p) => {
|
|
365
|
+
try {
|
|
366
|
+
const healthPromise = p.checkHealth();
|
|
367
|
+
const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error('Health check timeout')), healthCheckTimeout));
|
|
368
|
+
await Promise.race([healthPromise, timeoutPromise]);
|
|
369
|
+
this.providerFailureCounts.set(p.id, 0);
|
|
370
|
+
}
|
|
371
|
+
catch {
|
|
372
|
+
const currentFailures = this.providerFailureCounts.get(p.id) ?? 0;
|
|
373
|
+
this.providerFailureCounts.set(p.id, currentFailures + 1);
|
|
374
|
+
}
|
|
375
|
+
}));
|
|
376
|
+
}, interval);
|
|
129
377
|
}
|
|
130
378
|
/**
|
|
131
379
|
* Stop periodic health checks
|
|
@@ -136,6 +384,18 @@ export class Orchestrator {
|
|
|
136
384
|
this.healthCheckInterval = undefined;
|
|
137
385
|
}
|
|
138
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Get metrics collector instance
|
|
389
|
+
*/
|
|
390
|
+
getMetrics() {
|
|
391
|
+
return this.metrics;
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Register a callback for metrics events
|
|
395
|
+
*/
|
|
396
|
+
onMetricsEvent(callback) {
|
|
397
|
+
return this.metrics.onEvent(callback);
|
|
398
|
+
}
|
|
139
399
|
/**
|
|
140
400
|
* Cleanup resources
|
|
141
401
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -18,6 +18,45 @@ export interface ChatOptions {
|
|
|
18
18
|
topK?: number;
|
|
19
19
|
stream?: boolean;
|
|
20
20
|
stopSequences?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Force the response language. When set, automatically prepends a system message
|
|
23
|
+
* instructing the model to respond in the specified language.
|
|
24
|
+
*
|
|
25
|
+
* Supported values: ISO 639-1 language codes (e.g., 'es', 'en', 'fr', 'de', 'it', 'pt', 'ja', 'zh', 'ru')
|
|
26
|
+
* or full language names (e.g., 'spanish', 'english', 'french').
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* await orchestrator.chat(messages, { responseLanguage: 'es' });
|
|
31
|
+
* await orchestrator.chat(messages, { responseLanguage: 'spanish' });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
responseLanguage?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Number between -2.0 and 2.0. Positive values penalize new tokens based on their
|
|
37
|
+
* existing frequency in the text so far, decreasing the model's likelihood to
|
|
38
|
+
* repeat the same line verbatim.
|
|
39
|
+
*/
|
|
40
|
+
frequencyPenalty?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Number between -2.0 and 2.0. Positive values penalize new tokens based on whether
|
|
43
|
+
* they appear in the text so far, increasing the model's likelihood to talk about
|
|
44
|
+
* new topics.
|
|
45
|
+
*/
|
|
46
|
+
presencePenalty?: number;
|
|
47
|
+
/**
|
|
48
|
+
* If specified, the system will make a best effort to sample deterministically,
|
|
49
|
+
* such that repeated requests with the same seed and parameters should return the same result.
|
|
50
|
+
*/
|
|
51
|
+
seed?: number | null;
|
|
52
|
+
/**
|
|
53
|
+
* Request timeout in milliseconds. If not specified, uses the orchestrator's default timeout.
|
|
54
|
+
*/
|
|
55
|
+
timeout?: number;
|
|
56
|
+
/**
|
|
57
|
+
* A unique identifier representing your end-user, which can help to monitor and detect abuse.
|
|
58
|
+
*/
|
|
59
|
+
user?: string;
|
|
21
60
|
[key: string]: unknown;
|
|
22
61
|
}
|
|
23
62
|
/**
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,EACV,kBAAkB,EAKnB,MAAM,uBAAuB,CAAC;AAyK/B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,EACV,kBAAkB,EAKnB,MAAM,uBAAuB,CAAC;AAyK/B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAuE3E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,kBAAkB,CAqB9B"}
|
package/dist/factory/index.js
CHANGED
|
@@ -133,8 +133,31 @@ export function createOrchestrator(config) {
|
|
|
133
133
|
}
|
|
134
134
|
// Create strategy
|
|
135
135
|
const strategy = createStrategy(config.strategy);
|
|
136
|
-
//
|
|
137
|
-
const
|
|
136
|
+
// Merge health check config (support deprecated fields for backward compatibility)
|
|
137
|
+
const healthCheckConfig = config.healthCheck
|
|
138
|
+
? {
|
|
139
|
+
...config.healthCheck,
|
|
140
|
+
enabled: config.healthCheck.enabled ??
|
|
141
|
+
config.enableHealthChecks ??
|
|
142
|
+
false,
|
|
143
|
+
interval: config.healthCheck.interval ?? config.healthCheckInterval,
|
|
144
|
+
}
|
|
145
|
+
: config.enableHealthChecks || config.healthCheckInterval
|
|
146
|
+
? {
|
|
147
|
+
enabled: config.enableHealthChecks ?? true,
|
|
148
|
+
interval: config.healthCheckInterval,
|
|
149
|
+
}
|
|
150
|
+
: undefined;
|
|
151
|
+
// Create orchestrator with new configuration options
|
|
152
|
+
const orchestrator = new Orchestrator(strategy, {
|
|
153
|
+
maxRetries: config.maxRetries,
|
|
154
|
+
requestTimeout: config.requestTimeout,
|
|
155
|
+
retryDelay: config.retryDelay,
|
|
156
|
+
circuitBreaker: config.circuitBreaker,
|
|
157
|
+
healthCheck: healthCheckConfig,
|
|
158
|
+
enableMetrics: config.enableMetrics,
|
|
159
|
+
onMetricsEvent: config.onMetricsEvent,
|
|
160
|
+
});
|
|
138
161
|
// Register providers
|
|
139
162
|
const registeredProviders = [];
|
|
140
163
|
for (const providerConfig of config.providers) {
|
|
@@ -153,11 +176,8 @@ export function createOrchestrator(config) {
|
|
|
153
176
|
throw new ConfigurationError('No providers could be created. Check your configuration.');
|
|
154
177
|
}
|
|
155
178
|
// Start health checks if enabled
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
console.warn('Health check interval is very low (< 1000ms). Consider using at least 1000ms.');
|
|
159
|
-
}
|
|
160
|
-
orchestrator.startHealthChecks(config.healthCheckInterval);
|
|
179
|
+
if (healthCheckConfig?.enabled) {
|
|
180
|
+
orchestrator.startHealthChecks(healthCheckConfig.interval);
|
|
161
181
|
}
|
|
162
182
|
return orchestrator;
|
|
163
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* Main entry point
|
|
4
4
|
*/
|
|
5
5
|
export { Orchestrator } from './core/orchestrator.js';
|
|
6
|
-
export
|
|
6
|
+
export { MetricsCollector } from './core/metrics.js';
|
|
7
|
+
export type { AIService, SelectionStrategy, ChatMessage, ChatOptions, ChatResponse, ChatChunk, ProviderHealth, ProviderMetadata, SelectionContext, ProviderConfig, StrategyConfig, OrchestratorConfig, CircuitBreakerConfig, HealthCheckConfig, } from './core/interfaces.js';
|
|
8
|
+
export type { ProviderMetrics, StrategyMetrics, OrchestratorMetrics, MetricsEvent, MetricsCallback, } from './core/metrics.js';
|
|
7
9
|
export type { ChatMessage as ChatMessageType, ChatOptions as ChatOptionsType, ChatResponse as ChatResponseType, ChatChunk as ChatChunkType, ProviderHealth as ProviderHealthType, ProviderMetadata as ProviderMetadataType, } from './core/types.js';
|
|
8
10
|
export { ProviderError, StrategyError, OrchestratorError, ConfigurationError, } from './core/errors.js';
|
|
9
11
|
export { RoundRobinStrategy, PriorityStrategy, FallbackStrategy, WeightedStrategy, HealthAwareStrategy, } from './strategies/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,WAAW,IAAI,eAAe,EAC9B,WAAW,IAAI,eAAe,EAC9B,YAAY,IAAI,gBAAgB,EAChC,SAAS,IAAI,aAAa,EAC1B,cAAc,IAAI,kBAAkB,EACpC,gBAAgB,IAAI,oBAAoB,GACzC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
// Core exports
|
|
6
6
|
export { Orchestrator } from './core/orchestrator.js';
|
|
7
|
+
export { MetricsCollector } from './core/metrics.js';
|
|
7
8
|
// Error exports
|
|
8
9
|
export { ProviderError, StrategyError, OrchestratorError, ConfigurationError, } from './core/errors.js';
|
|
9
10
|
// Strategy exports
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAe;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAkCrD,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAQ/B,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAS9B,kBAAkB;AAClB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cerebras.d.ts","sourceRoot":"","sources":["../../src/providers/cerebras.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,sBAAsB;IAgBpC,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAItC,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cerebras.d.ts","sourceRoot":"","sources":["../../src/providers/cerebras.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,sBAAsB;IAgBpC,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC;IAItC,IAAI,CACR,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC;IAqDlB,UAAU,CACd,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAyDrC,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO;IAO1D,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,YAAY;IAiCxD,SAAS,CAAC,WAAW,CACnB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,GAC9B,cAAc,CAAC,SAAS,CAAC;CAoE7B"}
|
|
@@ -40,8 +40,17 @@ export class CerebrasProvider extends BaseProvider {
|
|
|
40
40
|
requestBody.top_p = options.topP;
|
|
41
41
|
if (options?.stopSequences !== undefined)
|
|
42
42
|
requestBody.stop = options.stopSequences;
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
if (options?.frequencyPenalty !== undefined)
|
|
44
|
+
requestBody.frequency_penalty = options.frequencyPenalty;
|
|
45
|
+
if (options?.presencePenalty !== undefined)
|
|
46
|
+
requestBody.presence_penalty = options.presencePenalty;
|
|
47
|
+
if (options?.seed !== undefined && options.seed !== null)
|
|
48
|
+
requestBody.seed = options.seed;
|
|
49
|
+
if (options?.user !== undefined)
|
|
50
|
+
requestBody.user = options.user;
|
|
51
|
+
// Exclude framework-specific options that shouldn't be sent to the API
|
|
52
|
+
const { maxTokens, topP, stopSequences, responseLanguage, timeout, frequencyPenalty, presencePenalty, seed, user, ...restOptions } = options || {};
|
|
53
|
+
// Add any additional provider-specific options
|
|
45
54
|
Object.assign(requestBody, restOptions);
|
|
46
55
|
const response = await fetch(`${this.baseURL}/chat/completions`, {
|
|
47
56
|
method: 'POST',
|
|
@@ -75,8 +84,17 @@ export class CerebrasProvider extends BaseProvider {
|
|
|
75
84
|
requestBody.top_p = options.topP;
|
|
76
85
|
if (options?.stopSequences !== undefined)
|
|
77
86
|
requestBody.stop = options.stopSequences;
|
|
78
|
-
|
|
79
|
-
|
|
87
|
+
if (options?.frequencyPenalty !== undefined)
|
|
88
|
+
requestBody.frequency_penalty = options.frequencyPenalty;
|
|
89
|
+
if (options?.presencePenalty !== undefined)
|
|
90
|
+
requestBody.presence_penalty = options.presencePenalty;
|
|
91
|
+
if (options?.seed !== undefined && options.seed !== null)
|
|
92
|
+
requestBody.seed = options.seed;
|
|
93
|
+
if (options?.user !== undefined)
|
|
94
|
+
requestBody.user = options.user;
|
|
95
|
+
// Exclude framework-specific options that shouldn't be sent to the API
|
|
96
|
+
const { maxTokens, topP, stopSequences, responseLanguage, timeout, frequencyPenalty, presencePenalty, seed, user, ...restOptions } = options || {};
|
|
97
|
+
// Add any additional provider-specific options
|
|
80
98
|
Object.assign(requestBody, restOptions);
|
|
81
99
|
const response = await fetch(`${this.baseURL}/chat/completions`, {
|
|
82
100
|
method: 'POST',
|