Añadí una capa de verificación a mi RAG local para detectar alucinaciones

Construí un asistente de investigación local usando Ollama. Funciona con mis propios artículos. Nada sale de mi máquina.

Quería detener las alucinaciones. Una herramienta que cita un número incorrecto mientras suena segura es peligrosa.

Añadí una capa de verificación. Funciona en tres pasos:

  • Dividir la respuesta en pequeñas afirmaciones.
  • Usar un LLM para verificar cada afirmación con la fuente.
  • Marcar las afirmaciones que la fuente no respalda.

Los resultados me enseñaron una lección difícil. Me equivoqué sobre mis propios datos dos veces.

Primero, el modelo dio un número real pero usó el contexto incorrecto. Citó un AUROC de 0.804 para un conjunto de prueba que no existe. El número era real. El contexto era una mentira. Mi verificador lo aprobó porque los dígitos coincidían.

Segundo, el modelo tomó un número de una parte diferente del artículo. Atribuyó un valor al experimento equivocado.

Esto es lo que aprendí al probar esto:

  1. La verificación solo detecta valores ausentes. Si un número no está en el texto en absoluto, el verificador lo detecta. Si el número es real pero está vinculado al hecho incorrecto, a menudo falla.

  2. Los jueces que usan el mismo modelo tienen puntos ciegos. Si el mismo modelo escribe la respuesta y también la juzga, aprueba automáticamente sus propios errores. Usar un modelo diferente para juzgar ayuda a detectar números mal atribuidos.

  3. Una marca no siempre significa una mentira. Una marca puede significar tres cosas:

  • Una alucinación real.
  • Un error de recuperación donde no se encontró la fuente.
  • Un hecho verdadero que no estaba en el texto recuperado. Cuando veas una marca, intenta volver a recuperar los datos en lugar de simplemente eliminar la afirmación.
  1. Necesitas una verdad fundamental (ground truth). No puedes medir las alucinaciones sin conocer las respuestas reales. Casi publico dos hallazgos falsos sobre mi propio trabajo. Una simple búsqueda en mis archivos corrigió ambos errores.

Consejos prácticos para tu RAG:

  • Usa un modelo diferente para juzgar que el que responde.
  • Enfócate en una mejor recuperación. La mayoría de las "alucinaciones" son solo fallos de recuperación.
  • Trata las marcas como una señal para investigar más a fondo, no solo como un signo de error.

Fuente: https://dev.to/sysoft/i-added-a-verify-layer-to-my-local-rag-to-catch-hallucinations-it-caught-me-being-wrong-twice-1jm

Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi