From 24c5502d7601ba3f2c5ab459015c74002b3af5c6 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Wed, 15 May 2024 21:07:49 +0200 Subject: Add needs auth to provierds, Add PerplexityApi provider Add proxy support to nodriver --- g4f/Provider/needs_auth/PerplexityApi.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 g4f/Provider/needs_auth/PerplexityApi.py (limited to 'g4f/Provider/needs_auth/PerplexityApi.py') diff --git a/g4f/Provider/needs_auth/PerplexityApi.py b/g4f/Provider/needs_auth/PerplexityApi.py new file mode 100644 index 00000000..35d8d9d6 --- /dev/null +++ b/g4f/Provider/needs_auth/PerplexityApi.py @@ -0,0 +1,31 @@ +from __future__ import annotations + +from .Openai import Openai +from ...typing import AsyncResult, Messages + +class PerplexityApi(Openai): + label = "Perplexity API" + url = "https://www.perplexity.ai" + working = True + default_model = "llama-3-sonar-large-32k-online" + models = [ + "llama-3-sonar-small-32k-chat", + "llama-3-sonar-small-32k-online", + "llama-3-sonar-large-32k-chat", + "llama-3-sonar-large-32k-online", + "llama-3-8b-instruct", + "llama-3-70b-instruct", + "mixtral-8x7b-instruct" + ] + + @classmethod + def create_async_generator( + cls, + model: str, + messages: Messages, + api_base: str = "https://api.perplexity.ai", + **kwargs + ) -> AsyncResult: + return super().create_async_generator( + model, messages, api_base=api_base, **kwargs + ) \ No newline at end of file -- cgit v1.2.3