Packages

A Gleam framework for building AI agents — type-safe, multi-provider, with tool calling, streaming, and simulation testing

Current section

Files

Jump to
glean src glean@models@minimax.erl
Raw

src/glean@models@minimax.erl

-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>>).