mirror of https://github.com/xtekky/gpt4free.git
Update async.py
This commit is contained in:
parent
ecc4748882
commit
393be6be6b
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue