MiniSearch / server /config /modelConfig.ts
github-actions[bot]
Sync from https://github.com/felladrin/MiniSearch
00443a6
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,
};
}