Skip to content

Commit 55c296f

Browse files
committed
Update docs for nested schemas
1 parent 777caa9 commit 55c296f

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

README.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,77 @@ class CompanySchema < RubyLLM::Schema
311311
PersonSchema.new
312312
end
313313
end
314+
315+
schema = CompanySchema.new
316+
schema.to_json_schema
317+
# =>
318+
# {
319+
# "name":"CompanySchema",
320+
# "description":"nil",
321+
# "schema":{
322+
# "type":"object",
323+
# "properties":{
324+
# "ceo":{
325+
# "type":"object",
326+
# "properties":{
327+
# "name":{
328+
# "type":"string"
329+
# },
330+
# "age":{
331+
# "type":"integer"
332+
# }
333+
# },
334+
# "required":[
335+
# :"name",
336+
# :"age"
337+
# ],
338+
# "additionalProperties":false
339+
# },
340+
# "employees":{
341+
# "type":"array",
342+
# "items":{
343+
# "type":"object",
344+
# "properties":{
345+
# "name":{
346+
# "type":"string"
347+
# },
348+
# "age":{
349+
# "type":"integer"
350+
# }
351+
# },
352+
# "required":[
353+
# :"name",
354+
# :"age"
355+
# ],
356+
# "additionalProperties":false
357+
# }
358+
# },
359+
# "founder":{
360+
# "type":"object",
361+
# "properties":{
362+
# "name":{
363+
# "type":"string"
364+
# },
365+
# "age":{
366+
# "type":"integer"
367+
# }
368+
# },
369+
# "required":[
370+
# :"name",
371+
# :"age"
372+
# ],
373+
# "additionalProperties":false
374+
# }
375+
# },
376+
# "required":[
377+
# :"ceo",
378+
# :"employees",
379+
# :"founder"
380+
# ],
381+
# "additionalProperties":false,
382+
# "strict":true
383+
# }
384+
# }
314385
```
315386

316387
## JSON Output

0 commit comments

Comments
 (0)