Spaces:
Running
Running
File size: 2,152 Bytes
00443a6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
export interface ModelConfig {
maxRetries: number;
baseBackoffMs: number;
maxBackoffMs: number;
requestTimeoutMs: number;
maxConcurrentRequests: number;
defaultMaxTokens: number;
temperature: number;
topP: number;
frequencyPenalty: number;
presencePenalty: number;
}
export const modelConfig: ModelConfig = {
maxRetries: 5,
baseBackoffMs: 100,
maxBackoffMs: 5000,
requestTimeoutMs: 30000,
maxConcurrentRequests: 10,
defaultMaxTokens: 2048,
temperature: 0.7,
topP: 0.9,
frequencyPenalty: 0.0,
presencePenalty: 0.0,
};
/**
* Get model configuration with environment variable overrides
*/
export function getModelConfig(): ModelConfig {
return {
...modelConfig,
maxRetries: process.env.MODEL_MAX_RETRIES
? parseInt(process.env.MODEL_MAX_RETRIES, 10)
: modelConfig.maxRetries,
baseBackoffMs: process.env.MODEL_BASE_BACKOFF_MS
? parseInt(process.env.MODEL_BASE_BACKOFF_MS, 10)
: modelConfig.baseBackoffMs,
maxBackoffMs: process.env.MODEL_MAX_BACKOFF_MS
? parseInt(process.env.MODEL_MAX_BACKOFF_MS, 10)
: modelConfig.maxBackoffMs,
requestTimeoutMs: process.env.MODEL_REQUEST_TIMEOUT_MS
? parseInt(process.env.MODEL_REQUEST_TIMEOUT_MS, 10)
: modelConfig.requestTimeoutMs,
maxConcurrentRequests: process.env.MODEL_MAX_CONCURRENT_REQUESTS
? parseInt(process.env.MODEL_MAX_CONCURRENT_REQUESTS, 10)
: modelConfig.maxConcurrentRequests,
defaultMaxTokens: process.env.MODEL_DEFAULT_MAX_TOKENS
? parseInt(process.env.MODEL_DEFAULT_MAX_TOKENS, 10)
: modelConfig.defaultMaxTokens,
temperature: process.env.MODEL_TEMPERATURE
? parseFloat(process.env.MODEL_TEMPERATURE)
: modelConfig.temperature,
topP: process.env.MODEL_TOP_P
? parseFloat(process.env.MODEL_TOP_P)
: modelConfig.topP,
frequencyPenalty: process.env.MODEL_FREQUENCY_PENALTY
? parseFloat(process.env.MODEL_FREQUENCY_PENALTY)
: modelConfig.frequencyPenalty,
presencePenalty: process.env.MODEL_PRESENCE_PENALTY
? parseFloat(process.env.MODEL_PRESENCE_PENALTY)
: modelConfig.presencePenalty,
};
}
|