Source file cache_control_options.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
type _ Ai_provider.Provider_options.key += Cache : Cache_control.t Ai_provider.Provider_options.key
let with_cache_control ?cache_control opts =
match cache_control with
| None -> opts
| Some cc -> Ai_provider.Provider_options.set Cache cc opts
let get_cache_control po =
match Ai_provider.Provider_options.find Cache po with
| Some cc -> Some cc
| None ->
match Ai_provider.Provider_options.find Ai_provider_anthropic.Cache_control_options.Cache po with
| Some (a : Ai_provider_anthropic.Cache_control.t) ->
let ttl =
match a.ttl with
| Some Ttl_5m -> Some Cache_control.Ttl_5m
| Some Ttl_1h -> Some Cache_control.Ttl_1h
| None -> None
in
Some { Cache_control.cache_type = Ephemeral; ttl }
| None -> None