Module Completions.Request

module Message : sig ... end
module Reasoning : sig ... end
module Response_format : sig ... end

Response format for structured outputs. See https://openrouter.ai/docs/features/structured-outputs

type t = {
  1. model : string;
  2. messages : Message.t list;
  3. stream : bool;
  4. reasoning : Reasoning.t option;
  5. tools : Tool.t list;
  6. tool_choice : Tool_choice.t option;
  7. parallel_tool_calls : bool option;
  8. plugins : Plugin.t list;
  9. temperature : float option;
  10. top_p : float option;
  11. max_tokens : int option;
  12. seed : int option;
  13. stop : string list option;
  14. frequency_penalty : float option;
  15. presence_penalty : float option;
  16. repetition_penalty : float option;
  17. response_format : Response_format.t option;
}
include Ppx_jsonaf_conv_lib.Jsonafable.S with type t := t
val t_of_jsonaf : Jsonaf_kernel__.Type.t -> t
val jsonaf_of_t : t -> Jsonaf_kernel__.Type.t
val sexp_of_t : t -> Sexplib0.Sexp.t