Skip to contents

This function sends a message history to the Groq Chat API and returns the assistant's reply.

Usage

groq_chat(
  .llm,
  .model = "llama-3.2-11b-vision-preview",
  .max_tokens = 1024,
  .temperature = NULL,
  .top_p = NULL,
  .frequency_penalty = NULL,
  .presence_penalty = NULL,
  .stop = NULL,
  .seed = NULL,
  .api_url = "https://api.groq.com/",
  .json = FALSE,
  .timeout = 60,
  .verbose = FALSE,
  .stream = FALSE,
  .dry_run = FALSE,
  .max_tries = 3
)

Arguments

.llm

An LLMMessage object containing the conversation history.

.model

The identifier of the model to use (default: "llama-3.2-11b-vision-preview").

.max_tokens

The maximum number of tokens that can be generated in the response (default: 1024).

.temperature

Controls the randomness in the model's response. Values between 0 and 2 are allowed, where higher values increase randomness (optional).

.top_p

Nucleus sampling parameter that controls the proportion of probability mass considered. Values between 0 and 1 are allowed (optional).

.frequency_penalty

Number between -2.0 and 2.0. Positive values penalize repeated tokens, reducing likelihood of repetition (optional).

.presence_penalty

Number between -2.0 and 2.0. Positive values encourage new topics by penalizing tokens that have appeared so far (optional).

.stop

One or more sequences where the API will stop generating further tokens. Can be a string or a list of strings (optional).

.seed

An integer for deterministic sampling. If specified, attempts to return the same result for repeated requests with identical parameters (optional).

.api_url

Base URL for the Groq API (default: "https://api.groq.com/").

.json

Whether the response should be structured as JSON (default: FALSE).

.timeout

Request timeout in seconds (default: 60).

.verbose

If TRUE, displays additional information after the API call, including rate limit details (default: FALSE).

.stream

Logical; if TRUE, streams the response piece by piece (default: FALSE).

.dry_run

If TRUE, performs a dry run and returns the constructed request object without executing it (default: FALSE).

.max_tries

Maximum retries to peform request

Value

A new LLMMessage object containing the original messages plus the assistant's response.

Examples

if (FALSE) { # \dontrun{
# Basic usage
msg <- llm_message("What is Groq?")
result <- groq_chat(msg)

# With custom parameters
result2 <- groq_chat(msg, 
               .model = "llama-3.2-vision",
               .temperature = 0.5, 
               .max_tokens = 512)
} # }