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.1.tbz
sha256=cb3b82428abcda76c02ec92f8103a4db28edf3f42795794a37135e9a3c40af96
sha512=11be8889ee25bee67b2be00553c42a4692bc73e5ce23985e8bb87f8a07e9d8f556b5a63b219fe5fe30366c8b0d4edae494afa80ccfbfcb112f1fa1e458de55bf
doc/src/ocaml-ai-sdk.ai_core/generate_text_result.ml.html
Source file generate_text_result.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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62type tool_call = { tool_call_id : string; tool_name : string; args : Yojson.Basic.t; } type pending_tool_approval = { tool_call_id : string; tool_name : string; args : Yojson.Basic.t; approved : bool; } type tool_result = { tool_call_id : string; tool_name : string; result : Yojson.Basic.t; is_error : bool; provider_metadata : Yojson.Basic.t option; } type step = { text : string; reasoning : string; tool_calls : tool_call list; tool_results : tool_result list; finish_reason : Ai_provider.Finish_reason.t; usage : Ai_provider.Usage.t; response_model : string option; provider_metadata : Ai_provider.Provider_options.t option; } type t = { text : string; reasoning : string; tool_calls : tool_call list; tool_results : tool_result list; steps : step list; finish_reason : Ai_provider.Finish_reason.t; usage : Ai_provider.Usage.t; response : Ai_provider.Generate_result.response_info; warnings : Ai_provider.Warning.t list; output : Yojson.Basic.t option; } let join_text steps = steps |> List.map (fun (s : step) -> s.text) |> List.filter (fun s -> String.length s > 0) |> String.concat "\n" let join_reasoning steps = steps |> List.map (fun (s : step) -> s.reasoning) |> List.filter (fun s -> String.length s > 0) |> String.concat "\n" let add_usage (a : Ai_provider.Usage.t) (b : Ai_provider.Usage.t) : Ai_provider.Usage.t = let input_tokens = a.input_tokens + b.input_tokens in let output_tokens = a.output_tokens + b.output_tokens in { input_tokens; output_tokens; total_tokens = (match a.total_tokens, b.total_tokens with | Some x, Some y -> Some (x + y) | _ -> Some (input_tokens + output_tokens)); }
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>