Lee el stream de Ollama
Ollama responde línea a línea en JSON. Junta el texto y calcula los tokens por segundo con sus propios contadores.
Cuando llamas a /api/generate con streaming, Ollama devuelve una línea JSON por fragmento: {"response":"Hol","done":false}. La última línea trae done: true y los contadores eval_count (tokens generados) y eval_duration (nanosegundos).
Escribe parseOllamaStream(text) que reciba todo el texto del stream y devuelva { text, tokensPerSecond }. Ignora las líneas vacías. Redondea los tokens por segundo a un decimal.
La variable SAMPLE ya contiene un stream real de ejemplo.
Un reto más usa LIVE: la salida real de tu propio Ollama si activas «Mi Ollama», o una muestra distinta si no. Ese reto mira la estructura, no las palabras exactas.
Retos 0/4
- Junta todo el texto de las líneas
- Calcula 41,3 tokens por segundo (124 tokens en 3 s)
- No falla con líneas vacías ni con un stream sin final
- Funciona con la salida real de tu modelo (Mi Ollama) o con otra muestra
function parseOllamaStream(text) {
// 1. separa en líneas y salta las vacías
// 2. JSON.parse de cada línea y une los campos `response`
// 3. lee eval_count / eval_duration de la última línea (done: true)
return { text: '', tokensPerSecond: 0 };
}
console.log(parseOllamaStream(SAMPLE));Para profundizar: la guía relacionada →
¿Esto en producción, con tus datos? Hablemos 15 minutos →