Skip to contents

Suggests descriptive labels for clusters using AI. Labels are suggestions for human review - users should edit and approve before using. Supports OpenAI or Gemini for AI generation.

Usage

generate_cluster_labels(
  cluster_keywords,
  provider = "auto",
  model = NULL,
  temperature = 0.3,
  max_tokens = 50,
  api_key = NULL,
  verbose = TRUE
)

Arguments

cluster_keywords

List of keywords for each cluster.

provider

AI provider to use: "auto" (default), "openai", or "gemini". "auto" picks the first provider with an available API key.

model

Model name. If NULL, uses provider defaults: "gpt-4.1-mini" (OpenAI), "gemini-2.5-flash-lite" (Gemini).

temperature

Temperature parameter (default: 0.3).

max_tokens

Maximum tokens for response (default: 50).

api_key

API key for OpenAI or Gemini. If NULL, uses environment variable.

verbose

Logical, if TRUE, prints progress messages.

Value

A list of generated labels.

Examples

if (interactive()) {
  cluster_keywords <- list(
    "1" = c("calculator", "arithmetic", "elementary", "remedial"),
    "2" = c("computer", "instruction", "multiplication", "drill")
  )
  labels_openai <- generate_cluster_labels(cluster_keywords, provider = "openai")
  labels_gemini <- generate_cluster_labels(cluster_keywords, provider = "gemini")
}
#> No OpenAI API key found. Provide your key using one of these methods:
#>   1. Sys.setenv(OPENAI_API_KEY = "your-key-here")
#>   2. Add OPENAI_API_KEY=your-key-here to your .Renviron file
#>   3. Pass directly via the api_key parameter
#> Generating AI labels for 2 clusters using gemini (gemini-2.5-flash-lite)...
#> AI label generation completed