## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")

## ----compatibility-registry---------------------------------------------------
library(pairwiseLLM)

registry_path <- system.file("extdata", "model_compatibility.csv", package = "pairwiseLLM")
if (!nzchar(registry_path)) {
  source_paths <- c(
    file.path("inst", "extdata", "model_compatibility.csv"),
    file.path("..", "inst", "extdata", "model_compatibility.csv")
  )
  registry_path <- source_paths[file.exists(source_paths)][1]
}
registry <- utils::read.csv(registry_path, check.names = FALSE)

unique(registry[c(
  "backend", "endpoint", "reasoning_mode", "package_version", "test_date", "status"
)])

## ----live-shape, eval=FALSE, purl=TRUE----------------------------------------
# # Live API example; requires the selected provider credential and may incur cost.
# result <- submit_llm_pairs(
#   pairs = pairs,
#   backend = "openai",
#   model = "gpt-5.6-luna",
#   endpoint = "responses",
#   trait_name = trait$name,
#   trait_description = trait$description,
#   prompt_template = template,
#   reasoning = "none",
#   save_path = "live-results.csv",
#   parallel = FALSE
# )
# 
# result$results
# result$failed_pairs
# result$failed_attempts

## ----ollama, eval=FALSE, purl=TRUE--------------------------------------------
# # Local-system example; requires the Ollama CLI/server and a previously pulled tag.
# options(pairwiseLLM.ollama_host = "http://127.0.0.1:11434")
# ensure_only_ollama_model_loaded("qwen3:32b")

