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/src/ocaml-ai-sdk.ai_core/stop_condition.ml.html

Source file stop_condition.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type t = steps:Generate_text_result.step list -> bool Lwt.t

let step_count_is n ~steps = Lwt.return (List.compare_length_with steps n >= 0)

let rec last_opt = function
  | [] -> None
  | [ x ] -> Some x
  | _ :: tl -> last_opt tl

let has_tool_call tool_name ~(steps : Generate_text_result.step list) =
  match last_opt steps with
  | None -> Lwt.return false
  | Some last ->
    Lwt.return
      (List.exists (fun (tc : Generate_text_result.tool_call) -> String.equal tc.tool_name tool_name) last.tool_calls)

let is_met conditions ~steps = Lwt_list.exists_s (fun cond -> cond ~steps) conditions