Update async.py

This commit is contained in:
H Lohaus 2024-04-06 21:12:02 +02:00 committed by GitHub
parent ecc4748882
commit 393be6be6b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 18 deletions

View File

@ -6,6 +6,7 @@ import time
import random import random
import string import string
from .types import Client as BaseClient
from .types import BaseProvider, ProviderType, FinishReason from .types import BaseProvider, ProviderType, FinishReason
from .stubs import ChatCompletion, ChatCompletionChunk, Image, ImagesResponse from .stubs import ChatCompletion, ChatCompletionChunk, Image, ImagesResponse
from ..typing import Union, Iterator, Messages, ImageType, AsyncIerator from ..typing import Union, Iterator, Messages, ImageType, AsyncIerator
@ -61,30 +62,15 @@ async def iter_append_model_and_provider(response: AsyncIterResponse) -> IterRes
chunk.provider = last_provider.get("name") chunk.provider = last_provider.get("name")
yield chunk yield chunk
class Client(): class Client(BaseClient):
def __init__( def __init__(
self, self,
api_key: str = None,
proxies: Proxies = None,
provider: ProviderType = None,
image_provider: ImageProvider = None,
**kwargs **kwargs
) -> None: ):
self.api_key: str = api_key super().__init__(**kwargs)
self.proxies: Proxies = proxies
self.chat: Chat = Chat(self, provider) self.chat: Chat = Chat(self, provider)
self.images: Images = Images(self, image_provider) self.images: Images = Images(self, image_provider)
def get_proxy(self) -> Union[str, None]:
if isinstance(self.proxies, str):
return self.proxies
elif self.proxies is None:
return os.environ.get("G4F_PROXY")
elif "all" in self.proxies:
return self.proxies["all"]
elif "https" in self.proxies:
return self.proxies["https"]
def filter_none(**kwargs): def filter_none(**kwargs):
for key in list(kwargs.keys()): for key in list(kwargs.keys()):
if kwargs[key] is None: if kwargs[key] is None: