diff --git a/guardrails/integrations/langchain/guard_runnable.py b/guardrails/integrations/langchain/guard_runnable.py index 6a37bc58b..c7ab6bda6 100644 --- a/guardrails/integrations/langchain/guard_runnable.py +++ b/guardrails/integrations/langchain/guard_runnable.py @@ -2,6 +2,7 @@ from guardrails.guard import Guard from guardrails.errors import ValidationError from guardrails.classes.output_type import OT +from guardrails.classes.validation_outcome import ValidationOutcome class GuardRunnable(BaseRunnable): @@ -12,9 +13,9 @@ def __init__(self, guard: Guard): self.guard = guard def _validate(self, input: str) -> OT: - response = self.guard.validate(input) + response: ValidationOutcome[OT] = self.guard.validate(input) validated_output = response.validated_output - if not validated_output: + if not validated_output or response.validation_passed is False: raise ValidationError( ( "The response from the LLM failed validation!" diff --git a/tests/integration_tests/integrations/langchain/test_guard_runnable.py b/tests/integration_tests/integrations/langchain/test_guard_runnable.py index 92584f3ab..bb4167d37 100644 --- a/tests/integration_tests/integrations/langchain/test_guard_runnable.py +++ b/tests/integration_tests/integrations/langchain/test_guard_runnable.py @@ -20,7 +20,7 @@ def guard_runnable(): .use( RegexMatch("Ice cream", match_type="search", on_fail="refrain"), on="output" ) - .use(ReadingTime(0.05, on_fail="refrain")) + .use(ReadingTime(0.05, on_fail="noop")) )