Skip to content

Commit 8e7823a

Browse files
authored
Merge pull request #1376 from guardrails-ai/concurrency-patch
Concurrency Patch
2 parents 7ca14c5 + 8d411fb commit 8e7823a

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

guardrails/classes/validation/validation_summary.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ def _generate_summaries_from_validator_logs(
2323
is_fail_result = isinstance(validation_result, FailResult)
2424
failure_reason = validation_result.error_message if is_fail_result else None
2525
error_spans = validation_result.error_spans if is_fail_result else []
26+
outcome = validation_result.outcome if validation_result else None
2627
yield ValidationSummary(
2728
validatorName=log.validator_name,
28-
validatorStatus=log.validation_result.outcome, # type: ignore
29+
validatorStatus=outcome, # type: ignore
2930
propertyPath=log.property_path,
3031
failureReason=failure_reason,
3132
errorSpans=error_spans, # type: ignore

guardrails/guard.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
from guardrails.hub_telemetry.hub_tracing import trace
7070
from guardrails.types.on_fail import OnFailAction
7171
from guardrails.types.pydantic import ModelOrListOfModels
72+
from guardrails.utils.safe_get import safe_get
7273
from guardrails.utils.naming_utils import random_id
7374
from guardrails.utils.api_utils import extract_serializeable_metadata
7475
from guardrails.utils.hub_telemetry_utils import HubTelemetry
@@ -1130,13 +1131,18 @@ def _single_server_call(self, *, payload: Dict[str, Any]) -> ValidationOutcome[O
11301131
guard_history = self._api_client.get_history(
11311132
self.name, validation_output.call_id
11321133
)
1133-
self.history.extend(
1134-
[Call.from_interface(call) for call in guard_history]
1134+
call_log = safe_get(
1135+
[c for c in guard_history if c.id == validation_output.call_id], 0
11351136
)
1137+
# Only append the history from this call
1138+
self.history.append(Call.from_interface(call_log))
11361139

11371140
validation_summaries = []
1138-
if self.history.last and self.history.last.iterations.last:
1139-
validator_logs = self.history.last.iterations.last.validator_logs
1141+
call_log: Call = safe_get(
1142+
[c for c in self.history if c.id == validation_output.call_id], 0
1143+
)
1144+
if call_log and call_log.iterations.last:
1145+
validator_logs = call_log.iterations.last.validator_logs
11401146
validation_summaries = ValidationSummary.from_validator_logs_only_fails(
11411147
validator_logs
11421148
)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "guardrails-ai"
3-
version = "0.7.0"
3+
version = "0.7.1"
44
description = "Adding guardrails to large language models."
55
authors = [
66
{name = "Guardrails AI", email = "contact@guardrailsai.com"}

0 commit comments

Comments
 (0)