Skip to content

Add Perplexity LLM plugin#1492

Open
rosetta-livekit-bot[bot] wants to merge 2 commits into
mainfrom
penalty-prudery-verges
Open

Add Perplexity LLM plugin#1492
rosetta-livekit-bot[bot] wants to merge 2 commits into
mainfrom
penalty-prudery-verges

Conversation

@rosetta-livekit-bot
Copy link
Copy Markdown
Contributor

@rosetta-livekit-bot rosetta-livekit-bot Bot commented May 13, 2026

Summary

Adds a livekit-plugins-perplexity plugin that exposes Perplexity's OpenAI-compatible chat completions endpoint as a LiveKit Agents LLM.

The plugin is a thin wrapper around livekit-plugins-openai, mirroring the pattern used by livekit-plugins-cerebras and livekit-plugins-baseten:

  • base_url = https://api.perplexity.ai
  • Default model: sonar-pro
  • API key from the PERPLEXITY_API_KEY env var (or argument)
  • Reuses the existing OpenAI plugin transport — no new runtime dependencies
from livekit.plugins import perplexity

llm = perplexity.LLM(model="sonar-pro")  # picks up PERPLEXITY_API_KEY

Attribution header

Every outgoing chat request carries X-Pplx-Integration: livekit-agents/<plugin-version> (forwarded via extra_headers on the underlying OpenAI client) so usage from the LiveKit integration can be attributed upstream. A unit test asserts this header is configured.

Test plan

  • uv run --package livekit-plugins-perplexity pytest tests/test_plugin_perplexity.py — 4 passed
  • uv run ruff check livekit-plugins/livekit-plugins-perplexity tests/test_plugin_perplexity.py — clean
  • Plugin imports and LLM() instantiates with PERPLEXITY_API_KEY set; raises a clear ValueError otherwise
  • LLM().provider == "Perplexity" and _client.base_url starts with https://api.perplexity.ai

The added tests are pure mocks (no network) and cover: default model, base URL, attribution header, missing-key error, and provider name.

Files

  • livekit-plugins/livekit-plugins-perplexity/ — new package (mirrors cerebras/baseten layout)
  • tests/test_plugin_perplexity.py — unit tests
  • pyproject.toml — register new workspace member

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 13, 2026

🦋 Changeset detected

Latest commit: 666701f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 32 packages
Name Type
@livekit/agents-plugin-perplexity Patch
@livekit/agents Patch
@livekit/agents-plugin-anam Patch
@livekit/agents-plugin-assemblyai Patch
@livekit/agents-plugin-baseten Patch
@livekit/agents-plugin-bey Patch
@livekit/agents-plugin-cartesia Patch
@livekit/agents-plugin-cerebras Patch
@livekit/agents-plugin-deepgram Patch
@livekit/agents-plugin-elevenlabs Patch
@livekit/agents-plugin-fishaudio Patch
@livekit/agents-plugin-google Patch
@livekit/agents-plugin-hedra Patch
@livekit/agents-plugin-hume Patch
@livekit/agents-plugin-inworld Patch
@livekit/agents-plugin-lemonslice Patch
@livekit/agents-plugin-liveavatar Patch
@livekit/agents-plugin-livekit Patch
@livekit/agents-plugin-minimax Patch
@livekit/agents-plugin-mistral Patch
@livekit/agents-plugin-mistralai Patch
@livekit/agents-plugin-neuphonic Patch
@livekit/agents-plugin-openai Patch
@livekit/agents-plugin-phonic Patch
@livekit/agents-plugin-resemble Patch
@livekit/agents-plugin-rime Patch
@livekit/agents-plugin-runway Patch
@livekit/agents-plugin-sarvam Patch
@livekit/agents-plugin-silero Patch
@livekit/agents-plugin-trugen Patch
@livekit/agents-plugin-xai Patch
@livekit/agents-plugins-test Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 3 additional findings.

Open in Devin Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant