-module(glean@models@deepseek_reasoning). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/glean/models/deepseek_reasoning.gleam"). -export([max_output_tokens/2, build/1, reasoner/1, r1/1]). -export_type([deepseek_reasoning/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( " DeepSeek reasoning models.\n" "\n" " Covers DeepSeek-Reasoner and DeepSeek-R1 models.\n" " Supported parameters: max_output_tokens only.\n" " These models do not support temperature or top_p.\n" ). -opaque deepseek_reasoning() :: {deepseek_reasoning, binary(), binary(), gleam@option:option(integer())}. -file("src/glean/models/deepseek_reasoning.gleam", 42). ?DOC(" Set the maximum number of output tokens.\n"). -spec max_output_tokens(deepseek_reasoning(), integer()) -> deepseek_reasoning(). max_output_tokens(M, N) -> {deepseek_reasoning, erlang:element(2, M), erlang:element(3, M), {some, N}}. -file("src/glean/models/deepseek_reasoning.gleam", 51). ?DOC(" Build a `Model` from this DeepSeek Reasoning configuration.\n"). -spec build(deepseek_reasoning()) -> glean@model:model(). build(M) -> Provider = glean@providers@deepseek:new( erlang:element(2, M), erlang:element(3, M) ), Settings = {model_settings, erlang:element(4, M), none, none, none, none, none, none, none}, {model, Provider, Settings}. -file("src/glean/models/deepseek_reasoning.gleam", 74). -spec new_deepseek_reasoning(binary(), binary()) -> deepseek_reasoning(). new_deepseek_reasoning(Api_key, Model_id) -> {deepseek_reasoning, Api_key, Model_id, none}. -file("src/glean/models/deepseek_reasoning.gleam", 28). ?DOC(" DeepSeek Reasoner\n"). -spec reasoner(binary()) -> deepseek_reasoning(). reasoner(Key) -> new_deepseek_reasoning(Key, <<"deepseek-reasoner"/utf8>>). -file("src/glean/models/deepseek_reasoning.gleam", 33). ?DOC(" DeepSeek R1\n"). -spec r1(binary()) -> deepseek_reasoning(). r1(Key) -> new_deepseek_reasoning(Key, <<"deepseek-r1"/utf8>>).