From 4ee0e88bd050fb9fc3166688e1db5e1bb8449f4d Mon Sep 17 00:00:00 2001 From: Caleb Courier Date: Wed, 31 Jul 2024 11:21:05 -0500 Subject: [PATCH] raise exception if validation fails with noop in guard runnable --- guardrails/integrations/langchain/guard_runnable.py | 5 +++-- .../integrations/langchain/test_guard_runnable.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) 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")) )