What do retrieval rails or output rails add to an LLM app?
Why B is the answer
Checks that control what enters and leaves the model
NeMo Guardrails applies programmable rails around the model.
In detail
- Rails check what enters and leaves the model.
- Rails act around the model.
Use case
An illustrative scenario, not a real incident.
A retrieval rail checks passages before the model, and an output rail checks the reply.
See it in different ways
flowchart LR A["Input"] --> B["Input rails"] B --> C["LLM"] C --> D["Output rails"] D --> E["Response"] D --> F["Audit log"]
sequenceDiagram participant U as User participant R as NeMo Guardrails participant M as Model U->>R: Prompt R->>M: Allowed prompt M-->>R: Response R-->>U: Checked response
flowchart LR S0["Input rail"] --> S1["Retrieval rail"] --> S2["Model"] --> S3["Output rail"]
Key point: Rails control what enters and leaves.
Why the other options are wrong
- A. A bigger vocabulary for the tokenizer to use
- Rails do not change vocabulary.
- C. Extra attention heads that are added to the model
- Rails do not change the model.
- D. A higher throughput for each GPU in the cluster
- Rails do not add throughput.

