XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Update async.py

2b9a95c5
H Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

1 个文件 +4 -16
Modified g4f/client/async.py +4 -16
@@ -13,7 +13,7 @@ from ..typing import Union, Iterator, Messages, ImageType, AsyncIerator
13 13 from ..image import ImageResponse as ImageProviderResponse
14 14 from ..errors import NoImageResponseError, RateLimitError, MissingAuthError
15 15 from .. import get_model_and_provider, get_last_provider
16 from .helper import read_json, find_stop
16 from .helper import read_json, find_stop, filter_none
17 17
18 18 from .Provider.BingCreateImages import BingCreateImages
19 19 from .Provider.needs_auth import Gemini, OpenaiChat
@@ -90,7 +90,7 @@ class Completions():
90 90 ignore_working: bool = False,
91 91 ignore_stream: bool = False,
92 92 **kwargs
93 ) -> Union[ChatCompletion, Iterator[ChatCompletionChunk]]:
93 ) -> Union[ChatCompletion, AsyncIterator[ChatCompletionChunk]]:
94 94 model, provider = get_model_and_provider(
95 95 model,
96 96 self.provider if provider is None else provider,
@@ -101,7 +101,7 @@ class Completions():
101 101 **kwargs
102 102 )
103 103 stop = [stop] if isinstance(stop, str) else stop
104 response = provider.create_completion(
104 response = provider.create_async(
105 105 model, messages, stream,
106 106 **filter_none(
107 107 proxy=self.client.get_proxy(),
@@ -113,7 +113,7 @@ class Completions():
113 113 )
114 114 response = iter_response(response, stream, response_format, max_tokens, stop)
115 115 response = iter_append_model_and_provider(response)
116 return response if stream else next(response)
116 return response if stream else anext(response)
117 117
118 118 class Chat():
119 119 completions: Completions
@@ -121,18 +121,6 @@ class Chat():
121 121 def __init__(self, client: Client, provider: ProviderType = None):
122 122 self.completions = Completions(client, provider)
123 123
124 class ImageModels():
125 gemini = Gemini
126 openai = OpenaiChat
127 you = You
128
129 def __init__(self, client: Client) -> None:
130 self.client = client
131 self.default = BingCreateImages(proxy=self.client.get_proxy())
132
133 def get(self, name: str, default: ImageProvider = None) -> ImageProvider:
134 return getattr(self, name) if hasattr(self, name) else default or self.default
135
136 124 def iter_image_response(response: Iterator) -> Union[ImagesResponse, None]:
137 125 for chunk in list(response):
138 126 if isinstance(chunk, ImageProviderResponse):