Torna agli aggiornamenti
New releaseSep 17, 2026

Guardrails v0.24.1

Guardrail programmabili per app di chat LLM: applica vincoli di input/output, blocca jailbreak e prompt injection, rileva le allucinazioni e maschera i dati sensibili.

Condividi

Libreria NVIDIA NeMo Guardrails

License PyPI PyPI - Python Version Tests/Linux Tests/Windows Tests/macOS Lint Code style: black Documentation arXiv Downloads Downloads

ULTIMA RELEASE / VERSIONE DI SVILUPPO: Il branch develop tiene traccia dell'ultima versione in sviluppo. L'ultima versione rilasciata è la 0.24.1.

✨✨✨

📌 La documentazione ufficiale della libreria NeMo Guardrails è disponibile su docs.nvidia.com/nemo/guardrails.

✨✨✨

La libreria NVIDIA NeMo Guardrails è un toolkit open-source per aggiungere facilmente guardrail programmabili alle applicazioni conversazionali basate su LLM. I guardrail (o "rails" in breve) sono modi specifici di controllare l'output di un modello linguistico di grandi dimensioni, come non parlare di politica, rispondere in modo particolare a richieste specifiche dell'utente, seguire un percorso di dialogo predefinito, utilizzare uno stile linguistico particolare, estrarre dati strutturati e altro ancora.

Questo articolo introduce la libreria NeMo Guardrails e contiene una panoramica tecnica del sistema e la valutazione attuale.

Requisiti

Python 3.10, 3.11, 3.12 o 3.13.

Installazione

Per installare usando pip:```bash

pip install nemoguardrails

Per istruzioni più dettagliate, consulta la [Guida all'installazione](https://docs.nvidia.com/nemo/guardrails/get-started/installation-guide).

## Panoramica

<!-- start-documentation-reuse -->

La libreria NeMo Guardrails consente agli sviluppatori che creano applicazioni basate su LLM di aggiungere **guardrail programmabili** tra il codice dell'applicazione e l'LLM.

<div align="center">
  <img src="https://raw.githubusercontent.com/NVIDIA-NeMo/Guardrails/develop/docs/_static/images/programmable_guardrails.png"  width="75%" alt="Programmable Guardrails">
</div>

I vantaggi principali dell'aggiunta di *guardrail programmabili* includono:

- **Creare applicazioni basate su LLM affidabili, sicure e protette:** puoi definire dei rail per guidare e salvaguardare le conversazioni; puoi scegliere di definire il comportamento della tua applicazione basata su LLM su argomenti specifici e impedirle di intraprendere discussioni su argomenti indesiderati.

- **Connettere modelli, chain e altri servizi in modo sicuro:** puoi connettere un LLM ad altri servizi (detti anche tool) in modo semplice e sicuro.

- **Dialogo controllabile**: puoi guidare l'LLM a seguire percorsi conversazionali predefiniti, permettendoti di progettare l'interazione seguendo le best practice di conversation design e di applicare procedure operative standard (ad esempio, autenticazione, supporto).

<!-- end-documentation-reuse -->

### Protezione dalle vulnerabilità degli LLM

La libreria NeMo Guardrails fornisce diversi meccanismi per proteggere un'applicazione di chat basata su LLM dalle vulnerabilità comuni degli LLM, come jailbreak e prompt injection. Di seguito è riportata una panoramica di esempio della protezione offerta da diverse configurazioni di guardrail per l'esempio [ABC Bot](https://github.com/nvidia-nemo/guardrails/blob/develop/examples/bots/abc) incluso in questo repository. Per maggiori dettagli, consulta la pagina [LLM Vulnerability Scanning](https://docs.nvidia.com/nemo/guardrails/evaluation/llm-vulnerability-scanning.html).

<div align="center">
<img src="https://raw.githubusercontent.com/NVIDIA-NeMo/Guardrails/develop/docs/_static/images/abc-llm-vulnerability-scan-results.png" width="500">
</div>

### Casi d'uso

Puoi utilizzare i guardrail programmabili in diversi tipi di casi d'uso:

1. **Question Answering** su un insieme di documenti (noto anche come Retrieval Augmented Generation): applica il fact-checking e la moderazione dell'output.
2. **Assistenti specifici per dominio** (noti anche come chatbot): assicurati che l'assistente rimanga in tema e segua i flussi conversazionali progettati.
3. **Endpoint LLM**: aggiungi guardrail al tuo LLM personalizzato per un'interazione con il cliente più sicura.
4. **LangChain Chains** (opzionale): se utilizzi LangChain per qualsiasi caso d'uso, puoi aggiungere uno strato di guardrail attorno alle tue chain. Per abilitare questa integrazione, imposta la variabile d'ambiente `NEMOGUARDRAILS_LLM_FRAMEWORK=langchain` oppure chiama `set_default_framework("langchain")`.

### Utilizzo

Per aggiungere guardrail programmabili alla tua applicazione puoi utilizzare l'API Python o un server di guardrail (vedi la [Guida al server](https://docs.nvidia.com/nemo/guardrails/get-started/integrate-into-application) per maggiori dettagli). L'utilizzo dell'API Python è simile all'utilizzo diretto dell'LLM. Chiamare lo strato di guardrail invece dell'LLM richiede solo modifiche minime al codice, e comporta due semplici passaggi:

1. Caricare una configurazione di guardrail e creare un'istanza `LLMRails`.
2. Effettuare le chiamate all'LLM utilizzando i metodi `generate`/`generate_async`.```python
from nemoguardrails import LLMRails, RailsConfig

