Skip to content

Commit be4c82a

Browse files
committed
Update generated ts
1 parent df6dbab commit be4c82a

File tree

4 files changed

+1105
-960
lines changed

4 files changed

+1105
-960
lines changed

evaluators/langevals/langevals_langevals/valid_format.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
EvaluationResult,
99
EvaluatorSettings,
1010
SingleEvaluationResult,
11+
EvaluationResultError,
1112
)
1213
import markdown
1314
from pydantic import Field
@@ -17,7 +18,7 @@
1718

1819
class ValidFormatSettings(EvaluatorSettings):
1920
format: Literal["json", "markdown", "python", "sql"] = "json"
20-
json_schema: Optional[Dict[str, Any]] = Field(
21+
json_schema: Optional[str] = Field(
2122
default=None,
2223
description="JSON schema to validate against when format is 'json'",
2324
)
@@ -56,7 +57,18 @@ def evaluate(self, entry: ValidFormatEntry) -> SingleEvaluationResult:
5657
parsed_json = json.loads(entry.output)
5758
if self.settings.json_schema:
5859
try:
59-
validate(instance=parsed_json, schema=self.settings.json_schema)
60+
json_schema = json.loads(self.settings.json_schema)
61+
except Exception as e:
62+
return EvaluationResultError(
63+
details=f"Invalid JSON Schema: {e}",
64+
error_type="json_schema_error",
65+
traceback=[],
66+
)
67+
try:
68+
validate(
69+
instance=parsed_json,
70+
schema=json_schema,
71+
)
6072
except ValidationError as e:
6173
return ValidFormatResult(
6274
passed=False, details=f"JSON Schema validation failed: {e}"

evaluators/langevals/tests/test_valid_format.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import json
12
from langevals_langevals.valid_format import (
23
ValidFormatEvaluator,
34
ValidFormatEntry,
@@ -118,7 +119,7 @@ def test_valid_format_evaluator_json_schema():
118119
output='{"name": "John Doe", "age": 30, "email": "john@example.com"}'
119120
)
120121
evaluator = ValidFormatEvaluator(
121-
settings=ValidFormatSettings(format="json", json_schema=schema)
122+
settings=ValidFormatSettings(format="json", json_schema=json.dumps(schema))
122123
)
123124
result = evaluator.evaluate(entry)
124125

poetry.lock

Lines changed: 95 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)