Perplexity()
Sonar models direct from Perplexity, with your own API key. Costs go direct to the vendor at their rates — no markup, nothing on your Axon balance.
export default defineProfile({
providers: [Perplexity()],
})
Serves perplexity/*.
Credentials
Set the environment variable, or pass key on the declaration:
PERPLEXITY_API_KEY=...
providers: [Perplexity({ key: process.env.MY_OWN_VAR })]
You can also store this key in your Axon account vault through the cloud client:
await cloud.user.vault.connections.get("perplexity").connect({ key: apiKey })
A fresh host signed into the same account can use the connection. Profiles without
an explicit providers list discover active account connections automatically;
an explicit list continues to restrict which providers that machine uses.
Explicit keys and environment variables take precedence over the account vault.
A custom url requires an explicit credential. Provider SDKs ship with Axon.
Options
Perplexity(options?: ProviderOptions)
| Option | Default | Description |
|---|---|---|
key | PERPLEXITY_API_KEY | Your own credential, passed directly |
url | the provider's API | Endpoint override |
slots | unbounded | Ceiling on concurrent calls a fanned-out role may spend here |
Model ids
Bare Sonar slugs:
export default defineAgent({ model: "perplexity:sonar-pro" })
Search-grounded by design
Sonar models answer with live web search built in, which makes them a poor fit for a cortex role — the loop already owns retrieval, and a model doing its own is a second source of truth. They suit a role that genuinely wants a grounded answer, declared alongside a conventional model rather than instead of one.