package ocaml-ai-sdk
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
OCaml AI SDK - Provider abstraction for AI models
Install
dune-project
Dependency
Authors
Maintainers
Sources
ocaml-ai-sdk-0.6.tbz
sha256=44e7f6ebef6da2828ec2844dd5b38c8f37284c08e54a29e06f6a8822df6f8e10
sha512=ce31d0868abf28bcaef7b24a0ab09b37dcfc94db3de96b38ff36a03800ae59a19e8009a35314f93191b3c8f178c40f8569630d4389f56ddc2f2cc94fb7bffc3c
doc/src/ocaml-ai-sdk.ai_provider_openai/openai_error.ml.html
Source file openai_error.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43open Melange_json.Primitives type openai_error_type = | Invalid_request_error | Authentication_error | Rate_limit_error | Not_found_error | Server_error | Unknown_error of string type error_detail = { typ : string; [@json.key "type"] [@json.default "unknown"] message : string; [@json.default ""] } [@@json.allow_extra_fields] [@@deriving of_json] type error_envelope = { error : error_detail } [@@json.allow_extra_fields] [@@deriving of_json] let error_type_of_string = function | "invalid_request_error" -> Invalid_request_error | "authentication_error" -> Authentication_error | "rate_limit_error" -> Rate_limit_error | "not_found_error" -> Not_found_error | "server_error" -> Server_error | s -> Unknown_error s let is_retryable = function | Rate_limit_error | Server_error -> true | Invalid_request_error | Authentication_error | Not_found_error | Unknown_error _ -> false let of_response ?(retry_after_ms = None) ?(retry_after = None) ~status ~body () = let error_type, message = try let json = Yojson.Basic.from_string body in let { error = { typ; message } } = error_envelope_of_json json in Some (error_type_of_string typ), message with | Yojson.Json_error _ -> None, body | Melange_json.Of_json_error _ -> None, body in let is_retryable = Option.map is_retryable error_type in let retry_after_s = Ai_provider.Retry_after.parse ~retry_after_ms ~retry_after in Ai_provider.Provider_error.make_api_error ~provider:"openai" ~status ~body:message ?is_retryable ?retry_after_s ()
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>