Descripción
NeMo Guardrails es un kit de herramientas de código abierto diseñado para capacitar a los desarrolladores en la adición de guardarraíles programables a sus aplicaciones conversacionales basadas en Modelos de Lenguaje Grandes (LLM). Estos guardarraíles, a menudo denominados "rails", proporcionan un método estructurado para controlar las salidas de los LLM, asegurando que se alineen con reglas y objetivos predefinidos. Esto incluye prevenir discusiones sobre temas sensibles, aplicar patrones de respuesta específicos, guiar conversaciones por caminos predefinidos y extraer datos estructurados.
El kit de herramientas actúa como una capa intermedia entre el código de una aplicación y el LLM, ofreciendo beneficios clave como la creación de aplicaciones LLM confiables, seguras y protegidas. Los desarrolladores pueden definir rails para guiar y salvaguardar conversaciones, dictando el comportamiento del LLM en temas específicos y previniendo la interacción con temas no deseados. Esto es crucial para mantener la integridad de la marca y la seguridad del usuario.
NeMo Guardrails también facilita conexiones seguras entre LLMs y servicios o herramientas externas. Permite un diálogo controlable dirigiendo a los LLMs a seguir flujos conversacionales diseñados, adhiriéndose a las mejores prácticas en diseño de conversaciones y aplicando procedimientos operativos estándar como protocolos de autenticación o soporte. Además, la biblioteca ofrece una protección robusta contra vulnerabilidades comunes de LLM, incluyendo jailbreaks e inyecciones de prompts, al proporcionar varios mecanismos de defensa.
La biblioteca soporta múltiples LLMs, incluyendo la serie GPT de OpenAI, LLaMa-2, Falcon, Vicuna y Mosaic. Ofrece cinco tipos principales de guardarraíles: Input rails para procesar la entrada del usuario, Dialog rails para influir en el prompting del LLM y el flujo de conversación, Retrieval rails para gestionar datos recuperados en escenarios RAG, Execution rails para gestionar acciones personalizadas y Output rails para moderar el contenido generado por el LLM. Las configuraciones se pueden gestionar a través de una API de Python o un servidor de guardarraíles dedicado, con soporte para operaciones síncronas y asíncronas. El kit de herramientas introduce Colang, un lenguaje de modelado similar a Python para definir estos guardarraíles, ofreciendo flexibilidad y control sobre los flujos de diálogo.
Características principales de NeMo Guardrails
Guardarraíles programables para sistemas conversacionales LLM
Mejora la seguridad, protección y control de las salidas de los LLM
Evita que los LLM discutan temas no deseados
Guía a los LLM para seguir rutas conversacionales predefinidas
Facilita la integración segura con herramientas y servicios externos
Protege contra vulnerabilidades de LLM como jailbreaks e inyecciones de prompts
Soporta múltiples LLMs incluyendo OpenAI, LLaMa-2, Falcon y Vicuna
Ofrece cinco tipos de guardarraíles: Entrada, Diálogo, Recuperación, Ejecución y Salida
Configurable a través de API de Python o un servidor de guardarraíles dedicado
Introduce Colang para definir flujos de diálogo y guardarraíles
Soporta operaciones síncronas y asíncronas
CLI incorporado para gestión de servidores y sesiones de chat interactivas
Integración con LangChain para un desarrollo mejorado de aplicaciones LLM
Primeros pasos con NeMo Guardrails
Clonar el repositorio: Obtenga el código de NeMo Guardrails desde GitHub.
Instalar dependencias: Configure su entorno Python e instale los paquetes necesarios.
Configurar guardarraíles: Defina sus rails deseados usando Colang y archivos de configuración.
Integrar con LLM: Cargue configuraciones y cree una instancia de LLMRails en su aplicación.
Ejecutar llamadas: Utilice los métodos `generate` o `generate_async` para interactuar con el LLM a través de guardarraíles.
Desplegar servidor (opcional): Inicie un servidor de guardarraíles para acceso API a sus configuraciones.
Casos de uso de NeMo Guardrails
- Chatbots Seguros
- Extracción de Datos
- Moderación de Contenido
- Sistemas RAG
- Seguridad de Endpoints LLM
- Flujos de Diálogo Controlados
- Protección contra Vulnerabilidades





