-module(gloq). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src\\gloq.gleam"). -export([default_groq_request/0, new_groq_request/0, with_key/2, with_user/2, with_context/2, with_model/2, with_system_prompt/2, with_messages/2, add_message/3, add_user_message/2, add_assistant_message/2, with_frequency_penalty/2, with_logprobs/2, with_max_tokens/2, with_n/2, with_parallel_tool_calls/2, with_presence_penalty/2, with_seed/2, with_stop/2, with_stream/2, with_temperature/2, with_top_p/2, with_response_format/2, build/1, list_models/1, view_models/1, get_model/2, send/1]). -export_type([message/0, groq_request_builder/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. -type message() :: {message, binary(), binary()}. -type groq_request_builder() :: {groq_request_builder, binary(), binary(), binary(), binary(), gleam@option:option(float()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(float()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(float()), gleam@option:option(float()), gleam@option:option(binary()), list(message()), gleam@option:option(binary())}. -file("src\\gloq.gleam", 43). ?DOC( " Creates a new `GroqRequestBuilder` with sensible defaults.\n" " Default model: `llama-3.1-8b-instant`. Default user role: `\"user\"`.\n" ). -spec default_groq_request() -> groq_request_builder(). default_groq_request() -> {groq_request_builder, <<""/utf8>>, <<"user"/utf8>>, <<""/utf8>>, <<"llama-3.1-8b-instant"/utf8>>, {some, +0.0}, none, none, {some, 1}, {some, true}, {some, +0.0}, none, none, {some, false}, {some, 1.0}, {some, 1.0}, none, [], none}. -file("src\\gloq.gleam", 68). ?DOC( " Creates a new `GroqRequestBuilder` with no preset values.\n" " You must set `key`, `model`, `user`, and `context` (or `messages`) before calling `build/1`.\n" ). -spec new_groq_request() -> groq_request_builder(). new_groq_request() -> {groq_request_builder, <<""/utf8>>, <<""/utf8>>, <<""/utf8>>, <<""/utf8>>, none, none, none, none, none, none, none, none, none, none, none, none, [], none}. -file("src\\gloq.gleam", 92). ?DOC(" Sets the GroqCloud API key.\n"). -spec with_key(groq_request_builder(), binary()) -> groq_request_builder(). with_key(Builder, Key) -> {groq_request_builder, Key, erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 98). ?DOC( " Sets the user role label for the single-turn message (default: `\"user\"`).\n" " For multi-turn conversations use `add_user_message/2` instead.\n" ). -spec with_user(groq_request_builder(), binary()) -> groq_request_builder(). with_user(Builder, User) -> {groq_request_builder, erlang:element(2, Builder), User, erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 107). ?DOC( " Sets the prompt text for a single-turn request.\n" " For multi-turn conversations use `add_user_message/2` instead.\n" ). -spec with_context(groq_request_builder(), binary()) -> groq_request_builder(). with_context(Builder, Context) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), Context, erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 115). ?DOC(" Sets the model to use for inference. See `gloq/models` for available constants.\n"). -spec with_model(groq_request_builder(), binary()) -> groq_request_builder(). with_model(Builder, Model) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), Model, erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 123). ?DOC(" Sets a system prompt that is prepended as the first message.\n"). -spec with_system_prompt(groq_request_builder(), binary()) -> groq_request_builder(). with_system_prompt(Builder, Prompt) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), {some, Prompt}, erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 132). ?DOC( " Replaces the entire conversation message list.\n" " When messages is non-empty, `with_user/2` and `with_context/2` are ignored.\n" ). -spec with_messages(groq_request_builder(), list(message())) -> groq_request_builder(). with_messages(Builder, Messages) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), Messages, erlang:element(19, Builder)}. -file("src\\gloq.gleam", 140). ?DOC(" Appends a message with the given role and content to the conversation.\n"). -spec add_message(groq_request_builder(), binary(), binary()) -> groq_request_builder(). add_message(Builder, Role, Content) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), lists:append(erlang:element(18, Builder), [{message, Role, Content}]), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 152). ?DOC(" Appends a user message to the conversation.\n"). -spec add_user_message(groq_request_builder(), binary()) -> groq_request_builder(). add_user_message(Builder, Content) -> add_message(Builder, <<"user"/utf8>>, Content). -file("src\\gloq.gleam", 160). ?DOC(" Appends an assistant message to the conversation (useful for continuing a thread).\n"). -spec add_assistant_message(groq_request_builder(), binary()) -> groq_request_builder(). add_assistant_message(Builder, Content) -> add_message(Builder, <<"assistant"/utf8>>, Content). -file("src\\gloq.gleam", 169). ?DOC( " Number between -2.0 and 2.0. Positive values penalize new tokens based on\n" " their existing frequency, decreasing the likelihood of repetition.\n" ). -spec with_frequency_penalty(groq_request_builder(), float()) -> groq_request_builder(). with_frequency_penalty(Builder, Frequency_penalty) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), {some, Frequency_penalty}, erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 178). ?DOC( " Whether to return log probabilities of the output tokens.\n" " Not yet supported by all models.\n" ). -spec with_logprobs(groq_request_builder(), boolean()) -> groq_request_builder(). with_logprobs(Builder, Logprobs) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), {some, Logprobs}, erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 186). ?DOC(" Maximum number of tokens to generate. When `None` the model default is used.\n"). -spec with_max_tokens(groq_request_builder(), integer()) -> groq_request_builder(). with_max_tokens(Builder, Max_tokens) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), {some, Max_tokens}, erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 194). ?DOC(" Number of completion choices to generate. Only `n = 1` is currently supported.\n"). -spec with_n(groq_request_builder(), integer()) -> groq_request_builder(). with_n(Builder, N) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), {some, N}, erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 199). ?DOC(" Whether to enable parallel function calling during tool use.\n"). -spec with_parallel_tool_calls(groq_request_builder(), boolean()) -> groq_request_builder(). with_parallel_tool_calls(Builder, Parallel_tool_calls) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), {some, Parallel_tool_calls}, erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 208). ?DOC( " Number between -2.0 and 2.0. Positive values penalize tokens that have\n" " already appeared, encouraging the model to discuss new topics.\n" ). -spec with_presence_penalty(groq_request_builder(), float()) -> groq_request_builder(). with_presence_penalty(Builder, Presence_penalty) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), {some, Presence_penalty}, erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 217). ?DOC( " Setting a seed makes the system attempt to sample deterministically so that\n" " repeated requests with the same seed and parameters return the same result.\n" ). -spec with_seed(groq_request_builder(), integer()) -> groq_request_builder(). with_seed(Builder, Seed) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), {some, Seed}, erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 223). ?DOC( " Up to 4 sequences where the API stops generating tokens. The stop sequence\n" " itself is not included in the output.\n" ). -spec with_stop(groq_request_builder(), binary()) -> groq_request_builder(). with_stop(Builder, Stop) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), {some, Stop}, erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 231). ?DOC(" When `True`, partial message deltas are sent as server-sent events.\n"). -spec with_stream(groq_request_builder(), boolean()) -> groq_request_builder(). with_stream(Builder, Stream) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), {some, Stream}, erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 240). ?DOC( " Sampling temperature between 0 and 2. Higher values increase randomness;\n" " lower values increase focus. Do not use alongside `with_top_p/2`.\n" ). -spec with_temperature(groq_request_builder(), float()) -> groq_request_builder(). with_temperature(Builder, Temperature) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), {some, Temperature}, erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 249). ?DOC( " Nucleus sampling threshold. The model considers only the top tokens whose\n" " cumulative probability exceeds this value. Do not use alongside `with_temperature/2`.\n" ). -spec with_top_p(groq_request_builder(), float()) -> groq_request_builder(). with_top_p(Builder, Top_p) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), {some, Top_p}, erlang:element(17, Builder), erlang:element(18, Builder), erlang:element(19, Builder)}. -file("src\\gloq.gleam", 258). ?DOC( " Request a structured response format. Pass `\"json_object\"` to get valid JSON.\n" " When using this, instruct the model to produce JSON in your system prompt.\n" ). -spec with_response_format(groq_request_builder(), binary()) -> groq_request_builder(). with_response_format(Builder, Format) -> {groq_request_builder, erlang:element(2, Builder), erlang:element(3, Builder), erlang:element(4, Builder), erlang:element(5, Builder), erlang:element(6, Builder), erlang:element(7, Builder), erlang:element(8, Builder), erlang:element(9, Builder), erlang:element(10, Builder), erlang:element(11, Builder), erlang:element(12, Builder), erlang:element(13, Builder), erlang:element(14, Builder), erlang:element(15, Builder), erlang:element(16, Builder), erlang:element(17, Builder), erlang:element(18, Builder), {some, Format}}. -file("src\\gloq.gleam", 265). -spec optional_field( binary(), gleam@option:option(ETA), fun((ETA) -> gleam@json:json()) ) -> gleam@option:option({binary(), gleam@json:json()}). optional_field(Key, Value, Encoder) -> gleam@option:map(Value, fun(V) -> {Key, Encoder(V)} end). -file("src\\gloq.gleam", 289). ?DOC( " Builds the HTTP request ready to send with your chosen HTTP client.\n" " Only optional fields that have been explicitly set are included in the body.\n" "\n" " Example:\n" " ```gleam\n" " import gleam/httpc\n" " import gloq\n" "\n" " let req =\n" " gloq.default_groq_request()\n" " |> gloq.with_key(api_key)\n" " |> gloq.with_context(\"Hello!\")\n" " |> gloq.build()\n" "\n" " let response = httpc.send(req)\n" " ```\n" ). -spec build(groq_request_builder()) -> gleam@http@request:request(binary()). build(Builder) -> System_msgs = case erlang:element(17, Builder) of none -> []; {some, Prompt} -> [gleam@json:object( [{<<"role"/utf8>>, gleam@json:string(<<"system"/utf8>>)}, {<<"content"/utf8>>, gleam@json:string(Prompt)}] )] end, Conversation_msgs = case erlang:element(18, Builder) of [] -> [gleam@json:object( [{<<"role"/utf8>>, gleam@json:string(erlang:element(3, Builder))}, {<<"content"/utf8>>, gleam@json:string(erlang:element(4, Builder))}] )]; Msgs -> gleam@list:map( Msgs, fun(M) -> gleam@json:object( [{<<"role"/utf8>>, gleam@json:string(erlang:element(2, M))}, {<<"content"/utf8>>, gleam@json:string(erlang:element(3, M))}] ) end ) end, All_messages = lists:append(System_msgs, Conversation_msgs), Optional_fields = begin _pipe = [optional_field( <<"frequency_penalty"/utf8>>, erlang:element(6, Builder), fun gleam@json:float/1 ), optional_field( <<"logprobs"/utf8>>, erlang:element(7, Builder), fun gleam@json:bool/1 ), optional_field( <<"max_tokens"/utf8>>, erlang:element(8, Builder), fun gleam@json:int/1 ), optional_field( <<"n"/utf8>>, erlang:element(9, Builder), fun gleam@json:int/1 ), optional_field( <<"parallel_tool_calls"/utf8>>, erlang:element(10, Builder), fun gleam@json:bool/1 ), optional_field( <<"presence_penalty"/utf8>>, erlang:element(11, Builder), fun gleam@json:float/1 ), optional_field( <<"seed"/utf8>>, erlang:element(12, Builder), fun gleam@json:int/1 ), optional_field( <<"stop"/utf8>>, erlang:element(13, Builder), fun gleam@json:string/1 ), optional_field( <<"stream"/utf8>>, erlang:element(14, Builder), fun gleam@json:bool/1 ), optional_field( <<"temperature"/utf8>>, erlang:element(15, Builder), fun gleam@json:float/1 ), optional_field( <<"top_p"/utf8>>, erlang:element(16, Builder), fun gleam@json:float/1 ), optional_field( <<"response_format"/utf8>>, erlang:element(19, Builder), fun(Fmt) -> gleam@json:object( [{<<"type"/utf8>>, gleam@json:string(Fmt)}] ) end )], gleam@list:filter_map( _pipe, fun(X) -> gleam@option:to_result(X, nil) end ) end, Required_fields = [{<<"messages"/utf8>>, gleam@json:array(All_messages, fun(X@1) -> X@1 end)}, {<<"model"/utf8>>, gleam@json:string(erlang:element(5, Builder))}], Body = gleam@json:object(lists:append(Required_fields, Optional_fields)), _pipe@1 = gleam@http@request:new(), _pipe@2 = gleam@http@request:set_method(_pipe@1, post), _pipe@3 = gleam@http@request:set_host(_pipe@2, <<"api.groq.com"/utf8>>), _pipe@4 = gleam@http@request:set_path( _pipe@3, <<"/openai/v1/chat/completions"/utf8>> ), _pipe@5 = gleam@http@request:set_header( _pipe@4, <<"Authorization"/utf8>>, <<"Bearer "/utf8, (erlang:element(2, Builder))/binary>> ), _pipe@6 = gleam@http@request:set_header( _pipe@5, <<"Content-Type"/utf8>>, <<"application/json"/utf8>> ), gleam@http@request:set_body(_pipe@6, gleam@json:to_string(Body)). -file("src\\gloq.gleam", 366). ?DOC(" Builds a GET request to list all models available on your GroqCloud account.\n"). -spec list_models(binary()) -> gleam@http@request:request(binary()). list_models(Api_key) -> _pipe = gleam@http@request:new(), _pipe@1 = gleam@http@request:set_method(_pipe, get), _pipe@2 = gleam@http@request:set_host(_pipe@1, <<"api.groq.com"/utf8>>), _pipe@3 = gleam@http@request:set_path(_pipe@2, <<"/openai/v1/models"/utf8>>), _pipe@4 = gleam@http@request:set_header( _pipe@3, <<"Authorization"/utf8>>, <<"Bearer "/utf8, Api_key/binary>> ), gleam@http@request:set_header( _pipe@4, <<"Content-Type"/utf8>>, <<"application/json"/utf8>> ). -file("src\\gloq.gleam", 361). ?DOC( " Builds a request to list all available models.\n" "\n" " > Note: `view_models` is kept for backwards compatibility.\n" " > New code should prefer `list_models/1`.\n" ). -spec view_models(binary()) -> gleam@http@request:request(binary()). view_models(Api_key) -> list_models(Api_key). -file("src\\gloq.gleam", 376). ?DOC(" Builds a GET request to retrieve details for a single model by ID.\n"). -spec get_model(binary(), binary()) -> gleam@http@request:request(binary()). get_model(Api_key, Model_id) -> _pipe = gleam@http@request:new(), _pipe@1 = gleam@http@request:set_method(_pipe, get), _pipe@2 = gleam@http@request:set_host(_pipe@1, <<"api.groq.com"/utf8>>), _pipe@3 = gleam@http@request:set_path( _pipe@2, <<"/openai/v1/models/"/utf8, Model_id/binary>> ), _pipe@4 = gleam@http@request:set_header( _pipe@3, <<"Authorization"/utf8>>, <<"Bearer "/utf8, Api_key/binary>> ), gleam@http@request:set_header( _pipe@4, <<"Content-Type"/utf8>>, <<"application/json"/utf8>> ). -file("src\\gloq.gleam", 391). ?DOC( " Sends the request to the GroqCloud API using the hackney HTTP client and\n" " returns the raw response body.\n" "\n" " > **Deprecated** — send logic is intentionally left to the consumer so you\n" " > can use any HTTP client. Call `build/1` instead and send the request with\n" " > `gleam_httpc`, `gleam_hackney`, or your preferred client.\n" ). -spec send(groq_request_builder()) -> binary(). send(Builder) -> Req = build(Builder), case gleam@hackney:send(Req) of {ok, R} -> erlang:element(4, R); {error, _} -> <<"Error, Request Failed"/utf8>> end.