Beschreibung
NeMo Guardrails ist ein Open-Source-Toolkit, das Entwickler dabei unterstützt, programmierbare Guardrails in ihre auf Large Language Models (LLMs) basierenden Konversationsanwendungen zu integrieren. Diese Guardrails, oft als „Rails“ bezeichnet, bieten eine strukturierte Methode zur Steuerung von LLM-Ausgaben und stellen sicher, dass diese vordefinierten Regeln und Zielen entsprechen. Dies umfasst die Verhinderung von Diskussionen über sensible Themen, die Durchsetzung spezifischer Antwortmuster, die Lenkung von Gesprächen auf vordefinierten Pfaden und die Extraktion strukturierter Daten.
Das Toolkit fungiert als Vermittlungsschicht zwischen dem Code einer Anwendung und dem LLM und bietet wichtige Vorteile wie den Aufbau vertrauenswürdiger, sicherer und geschützter LLM-Anwendungen. Entwickler können Rails definieren, um Konversationen zu steuern und abzusichern, das Verhalten des LLM zu bestimmten Themen vorzugeben und die Interaktion mit unerwünschten Themen zu verhindern. Dies ist entscheidend für die Aufrechterhaltung der Markenintegrität und der Benutzersicherheit.
NeMo Guardrails ermöglicht auch sichere Verbindungen zwischen LLMs und externen Diensten oder Tools. Es ermöglicht einen kontrollierbaren Dialog, indem es LLMs dazu anleitet, vordefinierten Konversationsabläufen zu folgen, Best Practices im Konversationsdesign einzuhalten und Standardbetriebsverfahren wie Authentifizierungs- oder Supportprotokolle durchzusetzen. Darüber hinaus bietet die Bibliothek robusten Schutz vor gängigen LLM-Schwachstellen, einschließlich Jailbreaks und Prompt-Injections, durch verschiedene Abwehrmechanismen.
Die Bibliothek unterstützt mehrere LLMs, darunter die GPT-Serie von OpenAI, LLaMa-2, Falcon, Vicuna und Mosaic. Sie bietet fünf Haupttypen von Guardrails: Input-Rails zur Verarbeitung von Benutzereingaben, Dialog-Rails zur Beeinflussung des LLM-Promptings und des Gesprächsflusses, Retrieval-Rails zur Verwaltung von in RAG-Szenarien abgerufenen Daten, Execution-Rails zur Verwaltung benutzerdefinierter Aktionen und Output-Rails zur Moderation von LLM-generierten Inhalten. Konfigurationen können über eine Python-API oder einen dedizierten Guardrails-Server verwaltet werden, mit Unterstützung für synchrone und asynchrone Operationen. Das Toolkit führt Colang ein, eine Python-ähnliche Modellierungssprache zur Definition dieser Guardrails, die Flexibilität und Kontrolle über Dialogflüsse bietet.
NeMo Guardrails's Kernfunktionen
Programmierbare Guardrails für LLM-Konversationssysteme
Verbessert Sicherheit, Schutz und Kontrolle von LLM-Ausgaben
Verhindert, dass LLMs unerwünschte Themen diskutieren
Leitet LLMs an, vordefinierten Konversationspfaden zu folgen
Ermöglicht sichere Integration mit externen Tools und Diensten
Schützt vor LLM-Schwachstellen wie Jailbreaks und Prompt-Injections
Unterstützt mehrere LLMs, darunter OpenAI, LLaMa-2, Falcon und Vicuna
Bietet fünf Arten von Guardrails: Input, Dialog, Retrieval, Execution und Output
Konfigurierbar über Python-API oder dedizierten Guardrails-Server
Führt Colang zur Definition von Dialogflüssen und Guardrails ein
Unterstützt sowohl synchrone als auch asynchrone Operationen
Integrierter CLI für Serververwaltung und interaktive Chat-Sitzungen
Integration mit LangChain für die erweiterte Entwicklung von LLM-Anwendungen
Erste Schritte mit NeMo Guardrails
Repository klonen: Holen Sie sich den NeMo Guardrails-Code von GitHub.
Abhängigkeiten installieren: Richten Sie Ihre Python-Umgebung ein und installieren Sie die notwendigen Pakete.
Guardrails konfigurieren: Definieren Sie Ihre gewünschten Rails mit Colang und Konfigurationsdateien.
Mit LLM integrieren: Laden Sie Konfigurationen und erstellen Sie eine LLMRails-Instanz in Ihrer Anwendung.
Aufrufe ausführen: Verwenden Sie die Methoden `generate` oder `generate_async`, um über Guardrails mit dem LLM zu interagieren.
Server bereitstellen (optional): Starten Sie einen Guardrails-Server für den API-Zugriff auf Ihre Konfigurationen.
NeMo Guardrails's Anwendungsfälle
- Sichere Chatbots
- Datenextraktion
- Inhaltsmoderation
- RAG-Systeme
- LLM-Endpunktsicherheit
- Kontrollierte Dialogflüsse
- Schutz vor Schwachstellen





