diff options
Diffstat (limited to '')
-rw-r--r-- | g4f/Provider/Koala.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/g4f/Provider/Koala.py b/g4f/Provider/Koala.py index c708bcb9..0dd76b71 100644 --- a/g4f/Provider/Koala.py +++ b/g4f/Provider/Koala.py @@ -5,15 +5,16 @@ from typing import AsyncGenerator, Optional, List, Dict, Union, Any from aiohttp import ClientSession, BaseConnector, ClientResponse from ..typing import AsyncResult, Messages -from .base_provider import AsyncGeneratorProvider +from .base_provider import AsyncGeneratorProvider, ProviderModelMixin from .helper import get_random_string, get_connector from ..requests import raise_for_status -class Koala(AsyncGeneratorProvider): - url = "https://koala.sh" +class Koala(AsyncGeneratorProvider, ProviderModelMixin): + url = "https://koala.sh/chat" + api_endpoint = "https://koala.sh/api/gpt/" working = True - supports_gpt_35_turbo = True supports_message_history = True + default_model = 'gpt-4o-mini' @classmethod async def create_async_generator( @@ -25,17 +26,17 @@ class Koala(AsyncGeneratorProvider): **kwargs: Any ) -> AsyncGenerator[Dict[str, Union[str, int, float, List[Dict[str, Any]], None]], None]: if not model: - model = "gpt-3.5-turbo" + model = "gpt-4o-mini" headers = { "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0", "Accept": "text/event-stream", "Accept-Language": "de,en-US;q=0.7,en;q=0.3", "Accept-Encoding": "gzip, deflate, br", - "Referer": f"{cls.url}/chat", + "Referer": f"{cls.url}", "Flag-Real-Time-Data": "false", "Visitor-ID": get_random_string(20), - "Origin": cls.url, + "Origin": "https://koala.sh", "Alt-Used": "koala.sh", "Sec-Fetch-Dest": "empty", "Sec-Fetch-Mode": "cors", @@ -66,7 +67,7 @@ class Koala(AsyncGeneratorProvider): "model": model, } - async with session.post(f"{cls.url}/api/gpt/", json=data, proxy=proxy) as response: + async with session.post(f"{cls.api_endpoint}", json=data, proxy=proxy) as response: await raise_for_status(response) async for chunk in cls._parse_event_stream(response): yield chunk |