Spaces:
Running
Running
| 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, | |
| }; | |
| } | |