package ocaml-ai-sdk

  1. Overview
  2. Docs
OCaml AI SDK - Provider abstraction for AI models

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ocaml-ai-sdk-0.6.3.tbz
sha256=0cc0a957784c295877b6bcc4f80c0dba0f6507d3c282e7d6cbd71038050376de
sha512=f8e082376b4de194a877d0df193892cdaa8139a4789f51eebac651acf8b6d4064b95242e158d86c1a32776d99130d43ed4c1119e2d54e738e93bdba2a6ad9a33

doc/src/ocaml-ai-sdk.ai_provider/middleware.ml.html

Source file middleware.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module type S = sig
  val wrap_generate : generate:(Call_options.t -> Generate_result.t Lwt.t) -> Call_options.t -> Generate_result.t Lwt.t

  val wrap_stream : stream:(Call_options.t -> Stream_result.t Lwt.t) -> Call_options.t -> Stream_result.t Lwt.t
end

let apply (module Mw : S) (model : Language_model.t) : Language_model.t =
  let (module M : Language_model.S) = model in
  (module struct
    let specification_version = M.specification_version
    let provider = M.provider
    let model_id = M.model_id
    let generate opts = Mw.wrap_generate ~generate:M.generate opts
    let stream opts = Mw.wrap_stream ~stream:M.stream opts
  end)