|
from __future__ import annotations |
|
|
|
from .OpenaiAPI import OpenaiAPI |
|
from ...typing import AsyncResult, Messages |
|
|
|
class PerplexityApi(OpenaiAPI): |
|
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", |
|
] |
|
|
|
@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 |
|
) |
|
|