Descrição
NeMo Guardrails é um kit de ferramentas de código aberto projetado para capacitar desenvolvedores a adicionar guardrails programáveis às suas aplicações conversacionais baseadas em Large Language Model (LLM). Esses guardrails, frequentemente referidos como "rails", fornecem um método estruturado para controlar as saídas de LLM, garantindo que elas estejam alinhadas com regras e objetivos predefinidos. Isso inclui a prevenção de discussões sobre tópicos sensíveis, a imposição de padrões de resposta específicos, a orientação de conversas por caminhos predefinidos e a extração de dados estruturados.
O kit de ferramentas atua como uma camada intermediária entre o código de uma aplicação e o LLM, oferecendo benefícios chave como a construção de aplicações LLM confiáveis, seguras e protegidas. Desenvolvedores podem definir rails para guiar e salvaguardar conversas, ditando o comportamento do LLM em assuntos específicos e prevenindo o engajamento com tópicos indesejados. Isso é crucial para manter a integridade da marca e a segurança do usuário.
NeMo Guardrails também facilita conexões seguras entre LLMs e serviços ou ferramentas externas. Ele permite o diálogo controlável, direcionando LLMs a seguir fluxos de conversação projetados, aderindo às melhores práticas em design de conversação e impondo procedimentos operacionais padrão como protocolos de autenticação ou suporte. Além disso, a biblioteca oferece proteção robusta contra vulnerabilidades comuns de LLM, incluindo jailbreaks e injeções de prompt, fornecendo vários mecanismos de defesa.
A biblioteca suporta múltiplos LLMs, incluindo a série GPT da OpenAI, LLaMa-2, Falcon, Vicuna e Mosaic. Ela oferece cinco tipos principais de guardrails: Input rails para processar a entrada do usuário, Dialog rails para influenciar o prompting do LLM e o fluxo da conversa, Retrieval rails para gerenciar dados recuperados em cenários RAG, Execution rails para gerenciar ações personalizadas e Output rails para moderar o conteúdo gerado pelo LLM. As configurações podem ser gerenciadas via API Python ou um servidor de guardrails dedicado, com suporte para operações síncronas e assíncronas. O kit de ferramentas introduz Colang, uma linguagem de modelagem semelhante a Python para definir esses guardrails, oferecendo flexibilidade e controle sobre os fluxos de diálogo.
Recursos principais de NeMo Guardrails
Guardrails programáveis para sistemas conversacionais LLM
Aprimora a segurança, proteção e controle das saídas de LLM
Impede que LLMs discutam tópicos indesejados
Orienta LLMs a seguir caminhos conversacionais predefinidos
Facilita a integração segura com ferramentas e serviços externos
Protege contra vulnerabilidades de LLM como jailbreaks e injeções de prompt
Suporta múltiplos LLMs incluindo OpenAI, LLaMa-2, Falcon e Vicuna
Oferece cinco tipos de guardrails: Input, Dialog, Retrieval, Execution e Output
Configurável via API Python ou um servidor de guardrails dedicado
Introduz Colang para definir fluxos de diálogo e guardrails
Suporta operações síncronas e assíncronas
CLI integrado para gerenciamento de servidor e sessões de chat interativas
Integração com LangChain para desenvolvimento aprimorado de aplicações LLM
Primeiros passos com NeMo Guardrails
Clone o repositório: Obtenha o código NeMo Guardrails do GitHub.
Instale as dependências: Configure seu ambiente Python e instale os pacotes necessários.
Configure os guardrails: Defina seus rails desejados usando Colang e arquivos de configuração.
Integre com LLM: Carregue as configurações e crie uma instância LLMRails em sua aplicação.
Execute chamadas: Use os métodos `generate` ou `generate_async` para interagir com o LLM através dos guardrails.
Implante o servidor (opcional): Inicie um servidor de guardrails para acesso via API às suas configurações.
Casos de uso de NeMo Guardrails
- Chatbots Seguros
- Extração de Dados
- Moderação de Conteúdo
- Sistemas RAG
- Segurança de Endpoint LLM
- Fluxos de Diálogo Controlados
- Proteção contra Vulnerabilidades





