Описание
NeMo Guardrails — это набор инструментов с открытым исходным кодом, разработанный для того, чтобы разработчики могли легко добавлять программируемые защитные механизмы в свои диалоговые приложения на основе больших языковых моделей (LLM). Эти защитные механизмы, часто называемые "рельсами" (rails), предоставляют структурированный метод контроля выходных данных LLM, гарантируя их соответствие заранее определенным правилам и целям. Это включает предотвращение обсуждения конфиденциальных тем, обеспечение соблюдения конкретных шаблонов ответов, направление диалогов по предопределенным путям и извлечение структурированных данных.
Набор инструментов действует как промежуточный слой между кодом приложения и LLM, предлагая ключевые преимущества, такие как создание надежных, безопасных и защищенных LLM-приложений. Разработчики могут определять "рельсы" для управления и защиты диалогов, диктуя поведение LLM по конкретным темам и предотвращая взаимодействие с нежелательными темами. Это имеет решающее значение для поддержания целостности бренда и безопасности пользователей.
NeMo Guardrails также обеспечивает безопасное соединение между LLM и внешними службами или инструментами. Он позволяет осуществлять управляемый диалог, направляя LLM следовать разработанным сценариям диалогов, соблюдая лучшие практики в дизайне диалогов и обеспечивая соблюдение стандартных операционных процедур, таких как протоколы аутентификации или поддержки. Кроме того, библиотека предлагает надежную защиту от распространенных уязвимостей LLM, включая "jailbreaks" (обход ограничений) и "prompt injections" (внедрение команд), предоставляя различные механизмы защиты.
Библиотека поддерживает несколько LLM, включая серии GPT от OpenAI, LLaMa-2, Falcon, Vicuna и Mosaic. Она предлагает пять основных типов защитных механизмов: Input rails для обработки пользовательского ввода, Dialog rails для влияния на промпты LLM и ход диалога, Retrieval rails для управления данными, извлеченными в сценариях RAG, Execution rails для управления пользовательскими действиями и Output rails для модерации контента, сгенерированного LLM. Конфигурации могут управляться через Python API или выделенный сервер защитных механизмов, с поддержкой как синхронных, так и асинхронных операций. Набор инструментов представляет Colang — язык моделирования, похожий на Python, для определения этих защитных механизмов, предлагая гибкость и контроль над ходом диалогов.
Основные функции NeMo Guardrails
Программируемые защитные механизмы для диалоговых систем LLM
Повышает безопасность, надежность и управляемость выходных данных LLM
Предотвращает обсуждение LLM нежелательных тем
Направляет LLM следовать предопределенным путям диалога
Обеспечивает безопасную интеграцию с внешними инструментами и службами
Защищает от уязвимостей LLM, таких как "jailbreaks" и "prompt injections"
Поддерживает несколько LLM, включая OpenAI, LLaMa-2, Falcon и Vicuna
Предлагает пять типов защитных механизмов: Input, Dialog, Retrieval, Execution и Output
Конфигурируется через Python API или выделенный сервер защитных механизмов
Представляет Colang для определения сценариев диалогов и защитных механизмов
Поддерживает как синхронные, так и асинхронные операции
Встроенный CLI для управления сервером и интерактивных сеансов чата
Интеграция с LangChain для расширенной разработки LLM-приложений
Начало работы с NeMo Guardrails
Клонировать репозиторий: Получите код NeMo Guardrails из GitHub.
Установить зависимости: Настройте свою Python-среду и установите необходимые пакеты.
Настроить защитные механизмы: Определите желаемые "рельсы" с помощью Colang и конфигурационных файлов.
Интегрировать с LLM: Загрузите конфигурации и создайте экземпляр LLMRails в вашем приложении.
Выполнить вызовы: Используйте методы `generate` или `generate_async` для взаимодействия с LLM через защитные механизмы.
Развернуть сервер (необязательно): Запустите сервер защитных механизмов для доступа к вашим конфигурациям через API.
Варианты использования NeMo Guardrails
- Безопасные чат-боты
- Извлечение данных
- Модерация контента
- Системы RAG
- Безопасность конечных точек LLM
- Управляемые сценарии диалогов
- Защита от уязвимостей





