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.3.tbz
sha256=636d458cb1564ed88ca8c0250c432e91c2f822fd49ad2b923819e762bda10be6
sha512=361e476423ebc0f9cf561cc28ccd4531cf08e424e95eea43a67d6b8dbb457a49a25b418625ffa99f6327fc5df14e540e502d1aa8ed606111c5c010fe498eec2a

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