# Load a guardrails configuration from the specified path.
config = RailsConfig.from_path("PATH/TO/CONFIG")
rails = LLMRails(config)

completion = rails.generate(
    messages=[{"role": "user", "content": "Hello world!"}]
)

Output di esempio:```json {"role": "assistant", "content": "Hi! How can I help you?"}

Il formato di input e output per il metodo `generate` è simile alla [Chat Completions API](https://platform.openai.com/docs/guides/gpt/chat-completions-api) di OpenAI.

#### API asincrona

La libreria NeMo Guardrails è un toolkit async-first poiché i meccanismi principali sono implementati utilizzando il modello asincrono di Python. I metodi pubblici hanno sia una versione sincrona che una asincrona. Ad esempio: `LLMRails.generate` e `LLMRails.generate_async`.

### LLM supportati

Puoi utilizzare NeMo Guardrails con più LLM come OpenAI GPT-3.5, GPT-4, LLaMa-2, Falcon, Vicuna o Mosaic. Per maggiori dettagli, consulta la sezione [Supported LLM Models](https://docs.nvidia.com/nemo/guardrails/about-nemo-guardrails-library/supported-llms) nella Guida alla configurazione.

### Tipi di guardrail

La libreria NeMo Guardrails supporta cinque tipi principali di guardrail:

<div align="center">
  <img src="https://raw.githubusercontent.com/NVIDIA-NeMo/Guardrails/develop/docs/_static/images/programmable_guardrails_flow.png"  width="75%" alt="Programmable Guardrails Flow">
</div>

1. **Input rails**: applicati all'input dell'utente; un input rail può rifiutare l'input, interrompendo qualsiasi elaborazione aggiuntiva, oppure modificare l'input (ad esempio, per mascherare dati potenzialmente sensibili, per riformulare).

2. **Dialog rails**: influenzano il modo in cui viene istruito l'LLM; i dialog rails operano sui messaggi in forma canonica per i dettagli consulta la [Colang Guide](https://docs.nvidia.com/nemo/guardrails/configure-guardrails/colang)) e determinano se un'azione deve essere eseguita, se l'LLM deve essere invocato per generare il passo successivo o una risposta, se deve essere utilizzata una risposta predefinita, ecc.

3. **Retrieval rails**: applicati ai chunk recuperati nel caso di uno scenario RAG (Retrieval Augmented Generation); un retrieval rail può rifiutare un chunk, impedendone l'utilizzo per istruire l'LLM, oppure modificare i chunk rilevanti (ad esempio, per mascherare dati potenzialmente sensibili).

4. **Execution rails**: applicati all'input/output delle azioni personalizzate (dette anche tool), che devono essere chiamate dall'LLM.

5. **Output rails**: applicati all'output generato dall'LLM; un output rail può rifiutare l'output, impedendone la restituzione all'utente, oppure modificarlo (ad esempio, rimuovendo dati sensibili).

### Configurazione dei guardrail

Una configurazione dei guardrail definisce gli **LLM** da utilizzare e **uno o più guardrail**. Una configurazione dei guardrail può includere un numero qualsiasi di input/dialog/output/retrieval/execution rails. Una configurazione senza alcun rail configurato inoltrerà essenzialmente le richieste all'LLM.

La struttura standard per una cartella di configurazione dei guardrail è simile a questa:```
.
├── config
│   ├── actions.py
│   ├── config.py
│   ├── config.yml
│   ├── rails.co
│   ├── ...

