Obiguard provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including Perplexity AI APIs.

With Obiguard, you can take advantage of features like fast AI gateway access, observability, prompt management, and more, all while ensuring the secure management of your LLM API keys through a virtual key system.

Provider Slug. perplexity-ai

Obiguard SDK Integration with Perplexity AI Models

Obiguard provides a consistent API to interact with models from various providers. To integrate Perplexity AI with Obiguard:

1. Install the Obiguard SDK

Add the Obiguard SDK to your application to interact with Perplexity AI’s API through Obiguard’s gateway.

pip install obiguard

2. Initialize Obiguard with the Virtual Key

To use Perplexity AI with Obiguard, get your API key from here, then add it to Obiguard to create the virtual key.

from obiguard import Obiguard

client = Obiguard(
  obiguard_api_key="vk-obg***",  # Your Obiguard virtual key
)

3. Invoke Chat Completions with Perplexity AI

Use the Obiguard instance to send requests to Perplexity AI. You can also override the virtual key directly in the API call if needed.

completion = client.chat.completions.create(
  messages= [{"role": 'user', "content": 'Say this is a test'}],
  model= 'pplx-70b-chat'
)

print(completion)

Fetching citations

If you need to obtain citations in the response, you can disable strict open ai compliance

Perplexity-Specific Features

Perplexity AI offers several unique features that can be accessed through additional parameters in your requests:

Search Domain Filter (Beta)

You can limit citations to specific domains using the search_domain_filter parameter. This feature is currently in closed beta and limited to 3 domains for whitelisting or blacklisting.

completion = client.chat.completions.create(
  messages=[{"role": "user", "content": "Tell me about electric cars"}],
  model="pplx-70b-chat",
  search_domain_filter=["tesla.com", "ford.com", "-competitors.com"] # Use '-' prefix for blacklisting
)

Image Results (Beta)

Enable image results in responses from online models using the return_images parameter:

completion = client.chat.completions.create(
  messages=[{"role": "user", "content": "Show me pictures of electric cars"}],
  model="pplx-70b-chat",
  return_images=True # Feature in closed beta
)

Get related questions in the response using the return_related_questions parameter:

completion = client.chat.completions.create(
  messages=[{"role": "user", "content": "Tell me about electric cars"}],
  model="pplx-70b-chat",
  return_related_questions=True # Feature in closed beta
)

Search Recency Filter

Filter search results based on time intervals using the search_recency_filter parameter:

completion = client.chat.completions.create(
  messages=[{"role": "user", "content": "What are the latest developments in electric cars?"}],
  model="pplx-70b-chat",
  search_recency_filter="week" # Options: month, week, day, hour
)

Web Search Options

Determines how much search context is retrieved for the model. Options are:

  • low: minimizes context for cost savings but less comprehensive answers.
  • medium: balanced approach suitable for most queries.
  • high: maximizes context for comprehensive answers but at higher cost.
completion = client.chat.completions.create(
  messages=[{"role": "user", "content": "What are the latest developments in electric cars?"}],
  model="sonar",
  web_search_options={
    "search_context_size": "high"
  }
)

Search Recency Filter

Filters search results based on time (e.g., ‘week’, ‘day’).

completion = client.chat.completions.create(
  messages=[{"role": "user", "content": "What are the latest developments in electric cars?"}],
  model="sonar",
  search_recency_filter="<string>",
)

Next Steps

The complete list of features supported in the SDK are available on the link below.

Obiguard SDK Client

Learn more about the Obiguard SDK Client