
Send LLM Messages to the Perplexity Chat API (All Features, No .json Option)
Source:R/api_perplexity.R
perplexity_chat.Rd
Sends a chat message history to the Perplexity Chat API, supporting all documented API parameters as of July 2025.
Usage
perplexity_chat(
.llm,
.model = "sonar",
.max_tokens = 1024,
.temperature = NULL,
.top_p = NULL,
.frequency_penalty = NULL,
.presence_penalty = NULL,
.stop = NULL,
.search_domain_filter = NULL,
.return_images = FALSE,
.search_recency_filter = NULL,
.search_mode = "web",
.reasoning_effort = NULL,
.return_related_questions = FALSE,
.search_after_date_filter = NULL,
.search_before_date_filter = NULL,
.last_updated_after_filter = NULL,
.last_updated_before_filter = NULL,
.top_k = NULL,
.web_search_options = NULL,
.api_url = "https://api.perplexity.ai/",
.timeout = 60,
.stream = FALSE,
.verbose = FALSE,
.max_tries = 3,
.dry_run = FALSE
)
Arguments
- .llm
An
LLMMessage
object containing the conversation history.- .model
Model name to use (default: "sonar").
- .max_tokens
Max completion tokens (default: 1024).
- .temperature
Controls response randomness (0 < x < 2).
- .top_p
Nucleus sampling threshold (0 < x < 1).
- .frequency_penalty
Number > 0. Penalizes frequent tokens.
- .presence_penalty
Numeric between -2 and 2. Penalizes present tokens.
- .stop
Stop sequence(s), string or character vector/list.
- .search_domain_filter
Domains to allowlist/denylist for search (max 10, "-domain" for denylist).
- .return_images
Logical; if TRUE, returns images from search.
- .search_recency_filter
Restrict search to recent ("hour","day","week","month").
- .search_mode
"web" (default) or "academic" (prioritize scholarly sources).
- .reasoning_effort
Reasoning level: "low", "medium" (default), "high" (for deep research models).
Logical; if TRUE, returns related questions.
- .search_after_date_filter
Only content published after date (mm/dd/yyyy).
- .search_before_date_filter
Only content published before date (mm/dd/yyyy).
- .last_updated_after_filter
Only content updated after date (mm/dd/yyyy).
- .last_updated_before_filter
Only content updated before date (mm/dd/yyyy).
- .top_k
Top-k token sampling (integer, 0 disables).
- .web_search_options
Named list with search config (e.g. list(search_context_size = "high")).
- .api_url
API endpoint (default: "https://api.perplexity.ai/").
- .timeout
Timeout in seconds (default: 60).
- .stream
If TRUE, streams response.
- .verbose
If TRUE, prints additional info.
- .max_tries
Max request retries (default: 3).
- .dry_run
If TRUE, returns constructed request instead of sending.