adjust progress timing: keep Hermes as default, speed up for Groq only

This commit is contained in:
Russell Ballestrini 2025-07-12 11:26:05 -04:00
parent 34e5e25bfb
commit 3bd518ff20

View file

@ -250,16 +250,22 @@ export function restoreSpecialContent(translatedText, preservations) {
return restoredText;
}
// Calculate processing time estimate based on real vLLM metrics
// Calculate processing time estimate based on real Hermes/vLLM metrics (our default)
export function estimateProcessingTime(tokenCount) {
// Real vLLM performance metrics from production:
// - Prompt processing: ~3,144 tokens/second
// - Generation: ~121 tokens/second
// - Translation typically generates 1-2x input tokens
// Default: Real vLLM Hermes performance metrics from production
let promptTokensPerSec = 3144; // Hermes prompt processing speed
let generationTokensPerSec = 121; // Hermes generation speed
// Adjust for faster Groq endpoints
const endpoint = getSelectedModelEndpoint();
if (endpoint.includes('groq.com')) {
promptTokensPerSec = 15000; // Groq processes prompts very quickly
generationTokensPerSec = 800; // Groq generation is also much faster
}
const promptProcessingTime = tokenCount / 3144; // seconds for input processing
const promptProcessingTime = tokenCount / promptTokensPerSec; // seconds for input processing
const estimatedOutputTokens = tokenCount * 1.2; // Translation usually 1.2x input length
const generationTime = estimatedOutputTokens / 121; // seconds for generation
const generationTime = estimatedOutputTokens / generationTokensPerSec; // seconds for generation
// Add some buffer for network latency and processing overhead
const totalTime = (promptProcessingTime + generationTime) * 1.3;