package ocaml-ai-sdk

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Ai_provider_anthropic.Convert_toolsSource

Convert SDK tools and tool choice to Anthropic format.

Sourcetype anthropic_tool = {
  1. name : string;
  2. description : string option;
  3. input_schema : Yojson.Basic.t;
  4. cache_control : Cache_control.t option;
}
Sourcetype anthropic_tool_choice =
  1. | Tc_auto
  2. | Tc_any
  3. | Tc_tool of {
    1. name : string;
    }
Sourceval convert_tools : ?validator:Ai_provider_anthropic__.Cache_control_validator.t -> tools:Ai_provider.Tool.t list -> tool_choice:Ai_provider.Tool_choice.t option -> unit -> anthropic_tool list * anthropic_tool_choice option

Convert SDK tools and choice. Tool_choice.None_ returns empty tools. Tool_choice.Required maps to Tc_any. Pass ~validator to share the 4-breakpoint budget with the prompt conversion.

Sourceval anthropic_tool_to_json : anthropic_tool -> Yojson.Basic.t
Sourceval anthropic_tool_choice_to_json : anthropic_tool_choice -> Yojson.Basic.t
Sourceval json_response_tool : schema:Yojson.Basic.t -> anthropic_tool

Build the synthetic json tool used as a fallback for structured outputs on models that don't support Anthropic's native output_config.format. The tool is always named json — matching upstream @ai-sdk/anthropic — and carries the user-supplied schema as its input_schema. The caller is responsible for forcing tool_choice to this tool (see forced_json_tool_choice).

Sourceval forced_json_tool_choice : anthropic_tool_choice

Tool choice forcing the model to emit only the synthetic json tool.