{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/nemo-guardrails-a-toolkit-for-controllable","title":"NeMo Guardrails: A Toolkit for Controllable and Safe LLM Applications with Programmable Rails","arxiv_id":"2310.10501","date":"2023-10-16","proceeding":null,"authors":["Traian Rebedea","Razvan Dinu","Makesh Sreedhar","Christopher Parisien","Jonathan Cohen"],"abstract":"NeMo Guardrails is an open-source toolkit for easily adding programmable guardrails to LLM-based conversational systems. Guardrails (or rails for short) are a specific way of controlling the output of an LLM, such as not talking about topics considered harmful, following a predefined dialogue path, using a particular language style, and more. There are several mechanisms that allow LLM providers and developers to add guardrails that are embedded into a specific model at training, e.g. using model alignment. Differently, using a runtime inspired from dialogue management, NeMo Guardrails allows developers to add programmable rails to LLM applications - these are user-defined, independent of the underlying LLM, and interpretable. Our initial results show that the proposed approach can be used with several LLM providers to develop controllable and safe LLM applications using programmable rails.","url_abs":"https://arxiv.org/abs/2310.10501v1","url_pdf":"https://arxiv.org/pdf/2310.10501v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"nemo-guardrails-a-toolkit-for-controllable","repo_url":"https://github.com/nvidia/nemo-guardrails","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"dialogue-management","task_name":"Dialogue Management"},{"task_slug":"management","task_name":"Management"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2310.10501","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.10501"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nvidia/nemo-guardrails","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/NVIDIA/NeMo-Guardrails","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"28951bff7607fc0e","entry":"safe_read_body","repo":"NVIDIA/NeMo-Guardrails","repo_kind":"official","path":"nemoguardrails/guardrails/_http.py","file_url":"https://github.com/NVIDIA/NeMo-Guardrails/blob/HEAD/nemoguardrails/guardrails/_http.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"28951bff7607fc0e"}},{"code_sha256_prefix":"bf5f7e555db0492e","entry":"truncate","repo":"NVIDIA/NeMo-Guardrails","repo_kind":"official","path":"nemoguardrails/guardrails/guardrails_types.py","file_url":"https://github.com/NVIDIA/NeMo-Guardrails/blob/HEAD/nemoguardrails/guardrails/guardrails_types.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"bf5f7e555db0492e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}