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.5.tbz
sha256=9e3437d6ebf48ec9f5d9a8afd62eaeece124023f02dbd87e4b291205fd309b72
sha512=605c10ed62c0cbc31a151b7031cc80a284d5c94231c1ef423ae7439572e3fadddab4a45f52eaeeef83973a8e324839b9fda03f9082deef1b6781353f63975510

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