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.1.tbz
sha256=467ed85a42617ce399d0032d81f27f8dd2e8ca9b0753daeb2cbd84bf46761370
sha512=f5e96feea16c6ffdb45f49ee3e84e9cdb5426245c1ac32acc6434c15b949cc576c1007ed463bf1362dce507d10700eb96acf5a42fa7eed4e8e491ae0214a2e4a

doc/ocaml-ai-sdk.ai_provider/Ai_provider/Provider_options/index.html

Module Ai_provider.Provider_optionsSource

Provider-specific options using an extensible GADT. Each provider registers its own typed key without circular dependencies.

Implementation uses Obj.Extension_constructor.id for key identity and Obj.magic for type recovery — type-safe by construction since matching extension constructor IDs guarantee identical type parameters. This is the standard pattern used by Printexc and other stdlib modules. OCaml 5.1+ Type.eq would replace this with a first-class witness.

Sourcetype _ key = ..

Extensible GADT — each provider adds a constructor via +=.

Sourcetype entry =
  1. | Entry : 'a key * 'a -> entry

Existential wrapper: a typed key paired with its value.

Sourcetype t = entry list

A bag of provider-specific options.

Sourceval empty : t
Sourceval set : 'a key -> 'a -> t -> t

Add or replace an option keyed by the GADT constructor.

Sourceval find : 'a key -> t -> 'a option

Look up an option by key. Returns None if absent.

Sourceval find_exn : 'a key -> t -> 'a

Look up an option by key. Raises Not_found if absent.