Il file config.yml contiene tutte le opzioni di configurazione generali, come i modelli LLM, i rail attivi e i dati di configurazione personalizzati". Il file config.py contiene qualsiasi codice di inizializzazione personalizzato e il file actions.py contiene qualsiasi azione Python personalizzata. Per una panoramica completa, consulta la Configuration Guide.

Di seguito è riportato un esempio di config.yml:```yaml

config.yml

models:

  • type: main engine: openai model: gpt-3.5-turbo-instruct

rails:

Input rails are invoked when new input from the user is received.

input: flows: - check jailbreak - mask sensitive data on input

Output rails are triggered after a bot message has been generated.

output: flows: - self check facts - self check hallucination - activefence moderation on input

config: # Configure the types of entities that should be masked on user input. sensitive_data_detection: input: entities: - PERSON - EMAIL_ADDRESS

I file `.co` inclusi in una configurazione di guardrails contengono le definizioni Colang (vedi la sezione successiva per una rapida panoramica di cosa sia Colang) che definiscono vari tipi di rail. Di seguito è riportato un esempio di file `greeting.co` che definisce i dialog rail per salutare l'utente.```colang
define user express greeting
  "Hello!"
  "Good afternoon!"

define flow
  user express greeting
  bot express greeting
  bot offer to help

define bot express greeting
  "Hello there!"

define bot offer to help
  "How can I help you today?"

Di seguito è riportato un ulteriore esempio di definizioni Colang per una dialog rail contro gli insulti:```colang define user express insult "You are stupid"

define flow user express insult bot express calmly willingness to help

### Colang

Per configurare e implementare vari tipi di guardrail, questo toolkit introduce **Colang**, un linguaggio di modellazione creato specificamente per progettare flussi di dialogo flessibili ma al contempo controllabili. Colang ha una sintassi simile a Python ed è progettato per essere semplice e intuitivo, soprattutto per gli sviluppatori.```{note}
Two versions of Colang, 1.0 and 2.0, are supported and Colang 1.0 is the default.

Per una breve introduzione alla sintassi di Colang 1.0, consulta la Guida alla sintassi del linguaggio Colang 1.0.

Per iniziare con Colang 2.0, consulta la Documentazione di Colang 2.0.

Libreria di guardrail

NeMo Guardrails include un insieme di guardrail predefiniti.```{note} The built-in guardrails may or may not be suitable for a given production use case. As always, developers should work with their internal application team to ensure guardrails meets requirements for the relevant industry and use case and address unforeseen product misuse.

La libreria include guardrail per l'autoverifica degli LLM (moderazione di input/output, verifica dei fatti, rilevamento delle allucinazioni), modelli di sicurezza NVIDIA (sicurezza dei contenuti, sicurezza dei temi), rilevamento di jailbreak e injection, e integrazioni con modelli della community e API di terze parti. Per l'elenco completo, consulta la [documentazione della Guardrails Library](https://docs.nvidia.com/nemo/guardrails/user-guides/guardrails-library.html).

## CLI

La libreria NeMo Guardrails include anche una CLI integrata.```bash
$ nemoguardrails --help

Usage: nemoguardrails [OPTIONS] COMMAND [ARGS]...

actions-server    Start a NeMo Guardrails actions server.
chat              Start an interactive chat session.
evaluate          Run an evaluation task.
server            Start a NeMo Guardrails server.

Server Guardrails

Puoi usare la CLI della libreria NeMo Guardrails per avviare un server guardrails. Il server può caricare una o più configurazioni dalla cartella specificata ed esporre un'API HTTP per utilizzarle.``` nemoguardrails server [--config PATH/TO/CONFIGS] [--port PORT]

Ad esempio, per ottenere un completamento di chat per una configurazione `sample`, puoi usare l'endpoint `/v1/chat/completions`:```
POST /v1/chat/completions

