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.1.tbz
sha256=cb3b82428abcda76c02ec92f8103a4db28edf3f42795794a37135e9a3c40af96
sha512=11be8889ee25bee67b2be00553c42a4692bc73e5ce23985e8bb87f8a07e9d8f556b5a63b219fe5fe30366c8b0d4edae494afa80ccfbfcb112f1fa1e458de55bf

doc/ocaml-ai-sdk.ai_provider_openrouter/Ai_provider_openrouter/Openrouter_api/index.html

Module Ai_provider_openrouter.Openrouter_apiSource

HTTP client for the OpenRouter Chat Completions API.

Sourcetype request_body
Sourceval request_body_to_json : request_body -> Melange_json.t
Sourceval make_request_body : model:string -> messages:Melange_json.t list -> ?models:string list -> ?temperature:float -> ?top_p:float -> ?top_k:int -> ?max_tokens:int -> ?frequency_penalty:float -> ?presence_penalty:float -> ?stop:string list -> ?seed:int -> ?response_format:Melange_json.t -> ?tools:Melange_json.t list -> ?tool_choice:Melange_json.t -> ?parallel_tool_calls:bool -> ?logit_bias:Melange_json.t -> ?logprobs:Melange_json.t -> ?top_logprobs:Melange_json.t -> ?user:string -> ?include_reasoning:bool -> ?reasoning:Melange_json.t -> ?usage:Melange_json.t -> ?plugins:Melange_json.t list -> ?web_search_options:Melange_json.t -> ?provider:Melange_json.t -> ?debug:Melange_json.t -> ?cache_control:Melange_json.t -> stream:bool -> compatibility:Config.compatibility -> unit -> request_body

Build a typed request body for the Chat Completions API. Extends OpenAI-compatible parameters with OpenRouter-specific fields.

Sourceval merge_extra_body : Yojson.Basic.t -> (string * Yojson.Basic.t) list -> Yojson.Basic.t

Merge extra_body key-value pairs into the serialized request JSON.

Sourceval provider_error_of_http_response : body:string -> Cohttp.Response.t -> Ai_provider.Provider_error.t

Convert a non-successful HTTP response, preserving Retry-After metadata.

Sourceval chat_completions : config:Config.t -> body:request_body -> extra_body:(string * Yojson.Basic.t) list -> extra_headers:(string * string) list -> stream:bool -> [ `Json of Yojson.Basic.t | `Stream of string Lwt_stream.t ] Lwt.t

Send a request to the Chat Completions API. Returns `Json for non-streaming, `Stream for streaming (raw SSE lines). Checks for HTTP 200 error responses (OpenRouter returns errors with 200 status).