Guardrails AI provides a Python framework to add input/output guards around LLM usage, enabling validators and hub-driven guardrails. It includes installation, config, and examples, with recent releases and activity visible.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
Guardrails is a Python framework that helps build reliable AI applications by performing two key functions:
- Guardrails runs Input/Output Guards in your application that detect, quantify and mitigate the presence of specific types of risks. To look at the full suite of risks, check out Guardrails Hub.
- Guardrails help you generate structured data from LLMs.
How it works
Guardrails uses pre-built validators (guardrails hub) that can be combined into Input and Output Guards to intercept LLM inputs and outputs. The Hub provides a collection of validators that can be installed and used within a Guard.
Getting started
Installation
pip install guardrails-ai
Getting Started
Create Input and Output Guards for LLM Validation
-
Download and configure the Guardrails Hub CLI.
pip install guardrails-ai guardrails configure -
Install a guardrail from Guardrails Hub.
pip install guardrails-ai-regex-match -
Create a Guard from the installed guardrail.
from guardrails import Guard, OnFailAction from guardrails_ai.regex_match import RegexMatch guard = Guard().use( RegexMatch, regex="\(?\d{3}\)?-? *\d{3}-? *-?\d{4}", on_fail=OnFailAction.EXCEPTION ) guard.validate("123-456-7890") # Guardrail passes try: guard.validate("1234-789-0000") # Guardrail fails except Exception as e: print(e)Output:
Validation failed for field with errors: Result must match \(\?\d{3}\)?-? *\d{3}-? *-?\d{4} -
Run multiple guardrails within a Guard. First, install the necessary guardrails from Guardrails Hub.
pip install guardrails-ai-competitor-check guardrails-ai-toxic-languageThen, create a Guard from the installed guardrails.
from guardrails import Guard, OnFailAction from guardrails_ai.competitor_check import CompetitorCheck from guardrails_ai.toxic_language import ToxicLanguage guard = Guard().use( CompetitorCheck(["Apple", "Microsoft", "Google"], on_fail=OnFailAction.EXCEPTION), ToxicLanguage(threshold=0.5, validation_method="sentence", on_fail=OnFailAction.EXCEPTION) ) guard.validate( """An apple a day keeps a doctor away. This is good advice for keeping your health.""" ) # Both the guardrails pass try: guard.validate( """Shut the hell up! Apple just released a new iPhone.""" ) # Both the guardrails fail except Exception as e: print(e)
Use Guardrails to generate structured data from LLMs
...
Guardrails Server
Guardrails can be set up as a standalone service served by Flask with guardrails start, allowing you to interact with it via a REST API. This approach simplifies development and deployment of Guardrails-powered applications.
- Install:
pip install "guardrails-ai" - Configure:
guardrails configure - Create a config:
guardrails create --validators=hub://guardrails/two_words --guard-name=two-word-guard - Start the dev server:
guardrails start --config=./config.py - Interact with the dev server via the snippets below
FAQ
I'm running into issues with Guardrails. Where can I get help?
You can reach out to us on Discord or Twitter.
Can I use Guardrails with any LLM?
Yes, Guardrails can be used with proprietary and open-source LLMs. Check out this guide on how to use Guardrails with any LLM.
Can I create my own validators?
Yes, you can create your own validators and contribute them to Guardrails Hub. Check out this guide on how to create your own validators.
Does Guardrails support other languages?
Guardrails can be used with Python and JavaScript. Check out the docs on how to use Guardrails from JavaScript. We are working on adding support for other languages. If you would like to contribute to Guardrails, please reach out to us on Discord or Twitter.
Contributing
We welcome contributions to Guardrails!
Get started by checking out Github issues and check out the Contributing Guide. Feel free to open an issue, or reach out if you would like to add to the project!