Utilizzo

python3 -m pip install -r requirements.txt
python3 -m pip install -e .

Esecuzione di un singolo test

python3 -m pytest tests/test_<nome_file>.py

Esecuzione di tutti i test

python3 -m pytest tests/

Esecuzione di tutti i test con copertura

python3 -m pytest tests/ --cov=src --cov-report=term-missing

Esecuzione di tutti i test con copertura e generazione di un report HTML

python3 -m pytest tests/ --cov=src --cov-report=html

Esecuzione di tutti i test con copertura e generazione di un report XML

python3 -m pytest tests/ --cov=src --cov-report=xml

Esecuzione di tutti i test con copertura e generazione di un report JSON

python3 -m pytest tests/ --cov=src --cov-report=json

Esecuzione di tutti i test con copertura e generazione di un report Markdown

python3 -m pytest tests/ --cov=src --cov-report=markdown

Esecuzione di tutti i test con copertura e generazione di un report HTML e XML

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML e JSON

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON e Markdown

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown e terminale

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale e badge

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge e annotazione

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione e LCOV

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV e Cobertura

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura e JUnit

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit e Clover

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover e SonarQube

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube e CodeClimate

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate e Coveralls

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls e Codecov

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov e TeamCity

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity e GitHub

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub e GitLab

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab e Bitbucket

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket e Azure

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure e Jenkins

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins e CircleCI

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI e Travis

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis e AppVeyor

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor e Azure Pipelines

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines e GitHub Actions

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions e GitLab CI

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI e Bitbucket Pipelines

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines e Jenkins Pipeline

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline e Azure DevOps

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps e AWS CodeBuild

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps, AWS CodeBuild e Google Cloud Build

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild --cov-report=googlecloudbuild

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps, AWS CodeBuild, Google Cloud Build e Azure Pipelines

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild --cov-report=googlecloudbuild --cov-report=azurepipelines

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps, AWS CodeBuild, Google Cloud Build, Azure Pipelines e GitHub Actions

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild --cov-report=googlecloudbuild --cov-report=azurepipelines --cov-report=githubactions

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps, AWS CodeBuild, Google Cloud Build, Azure Pipelines, GitHub Actions e GitLab CI

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild --cov-report=googlecloudbuild --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps, AWS CodeBuild, Google Cloud Build, Azure Pipelines, GitHub Actions, GitLab CI e Bitbucket Pipelines

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild --cov-report=googlecloudbuild --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps, AWS CodeBuild, Google Cloud Build, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines e Jenkins Pipeline

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild --cov-report=googlecloudbuild --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, TeamCity, GitHub, GitLab, Bitbucket, Azure, Jenkins, CircleCI, Travis, AppVeyor, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline, Azure DevOps, AWS CodeBuild, Google Cloud Build, Azure Pipelines, GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins Pipeline e Azure DevOps

python3 -m pytest tests/ --cov=src --cov-report=html --cov-report=xml --cov-report=json --cov-report=markdown --cov-report=term-missing --cov-report=badge --cov-report=annotation --cov-report=lcov --cov-report=cobertura --cov-report=junit --cov-report=clover --cov-report=sonarqube --cov-report=codeclimate --cov-report=coveralls --cov-report=codecov --cov-report=teamcity --cov-report=github --cov-report=gitlab --cov-report=bitbucket --cov-report=azure --cov-report=jenkins --cov-report=circleci --cov-report=travis --cov-report=appveyor --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops --cov-report=awscodebuild --cov-report=googlecloudbuild --cov-report=azurepipelines --cov-report=githubactions --cov-report=gitlabci --cov-report=bitbucketpipelines --cov-report=jenkinspipeline --cov-report=azuredevops

Esecuzione di tutti i test con copertura e generazione di un report HTML, XML, JSON, Markdown, terminale, badge, annotazione, LCOV, Cobertura, JUnit, Clover, SonarQube, CodeClimate, Coveralls, Codecov, Team```json

{ "config_id": "sample", "messages": [{ "role":"user", "content":"Hello! What can you do for me?" }] }

Output di esempio:```json
{"role": "assistant", "content": "Hi! How can I help you?"}

Docker

