Description
NeMo Guardrails est une boîte à outils open-source conçue pour permettre aux développeurs d'ajouter des garde-fous programmables à leurs applications conversationnelles basées sur des grands modèles de langage (LLM). Ces garde-fous, souvent appelés "rails", fournissent une méthode structurée pour contrôler les sorties des LLM, en garantissant qu'elles correspondent aux règles et objectifs prédéfinis. Cela inclut la prévention des discussions sur des sujets sensibles, l'application de modèles de réponse spécifiques, le guidage des conversations le long de chemins prédéfinis et l'extraction de données structurées.
La boîte à outils agit comme une couche intermédiaire entre le code d'une application et le LLM, offrant des avantages clés tels que la création d'applications LLM fiables, sûres et sécurisées. Les développeurs peuvent définir des rails pour guider et sécuriser les conversations, dictant le comportement du LLM sur des sujets spécifiques et empêchant l'engagement avec des sujets indésirables. Ceci est crucial pour maintenir l'intégrité de la marque et la sécurité des utilisateurs.
NeMo Guardrails facilite également les connexions sécurisées entre les LLM et les services ou outils externes. Il permet un dialogue contrôlable en orientant les LLM pour suivre des flux conversationnels conçus, en respectant les meilleures pratiques en matière de conception de conversation et en appliquant des procédures opérationnelles standard telles que l'authentification ou les protocoles de support. De plus, la bibliothèque offre une protection robuste contre les vulnérabilités courantes des LLM, y compris les jailbreaks et les injections de prompt, en fournissant divers mécanismes de défense.
La bibliothèque prend en charge plusieurs LLM, y compris la série GPT d'OpenAI, LLaMa-2, Falcon, Vicuna et Mosaic. Elle offre cinq types principaux de garde-fous : les rails d'entrée (Input rails) pour le traitement des entrées utilisateur, les rails de dialogue (Dialog rails) pour influencer le prompting du LLM et le flux de conversation, les rails de récupération (Retrieval rails) pour la gestion des données récupérées dans les scénarios RAG, les rails d'exécution (Execution rails) pour la gestion des actions personnalisées, et les rails de sortie (Output rails) pour la modération du contenu généré par le LLM. Les configurations peuvent être gérées via une API Python ou un serveur de garde-fous dédié, avec une prise en charge des opérations synchrones et asynchrones. La boîte à outils introduit Colang, un langage de modélisation similaire à Python pour définir ces garde-fous, offrant flexibilité et contrôle sur les flux de dialogue.
Fonctionnalités principales de NeMo Guardrails
Garde-fous programmables pour les systèmes conversationnels LLM
Améliore la sécurité, la sûreté et le contrôle des sorties LLM
Empêche les LLM de discuter de sujets indésirables
Guide les LLM pour suivre des chemins conversationnels prédéfinis
Facilite l'intégration sécurisée avec des outils et services externes
Protège contre les vulnérabilités des LLM comme les jailbreaks et les injections de prompt
Prend en charge plusieurs LLM, y compris OpenAI, LLaMa-2, Falcon et Vicuna
Offre cinq types de garde-fous : Entrée, Dialogue, Récupération, Exécution et Sortie
Configurable via une API Python ou un serveur de garde-fous dédié
Introduit Colang pour définir les flux de dialogue et les garde-fous
Prend en charge les opérations synchrones et asynchrones
CLI intégrée pour la gestion du serveur et les sessions de chat interactives
Intégration avec LangChain pour le développement amélioré d'applications LLM
Premiers pas avec NeMo Guardrails
Cloner le dépôt : Obtenez le code NeMo Guardrails depuis GitHub.
Installer les dépendances : Configurez votre environnement Python et installez les paquets nécessaires.
Configurer les garde-fous : Définissez vos garde-fous souhaités en utilisant Colang et des fichiers de configuration.
Intégrer avec le LLM : Chargez les configurations et créez une instance LLMRails dans votre application.
Exécuter des appels : Utilisez les méthodes `generate` ou `generate_async` pour interagir avec le LLM via les garde-fous.
Déployer le serveur (facultatif) : Démarrez un serveur de garde-fous pour un accès API à vos configurations.
Cas d'utilisation de NeMo Guardrails
- Chatbots Sécurisés
- Extraction de Données
- Modération de Contenu
- Systèmes RAG
- Sécurité des Points d'Accès LLM
- Flux de Dialogue Contrôlés
- Protection contre les Vulnérabilités





