Kit de investigación abierto del benchmark TrustLLM de ICML 2024 para evaluar la confiabilidad de los LLM en seis dimensiones mediante CLI y Python.
cvs-health/uqlm
Biblioteca de Python que evalúa la probabilidad de que las respuestas de LLM contengan alucinaciones mediante cuantificación de incertidumbre, con evaluadores black-box, white-box, de juez y de conjunto.
- Estrellas
- 1,217
- Forks
- 140
- Issues abiertos
- 26
- Último commit
- hace 25 días
¿Qué es?
UQLM es una biblioteca de Python para detectar alucinaciones en las respuestas de LLM. Cada evaluador devuelve una puntuación de confianza entre 0 y 1: cuanto más alta es, menos probable es que la respuesta contenga errores. Ayuda a los desarrolladores a detectar respuestas poco fiables sin necesitar una referencia correcta para cada prompt.
El paquete agrupa los evaluadores según cómo obtienen la señal. Los evaluadores black-box generan varias respuestas al mismo prompt y miden su coherencia, por lo que funcionan con cualquier LLM. Los evaluadores white-box consultan las probabilidades de los tokens en una sola generación; son más económicos, pero requieren acceso a esas probabilidades a través de la API. Los evaluadores LLM-as-a-judge piden a uno o más modelos que evalúen una respuesta, y los evaluadores de conjunto combinan varios evaluadores mediante un promedio ponderado.
UQLM también incluye un evaluador de textos largos que puntúa las afirmaciones individuales de una respuesta extensa y puede eliminar las que tengan poca confianza para refinar el resultado, además de una interfaz CodeGenUQ para predecir si el código generado es funcionalmente correcto sin ejecutarlo. Se accede a los modelos mediante las integraciones de LangChain Chat Model.
Funciones clave
- 01Los evaluadores black-box miden la coherencia entre varias respuestas generadas mediante muestreo.
- 02Los evaluadores white-box calculan la confianza a partir de las probabilidades de los tokens en una sola generación.
- 03Los evaluadores LLM-as-a-judge usan uno o más modelos como jueces, incluido un panel de jueces.
- 04Los evaluadores de conjunto combinan varios evaluadores con pesos predeterminados o ajustados.
- 05Los evaluadores de textos largos puntúan afirmaciones individuales y pueden refinar las respuestas eliminando las que tienen poca confianza.
- 06Compatible con cualquier LangChain Chat Model.
Casos de uso
- Detectar respuestas poco fiables de LLM en un flujo de producción de preguntas y respuestas.
- Filtrar o refinar documentos extensos generados mediante la eliminación de afirmaciones con poca confianza.
- Estimar si el código generado por un LLM probablemente sea funcionalmente correcto antes de ejecutarlo.
- Comparar métodos de detección de alucinaciones con tus propios prompts y respuestas etiquetadas.
Inicio rápido
- 1
Instala uqlm desde PyPI
pip install uqlm - 2
Crea un modelo de chat de LangChain (por ejemplo, ChatOpenAI) y envuélvelo con BlackBoxUQ para puntuar las respuestas
Antes de usarlo
- Los evaluadores de caja negra y los basados en un juez realizan varias llamadas al LLM, lo que aumenta notablemente el coste y la latencia.
- Los evaluadores de caja blanca necesitan acceder a las probabilidades de los tokens, algo que muchas API alojadas no exponen.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es uqlm?
- Biblioteca de Python que evalúa la probabilidad de que las respuestas de LLM contengan alucinaciones mediante cuantificación de incertidumbre, con evaluadores black-box, white-box, de juez y de conjunto. UQLM es una biblioteca de Python para detectar alucinaciones en las respuestas de LLM. Cada evaluador devuelve una puntuación de confianza entre 0 y 1: cuanto más alta es, menos probable es que la respuesta contenga errores. Ayuda a los desarrolladores a detectar respuestas poco fiables sin necesitar una referencia correcta para cada prompt.
- ¿uqlm es gratuito? ¿Qué licencia tiene?
- uqlm es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿uqlm sigue mantenido?
- Mantenimiento activo. El último commit de uqlm fue el 13 oct 2026.
- ¿Para qué puedo usar uqlm?
- Detectar respuestas poco fiables de LLM en un flujo de producción de preguntas y respuestas. Filtrar o refinar documentos extensos generados mediante la eliminación de afirmaciones con poca confianza. Estimar si el código generado por un LLM probablemente sea funcionalmente correcto antes de ejecutarlo. Comparar métodos de detección de alucinaciones con tus propios prompts y respuestas etiquetadas.
- ¿Cómo se instala uqlm?
- Instala uqlm desde PyPI: pip install uqlm Crea un modelo de chat de LangChain (por ejemplo, ChatOpenAI) y envuélvelo con BlackBoxUQ para puntuar las respuestas
- ¿Dónde consigo uqlm?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/cvs-health/uqlm
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una CLI en Python que audita agentes de IA con 61 inspecciones para comprobar si respetan su rol, resisten la manipulación y evitan inventar información.
Framework open source de Python para hacer red teaming a sistemas LLM y agentes de IA, simular ataques, detectar vulnerabilidades y aplicar guardrails en producción.
Un guardián de Python que solo usa numpy y detecta errores de decodificación de LLM, como bucles de repetición y cambios de idioma durante la generación, para detenerlos antes de mostrar tokens incorrectos.
Detector de alucinaciones de código abierto que identifica fragmentos sin respaldo en respuestas de IA basadas en RAG, agentes de código y herramientas.
Biblioteca de Python para ejecutar evaluaciones y guardrails en agentes con modelos de decisión Jev alojados o locales, enviando todas las comprobaciones de un trace en una sola solicitud.