NeMo Guardrails, el último kit de herramientas de seguridad LLM de código abierto |  de Wenqi Glantz |  febrero de 2024

Explorando los casos de uso prácticos de NeMo Guardrails

Imagen generada por DALL-E 3 por el autor

Sobre el tema de la seguridad de LLM, hemos explorado OWASP top 10 para aplicaciones LLM, Guardia de llamasy Lighthouz AI hasta ahora desde diferentes ángulos. Hoy vamos a explorar Barandillas NeMoun conjunto de herramientas de código abierto desarrollado por NVIDIA para agregar fácilmente barreras de seguridad programables a sistemas conversacionales basados ​​en LLM.

¿En qué se diferencia NeMo Guardrails de Llama Guard, en el que nos sumergimos en un artículo anterior? Pongámoslos uno al lado del otro y comparemos sus características.

Tabla por autor

Como podemos ver, Llama Guard y NeMo Guardrails son fundamentalmente diferentes:

  • Llama Guard es un modelo de lenguaje grande, perfeccionado a partir de Llama 2, y un modelo de protección de entrada-salida. Viene con seis categorías inseguras, y los desarrolladores pueden personalizar esas categorías agregando categorías inseguras adicionales para adaptarlas a sus casos de uso para la moderación de entrada y salida.
  • NeMo Guardrails es un conjunto de herramientas de seguridad de LLM mucho más completo, que ofrece un conjunto más amplio de barreras de seguridad programables para controlar y guiar las entradas y salidas de LLM, incluida la moderación de contenido, orientación de temas, que dirige las conversaciones hacia temas específicos, prevención de alucinaciones, que reduce la generación de hechos. contenido incorrecto o sin sentido, y configuración de respuestas.
Fuente de imagen: NeMo Guardrails GitHub Repo Léame

Profundicemos en los detalles de implementación sobre cómo agregar NeMo Guardrails a una tubería RAG construida con RecursiveRetrieverSmallToBigPack, un paquete de recuperación avanzado de LlamaIndex. ¿Cómo funciona este paquete? Toma nuestro documento y lo descompone, comenzando con las secciones más grandes (fragmentos principales) y cortándolas en partes más pequeñas (fragmentos secundarios). Vincula cada fragmento secundario con su padre…