Per avviare un server guardrails, puoi anche utilizzare un container Docker. La libreria NeMo Guardrails fornisce un Dockerfile che puoi usare per creare un'immagine nemoguardrails. Per ulteriori informazioni, consulta la sezione using Docker.

Integrazione con LangChain (Opzionale)

L'integrazione con LangChain è opt-in. Per abilitarla, imposta la variabile d'ambiente NEMOGUARDRAILS_LLM_FRAMEWORK=langchain oppure chiama set_default_framework("langchain"). Poi installa i pacchetti LangChain richiesti dalla tua configurazione. Dopo aver abilitato l'integrazione, puoi avvolgere una configurazione guardrails attorno a una catena LangChain (o a qualsiasi Runnable), e puoi chiamare una catena LangChain dall'interno di una configurazione guardrails. Per maggiori informazioni, consulta la LangChain Integration Documentation.

Valutazione

Valutare la sicurezza di un'applicazione conversazionale basata su LLM è un compito complesso e ancora una questione di ricerca aperta. Per supportare una corretta valutazione, la libreria NeMo Guardrails fornisce quanto segue:

  1. Uno strumento di valutazione, ovvero nemoguardrails evaluate, con supporto per topical rails, fact-checking, moderazione (jailbreak e moderazione dell'output) e allucinazioni.
  2. Report di esempio di scansione delle vulnerabilità LLM, ad esempio ABC Bot - LLM Vulnerability Scan Results

In cosa è diverso?

Ci sono molti modi in cui i guardrails possono essere aggiunti a un'applicazione conversazionale basata su LLM. Ad esempio: endpoint di moderazione espliciti (es. OpenAI, ActiveFence, PolicyAI), catene di critica (es. constitutional chain), parsing dell'output (es. guardrails.ai), guardrails individuali (es. LLM-Guard), rilevamento di allucinazioni per applicazioni RAG (es. Got It AI, Patronus Lynx).

La libreria NeMo Guardrails mira a fornire un toolkit flessibile che possa integrare tutti questi approcci complementari in un livello guardrails LLM coeso. Ad esempio, il toolkit fornisce un'integrazione out-of-the-box con ActiveFence, PolicyAI, AlignScore e catene LangChain.

Per quanto a nostra conoscenza, la libreria NeMo Guardrails è l'unico toolkit guardrails che offre anche una soluzione per modellare il dialogo tra l'utente e l'LLM. Questo consente da un lato la capacità di guidare il dialogo in modo preciso. Dall'altro lato abilita un controllo granulare su quando determinati guardrails dovrebbero essere usati, ad esempio usare il fact-checking solo per certi tipi di domande.

Scopri di più

Telemetria e Privacy

La libreria NVIDIA NeMo Guardrails raccoglie telemetria anonima per aiutare NVIDIA a comprendere quali modelli di deployment e funzionalità di sicurezza sono più utilizzati. La libreria emette un evento di utilizzo quando istanzi LLMRails, IORails o Guardrails, poi emette heartbeat periodici da un singolo thread daemon per processo. Questa telemetria è separata dal tracing per richiesta. Tu configuri il tracing nella tua configurazione guardrails e lo invii al tuo backend di osservabilità. La telemetria è un ping anonimo minimale verso NVIDIA.

Istantanea dell'utilizzo della community

Utilizzo anonimo aggregato sulle build di rilascio esatte 0.22.0 e 0.23.0, dal 22 maggio al 18 agosto 2026:

Sessioni per tipo di rail

Sessioni per funzionalità integrata

Rail configurati all'avvio

Ultimo aggiornamento il 18 agosto 2026

La telemetria include:

  • Versione della libreria installata, versione di Python, sistema operativo e stringa della piattaforma
  • Versione del linguaggio di configurazione Colang (1.0 o 2.x)
  • Nomi dei provider di motori LLM configurati, come openai, nim o nvidia_ai_endpoints, mai nomi di modelli o credenziali
  • Conteggi dei flussi rail configurati per rail di input, output, retrieval, input degli strumenti e output degli strumenti, più quali categorie di rail sono attive
  • Nomi delle funzionalità integrate della libreria che sono attive, come jailbreak_detection, content_safety o topic_safety
  • Conteggio dei flussi Colang definiti dall'utente (solo conteggio, mai nomi o contenuti dei flussi)
  • Se sono configurati tracing, streaming o una knowledge base
  • Come hai effettuato il deployment dei guardrails (server library, api o cli)
  • Quale motore rail di runtime è in uso (LLMRails o IORails)
  • Un UUID casuale per processo per correlare eventi dalla stessa istanza. La libreria lo genera in memoria e non lo memorizza per riutilizzarlo tra riavvii, ma lo include nei record di audit e negli eventi di telemetria trasmessi

Nessun contenuto utente viene raccolto nel payload dell'evento. Il payload non include nomi di modelli, chiavi API, endpoint, prompt, completamenti, conteggi di token, metriche per richiesta, percorsi di file, nomi utente o indirizzi IP. NVIDIA utilizza i dati in forma aggregata per dare priorità al lavoro di ingegneria e condividerà le tendenze di adozione con la community.

La libreria tenta inoltre di scrivere ogni payload dell'evento in un file di audit locale in ~/.config/nemoguardrails/usage_stats.json. Il file di audit memorizza il JSONL dell'evento, non l'envelope completo della telemetria NVIDIA. Le scritture di audit sono best effort, e la trasmissione della telemetria procede comunque se la scrittura dell'audit locale fallisce.

Imposta una qualsiasi delle seguenti opzioni per disabilitare la telemetria:```bash export NEMO_GUARDRAILS_NO_USAGE_STATS=1

or

export DO_NOT_TRACK=1

or

mkdir -p ~/.config/nemoguardrails && touch ~/.config/nemoguardrails/do_not_track

Impostare l'opt-out prima che la libreria NVIDIA NeMo Guardrails venga avviata. Modificare le variabili d'ambiente o creare `do_not_track` dopo che la telemetria è stata avviata non arresta un thread di heartbeat già in esecuzione.

Fare riferimento a [docs/telemetry.md](https://docs.nvidia.com/nemo/guardrails/latest/telemetry.html) per lo schema completo e le descrizioni campo per campo.

È possibile rinunciare alla raccolta della telemetria in qualsiasi momento. L'opt-out si applica solo alla raccolta dati da parte della libreria NVIDIA NeMo Guardrails stessa.

Gli endpoint di terze parti hanno termini e pratiche sulla privacy separati. La libreria NVIDIA NeMo Guardrails può utilizzare endpoint di inferenza come NVIDIA Build (`build.nvidia.com`). Se si utilizza NVIDIA Build o un altro endpoint di terze parti, i termini di servizio e le pratiche sulla privacy di tale endpoint si applicano indipendentemente dalla libreria. Qualsiasi opt-out dalla telemetria nella libreria NVIDIA NeMo Guardrails non si estende all'endpoint scelto. NVIDIA Build è destinato esclusivamente alla valutazione e ai test e non deve essere utilizzato in ambienti di produzione. Non inviare informazioni riservate o dati personali quando si utilizza NVIDIA Build.

## Invitare la community a contribuire

I rails di esempio presenti nel repository sono eccellenti punti di partenza. Invitiamo con entusiasmo la community a contribuire per rendere il potere di LLM affidabili, sicuri e protetti accessibile a tutti. Per indicazioni su come configurare un ambiente di sviluppo e su come contribuire alla libreria NeMo Guardrails, consultare le [linee guida per i contributi](https://github.com/nvidia-nemo/guardrails/blob/develop/CONTRIBUTING.md).

## Licenza

La libreria NeMo Guardrails è distribuita sotto la [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).

## Come citare

Se si utilizza la libreria NeMo Guardrails, citare il [paper EMNLP 2023](https://aclanthology.org/2023.emnlp-demo.40) che la introduce.```bibtex
@inproceedings{rebedea-etal-2023-nemo,
    title = "{N}e{M}o Guardrails: A Toolkit for Controllable and Safe {LLM} Applications with Programmable Rails",
    author = "Rebedea, Traian  and
      Dinu, Razvan  and
      Sreedhar, Makesh Narsimhan  and
      Parisien, Christopher  and
      Cohen, Jonathan",
    editor = "Feng, Yansong  and
      Lefever, Els",
    booktitle = "Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
    month = dec,
    year = "2023",
    address = "Singapore",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2023.emnlp-demo.40",
    doi = "10.18653/v1/2023.emnlp-demo.40",
    pages = "431--445",
}

Categorie