diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/litellm/llms/perplexity/chat | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
Diffstat (limited to '.venv/lib/python3.12/site-packages/litellm/llms/perplexity/chat')
-rw-r--r-- | .venv/lib/python3.12/site-packages/litellm/llms/perplexity/chat/transformation.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/litellm/llms/perplexity/chat/transformation.py b/.venv/lib/python3.12/site-packages/litellm/llms/perplexity/chat/transformation.py new file mode 100644 index 00000000..dab64283 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/litellm/llms/perplexity/chat/transformation.py @@ -0,0 +1,43 @@ +""" +Translate from OpenAI's `/v1/chat/completions` to Perplexity's `/v1/chat/completions` +""" + +from typing import Optional, Tuple + +from litellm.secret_managers.main import get_secret_str + +from ...openai.chat.gpt_transformation import OpenAIGPTConfig + + +class PerplexityChatConfig(OpenAIGPTConfig): + def _get_openai_compatible_provider_info( + self, api_base: Optional[str], api_key: Optional[str] + ) -> Tuple[Optional[str], Optional[str]]: + api_base = api_base or get_secret_str("PERPLEXITY_API_BASE") or "https://api.perplexity.ai" # type: ignore + dynamic_api_key = ( + api_key + or get_secret_str("PERPLEXITYAI_API_KEY") + or get_secret_str("PERPLEXITY_API_KEY") + ) + return api_base, dynamic_api_key + + def get_supported_openai_params(self, model: str) -> list: + """ + Perplexity supports a subset of OpenAI params + + Ref: https://docs.perplexity.ai/api-reference/chat-completions + + Eg. Perplexity does not support tools, tool_choice, function_call, functions, etc. + """ + return [ + "frequency_penalty", + "max_tokens", + "max_completion_tokens", + "presence_penalty", + "response_format", + "stream", + "temperature", + "top_p", + "max_retries", + "extra_headers", + ] |