Skip to main content

Quick Start

Get started with Perplexity AI in under 2 minutes:
from portkey_ai import Portkey

# 1. Install: pip install portkey-ai
# 2. Add @perplexity-ai provider in model catalog
# 3. Use it:

portkey = Portkey(api_key="PORTKEY_API_KEY")

response = portkey.chat.completions.create(
    model="@perplexity-ai/sonar",
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)

Add Provider in Model Catalog

Before making requests, add Perplexity AI to your Model Catalog:
  1. Go to Model Catalog → Add Provider
  2. Select Perplexity AI
  3. Enter your Perplexity API key
  4. Name your provider (e.g., perplexity-ai)

Complete Setup Guide

See all setup options and detailed configuration instructions

Perplexity AI Capabilities

Citations

To get citations in responses, disable strict OpenAI compliance.

Search Domain Filter (Beta)

Limit citations to specific domains:
from portkey_ai import Portkey

portkey = Portkey(api_key="PORTKEY_API_KEY")

response = portkey.chat.completions.create(
    model="@perplexity-ai/sonar",
    messages=[{"role": "user", "content": "Tell me about electric cars"}],
    search_domain_filter=["tesla.com", "ford.com", "-competitors.com"]  # '-' prefix for blacklist
)

print(response.choices[0].message.content)

Search Recency Filter

Filter results by time interval:
from portkey_ai import Portkey

portkey = Portkey(api_key="PORTKEY_API_KEY")

response = portkey.chat.completions.create(
    model="@perplexity-ai/sonar",
    messages=[{"role": "user", "content": "Latest developments in AI?"}],
    search_recency_filter="week"  # Options: month, week, day, hour
)

print(response.choices[0].message.content)

Web Search Options

Control search context size:
from portkey_ai import Portkey

portkey = Portkey(api_key="PORTKEY_API_KEY")

response = portkey.chat.completions.create(
    model="@perplexity-ai/sonar",
    messages=[{"role": "user", "content": "Latest developments in AI?"}],
    web_search_options={
        "search_context_size": "high"  # Options: low, medium, high
    }
)

print(response.choices[0].message.content)

Return Images (Beta)

Enable image results in responses:
from portkey_ai import Portkey

portkey = Portkey(api_key="PORTKEY_API_KEY")

response = portkey.chat.completions.create(
    model="@perplexity-ai/sonar",
    messages=[{"role": "user", "content": "Show me pictures of electric cars"}],
    return_images=True
)

print(response.choices[0].message.content)
Get related questions in the response:
from portkey_ai import Portkey

portkey = Portkey(api_key="PORTKEY_API_KEY")

response = portkey.chat.completions.create(
    model="@perplexity-ai/sonar",
    messages=[{"role": "user", "content": "Tell me about electric cars"}],
    return_related_questions=True
)

print(response.choices[0].message.content)

Supported Models

Perplexity offers online reasoning models with real-time search capabilities:
ModelContext LengthDescription
sonar127,072 tokensLatest Sonar model with real-time search
sonar-pro127,072 tokensAdvanced reasoning with deeper search
Check Perplexity’s documentation for the latest models.

Next Steps

For complete SDK documentation:

SDK Reference

Complete Portkey SDK documentation