-module(glean@models@minimax). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/glean/models/minimax.gleam"). -export([max_output_tokens/2, temperature/2, top_p/2, build/1, m2_5/1, m2_1/1, m2_1_lightning/1, m2/1, m1/1]). -export_type([mini_max/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC( " MiniMax models.\n" "\n" " Covers MiniMax M2.5, M2.1, M2, and M1.\n" " Supported parameters: max_output_tokens, temperature, top_p.\n" "\n" " NO top_k, NO seed, NO penalty parameters.\n" ). -opaque mini_max() :: {mini_max, binary(), binary(), gleam@option:option(integer()), gleam@option:option(float()), gleam@option:option(float())}. -file("src/glean/models/minimax.gleam", 60). ?DOC(" Set the maximum number of output tokens.\n"). -spec max_output_tokens(mini_max(), integer()) -> mini_max(). max_output_tokens(M, N) -> {mini_max, erlang:element(2, M), erlang:element(3, M), {some, N}, erlang:element(5, M), erlang:element(6, M)}. -file("src/glean/models/minimax.gleam", 65). ?DOC(" Set the sampling temperature.\n"). -spec temperature(mini_max(), float()) -> mini_max(). temperature(M, T) -> {mini_max, erlang:element(2, M), erlang:element(3, M), erlang:element(4, M), {some, T}, erlang:element(6, M)}. -file("src/glean/models/minimax.gleam", 70). ?DOC(" Set the top-p (nucleus sampling) value.\n"). -spec top_p(mini_max(), float()) -> mini_max(). top_p(M, P) -> {mini_max, erlang:element(2, M), erlang:element(3, M), erlang:element(4, M), erlang:element(5, M), {some, P}}. -file("src/glean/models/minimax.gleam", 79). ?DOC(" Build a `Model` from this MiniMax configuration.\n"). -spec build(mini_max()) -> glean@model:model(). build(M) -> Provider = glean@providers@minimax:new( erlang:element(2, M), erlang:element(3, M) ), Settings = {model_settings, erlang:element(4, M), erlang:element(5, M), erlang:element(6, M), none, none, none, none, none}, {model, Provider, Settings}. -file("src/glean/models/minimax.gleam", 102). -spec new_minimax(binary(), binary()) -> mini_max(). new_minimax(Api_key, Model_id) -> {mini_max, Api_key, Model_id, none, none, none}. -file("src/glean/models/minimax.gleam", 31). ?DOC(" MiniMax M2.5\n"). -spec m2_5(binary()) -> mini_max(). m2_5(Key) -> new_minimax(Key, <<"MiniMax-M2.5"/utf8>>). -file("src/glean/models/minimax.gleam", 36). ?DOC(" MiniMax M2.1\n"). -spec m2_1(binary()) -> mini_max(). m2_1(Key) -> new_minimax(Key, <<"MiniMax-M2.1"/utf8>>). -file("src/glean/models/minimax.gleam", 41). ?DOC(" MiniMax M2.1 Lightning\n"). -spec m2_1_lightning(binary()) -> mini_max(). m2_1_lightning(Key) -> new_minimax(Key, <<"MiniMax-M2.1-lightning"/utf8>>). -file("src/glean/models/minimax.gleam", 46). ?DOC(" MiniMax M2\n"). -spec m2(binary()) -> mini_max(). m2(Key) -> new_minimax(Key, <<"MiniMax-M2"/utf8>>). -file("src/glean/models/minimax.gleam", 51). ?DOC(" MiniMax M1\n"). -spec m1(binary()) -> mini_max(). m1(Key) -> new_minimax(Key, <<"MiniMax-M1"/utf8>>).