package ocaml-ai-sdk
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
OCaml AI SDK - Provider abstraction for AI models
Install
dune-project
Dependency
Authors
Maintainers
Sources
ocaml-ai-sdk-0.4.tbz
sha256=4f3f22ae61d360b994cd75323bcb6b6bf915f6755fd1e7bab6844ca8a240c1e7
sha512=3c52b17096da818f5d3bcf9fe16826c3bec4533d6a1681e8ba0f957f37ee4f425696017cb78f1a24732f8851010d436cf446f873b72b6a4f5004d6b492072abf
doc/src/ocaml-ai-sdk.ai_provider_anthropic/cache_control_validator.ml.html
Source file cache_control_validator.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 27 28 29 30 31 32 33 34(* Track cache_control breakpoints across a single request and drop the 5th+ with a warning. Mirrors @ai-sdk/anthropic's CacheControlValidator. *) let max_breakpoints = 4 type t = { mutable count : int; mutable warnings : Ai_provider.Warning.t list; } let create () = { count = 0; warnings = [] } let warnings t = List.rev t.warnings let take t (cc : Cache_control.t option) : Cache_control.t option = match cc with | None -> None | Some _ -> t.count <- t.count + 1; (match t.count > max_breakpoints with | false -> cc | true -> let w = Ai_provider.Warning.Unsupported_feature { feature = "cacheControl breakpoint limit"; details = Some (Printf.sprintf "Maximum %d cache breakpoints exceeded (found %d). This breakpoint will be ignored." max_breakpoints t.count); } in t.warnings <- w :: t.warnings; None)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>