package chatoyant

  1. Overview
  2. Docs
OCaml-first LLM SDK with Melange-generated JavaScript

Install

dune-project
 Dependency

Authors

Maintainers

Sources

chatoyant-v0.12.4.tbz
sha256=fbf19dea0d39482e0263812504d94c682a9f3a6e93f68fe0c57b2d38ed4166b3
sha512=4e01be9c0ec9c16880f98360dec4ef5e0dddd9192e2113991b154e891b3bdaefb614051c2cb63afa0b714efa0e4cc4fd8054528fdc1995f3a4858fe2fcd50256

doc/src/chatoyant.schema/json_schema_ast.ml.html

Source file json_schema_ast.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module Json = Chatoyant_runtime.Json

type t = Bool of bool | Object of (string * Json.t) list
type parse_error = { path : string; message : string }

let of_json = function
  | Json.Bool value -> Ok (Bool value)
  | Json.Object fields -> Ok (Object fields)
  | _ ->
      Error { path = ""; message = "JSON Schema must be a boolean or object" }

let of_string source =
  match Json.parse source with
  | Error message -> Error { path = ""; message }
  | Ok json -> of_json json

let to_json = function
  | Bool value -> Json.Bool value
  | Object fields -> Json.Object fields

let to_string schema = schema |> to_json |> Json.to_string
let fields = function Bool _ -> None | Object fields -> Some fields

let field name = function
  | Bool _ -> None
  | Object fields -> List.assoc_opt name fields