Migrating to 0.4.0
Get ready for a major upgrade with Guardrails 0.4.0! Introducing the Guardrails Hub, a free marketplace bursting with powerful validator tools. This innovative addition allows you to access specialized functionality without bloating the core Guardrails package, keeping it lean and efficient.
To pave the way for the Hub, some backwards compatibility adjustments have been made, primarily affecting validator usage.
New Features
New validate
function on Guard
Guard 0.4.0 introduces validate, replacing parse for string validation. It's clearer and less likely to be misinterpreted. parse is deprecated, so switch to validate now for future compatibility.
Example:
guard.parse("some_string") # Old
guard.validate("some_string") # New (preferred)
Unlock new tools with the Guardrails Hub CLI:
Interact directly with the Guardrails Hub for expanded functionality.
Install: pip install guardrails-ai
Get started: guardrails --help
New Approach to Guard Construction
We've introduced a novel way to define and combine guards, simplifying the overall process. The previous method required constructing guards from specific validation types (from_pydantic
, from_string
), but now you can leverage a validator-first approach with assumed string validation.
Single Validator Usage:
from guardrails.hub import ValidatorOfChoice
Guard().use(ValidatorOfChoice(args))(
llm_api=...,
model=...,
prompt=...,
)
In this example:
- ValidatorOfChoice: Replace with the actual validator you want to use.
- args: Pass any necessary arguments to the validator constructor.
- llm_api, model, prompt: Provide values for these parameters as usual.
Multiple Validator Usage:
Multiple validators can be combined in two ways:
1. linkinguse
:
from guardrails.hub import ValidatorA, ValidatorB
Guard() \
.use(ValidatorA()) \
.use(ValidatorB()) \
.validate("Some text")
use_many
for Concise Composition:
from guardrails.hub import ValidatorA, ValidatorB
Guard().use_many(ValidatorA(), ValidatorB())(
llm_api=...,
model=...,
prompt=...,
)
Backwards-incompatible changes
We've moved validators to the Guardrails Hub, reducing the core package size for faster installations and smoother workflows.
Targeted validation: Install only the validators you need, streamlining your project and dependencies.
New naming: Some validator names changed for clarity and consistency. Head to the hub to find the updated names and grab your validators!