Expose confidence estimation / token probabilities (currently always 1.0)
Los mantenedores suelen responder en 5 días
@pskrunner14 ya está trabajando en esto.
Desde el 30/9/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start at the /v1/audio/transcriptions endpoint and trace how its confidence response field is produced, then inspect the decoder output that currently yields per-token probabilities. Use NeMo's documented entropy-based confidence_cfg as a reference for the intended behavior. Done means the API returns useful varying confidence values rather than always returning 1.0, including for incorrect, silent, or garbled audio.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description:
I'm running nemotron-3.5-asr-streaming-0.6b via nemo-speech.cpp's /v1/audio/transcriptions endpoint. The confidence field in the response is always exactly 1.0, regardless of whether the transcription is actually correct.
Concrete example: audio saying "chi è Alfonso?" (Italian) is transcribed as "che è alfonso" (wrong word) — still returns confidence: 1.0. It also returns 1.0 on pure silence and on clearly hallucinated/garbled output.
I switched to running the same model through the full NeMo Python toolkit directly (not this C++ port), enabling decoding_cfg.confidence_cfg with the entropy-based method (tsallis entropy, entropy_norm: exp) documented in NeMo's own docs. That gives real, varying per-word confidence values (e.g., 0.02–0.9 depending on the utterance), which is genuinely useful for rejecting hallucinated output — something a flat 1.0 can't do.
Is there a plan to expose this confidence estimation in nemo-speech.cpp's API? The underlying decoder already computes per-token probabilities to pick output tokens, so it seems like this would be a matter of exposing an existing internal computation rather than a fundamental limitation — similar to a related open request on transcribe.cpp (#164) asking for per-token logprobs on Parakeet TDT/Qwen3-ASR.
Happy to share the exact confidence_cfg I used if useful!
- Lenguaje dominante
- C++
- Estrellas
- 150
- Forks
- 32
- Merge medio
- 8 d 4 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/NeMo-Speech.cpp
-
enhancement
NVIDIA/NeMo-Speech.cpp#56 · 3 comentarios ·
Los mantenedores suelen responder en 5 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
NVIDIA/NeMo-Speech.cpp#49 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 5 días
-
Streaming RNNT wedges after sustained zero-PCM silence; Vulkan aborts with GGML_ASSERT(ne3 == ne13)Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
NVIDIA/NeMo-Speech.cpp#48 ·
Los mantenedores suelen responder en 5 días
-
Token-silence EOU misfires mid-sentence, hard reset corrupts transcriptPosiblemente ocupada @ryanleary la tomó hace 25 días. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
NVIDIA/NeMo-Speech.cpp#40 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
NVIDIA/NeMo-Speech.cpp#34 ·
Los mantenedores suelen responder en 5 días
Todos los issues de NVIDIA/NeMo-Speech.cpp
Issues similares
-
Make Catch2 optional when `RDK_BUILD_CPP_TESTS=OFF`Posiblemente ocupada @pechersky la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
dice-group/dice-hash#111 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
google/libaddressinput#255 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
MerginMaps/mobile#4741 ·
Los mantenedores suelen responder en 1 día