참고소스 수정본

This commit is contained in:
LASTA_DEV01\lasta
2026-05-12 19:40:31 +09:00
parent 0f34a451fc
commit 2e9204243d
8708 changed files with 3259488 additions and 869 deletions

View File

@@ -0,0 +1,37 @@
from typing import List
from pydantic import BaseModel
from guardrails.formatters.json_formatter import _jsonschema_to_jsonformer
def test_basic_schema_conversion():
class Simple(BaseModel):
my_age: int
my_height_in_nanometers: float
my_name: str
my_friends: List[str]
out_schema = _jsonschema_to_jsonformer(Simple.model_json_schema())
assert out_schema["type"] == "object"
assert out_schema["properties"]["my_age"]["type"] == "number"
assert out_schema["properties"]["my_height_in_nanometers"]["type"] == "number"
assert out_schema["properties"]["my_name"]["type"] == "string"
assert out_schema["properties"]["my_friends"]["type"] == "array"
assert out_schema["properties"]["my_friends"]["items"]["type"] == "string"
def test_nested_schema_conversion():
class Simple(BaseModel):
name: str
class Nested(BaseModel):
best_dog: Simple
good_dogs: List[Simple] # May cause OoM if enumerated. Consider generator.
out = _jsonschema_to_jsonformer(Nested.model_json_schema())
assert out["type"] == "object"
assert out["properties"]["best_dog"]["type"] == "object"
assert out["properties"]["best_dog"]["properties"]["name"]["type"] == "string"
assert out["properties"]["good_dogs"]["type"] == "array"
assert out["properties"]["good_dogs"]["items"]["type"] == "object"