Overview
This plugin allows you to use Perplexity as an LLM provider for your voice agents. Python uses a dedicated livekit-plugins-perplexity package, and Node.js uses Perplexity through the OpenAI plugin.
Usage
Install the plugin:
uv add "livekit-agents[perplexity]~=1.5"
pnpm add @livekit/agents-plugin-openai@1.x
Set the following environment variable in your .env file:
PERPLEXITY_API_KEY=<your-perplexity-api-key>
Create a Perplexity LLM:
from livekit.plugins import perplexitysession = AgentSession(llm=perplexity.LLM(model="sonar-pro",),# ... tts, stt, vad, turn_handling, etc.)
import * as openai from '@livekit/agents-plugin-openai';const session = new voice.AgentSession({llm: openai.LLM.withPerplexity({model: "sonar-pro",}),// ... tts, stt, vad, turnHandling, etc.});
If you already have the OpenAI plugin installed, you can use openai.LLM.with_perplexity() as an alternative. It remains supported, but the dedicated perplexity.LLM() is the recommended path for new code.
Parameters
This section describes some of the available parameters. For a complete reference of all available parameters, see the plugin reference links in the Additional resources section.
modelstr | PerplexityChatModelsDefault: sonar-proModel to use for inference. To learn more, see supported models .
temperaturefloatDefault: 1.0Sampling temperature that controls the randomness of the model's output. Higher values make the output more random, while lower values make it more focused and deterministic. Range of valid values can vary by model.
Valid values are between 0 and 2.
parallel_tool_callsboolControls whether the model can make multiple tool calls in parallel. When enabled, the model can make multiple tool calls simultaneously, which can improve performance for complex tasks.
tool_choiceToolChoice | Literal['auto', 'required', 'none']Default: autoControls how the model uses tools. String options are as follows:
'auto': Let the model decide.'required': Force tool usage.'none': Disable tool usage.
Additional resources
The following links provide more information about the Perplexity LLM integration.