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

XFEstudio/gpt4free

Fix unit tests

16a11f99
Heiner Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

3 个文件 +17 -14
Modified g4f/client/__init__.py +9 -8
@@ -8,7 +8,6 @@ import asyncio
8 8 import base64
9 9 from typing import Union, AsyncIterator, Iterator, Coroutine, Optional
10 10
11 from ..providers.base_provider import AsyncGeneratorProvider
12 11 from ..image import ImageResponse, copy_images, images_dir
13 12 from ..typing import Messages, Image, ImageType
14 13 from ..providers.types import ProviderType
@@ -292,6 +291,7 @@ class Images:
292 291 **kwargs
293 292 ) -> ImagesResponse:
294 293 provider_handler = await self.get_provider_handler(model, provider, BingCreateImages)
294 provider_name = provider.__name__ if hasattr(provider, "__name__") else type(provider).__name__
295 295 if proxy is None:
296 296 proxy = self.client.proxy
297 297
@@ -317,17 +317,17 @@ class Images:
317 317 response = item
318 318 break
319 319 else:
320 raise ValueError(f"Provider {getattr(provider_handler, '__name__')} does not support image generation")
320 raise ValueError(f"Provider {provider_name} does not support image generation")
321 321 if isinstance(response, ImageResponse):
322 322 return await self._process_image_response(
323 323 response,
324 324 response_format,
325 325 proxy,
326 326 model,
327 getattr(provider_handler, "__name__", None)
327 provider_name
328 328 )
329 329 if response is None:
330 raise NoImageResponseError(f"No image response from {getattr(provider_handler, '__name__')}")
330 raise NoImageResponseError(f"No image response from {provider_name}")
331 331 raise NoImageResponseError(f"Unexpected response type: {type(response)}")
332 332
333 333 def create_variation(
@@ -352,6 +352,7 @@ class Images:
352 352 **kwargs
353 353 ) -> ImagesResponse:
354 354 provider_handler = await self.get_provider_handler(model, provider, OpenaiAccount)
355 provider_name = provider.__name__ if hasattr(provider, "__name__") else type(provider).__name__
355 356 if proxy is None:
356 357 proxy = self.client.proxy
357 358
@@ -372,14 +373,14 @@ class Images:
372 373 else:
373 374 response = provider_handler.create_variation(image, model=model, response_format=response_format, proxy=proxy, **kwargs)
374 375 else:
375 raise NoImageResponseError(f"Provider {provider} does not support image variation")
376
376 raise NoImageResponseError(f"Provider {provider_name} does not support image variation")
377
377 378 if isinstance(response, str):
378 379 response = ImageResponse([response])
379 380 if isinstance(response, ImageResponse):
380 return self._process_image_response(response, response_format, proxy, model, getattr(provider, "__name__", None))
381 return self._process_image_response(response, response_format, proxy, model, provider_name)
381 382 if response is None:
382 raise NoImageResponseError(f"No image response from {getattr(provider, '__name__')}")
383 raise NoImageResponseError(f"No image response from {provider_name}")
383 384 raise NoImageResponseError(f"Unexpected response type: {type(response)}")
384 385
385 386 async def _process_image_response(
Modified g4f/client/service.py +7 -5
@@ -74,11 +74,13 @@ def get_model_and_provider(model : Union[Model, str],
74 74 if not provider:
75 75 raise ProviderNotFoundError(f'No provider found for model: {model}')
76 76
77 provider_name = provider.__name__ if hasattr(provider, "__name__") else type(provider).__name__
78
77 79 if isinstance(model, Model):
78 80 model = model.name
79 81
80 82 if not ignore_working and not provider.working:
81 raise ProviderNotWorkingError(f'{provider.__name__} is not working')
83 raise ProviderNotWorkingError(f"{provider_name} is not working")
82 84
83 85 if isinstance(provider, BaseRetryProvider):
84 86 if not ignore_working:
@@ -87,12 +89,12 @@ def get_model_and_provider(model : Union[Model, str],
87 89 provider.providers = [p for p in provider.providers if p.__name__ not in ignored]
88 90
89 91 if not ignore_stream and not provider.supports_stream and stream:
90 raise StreamNotSupportedError(f'{provider.__name__} does not support "stream" argument')
92 raise StreamNotSupportedError(f'{provider_name} does not support "stream" argument')
91 93
92 94 if model:
93 debug.log(f'Using {type(provider).__name__} provider and {model} model')
95 debug.log(f'Using {provider_name} provider and {model} model')
94 96 else:
95 debug.log(f'Using {type(provider).__name__} provider')
97 debug.log(f'Using {provider_name} provider')
96 98
97 99 debug.last_provider = provider
98 100 debug.last_model = model
@@ -115,7 +117,7 @@ def get_last_provider(as_dict: bool = False) -> Union[ProviderType, dict[str, st
115 117 if as_dict:
116 118 if last:
117 119 return {
118 "name": type(last).__name__,
120 "name": last.__name__ if hasattr(last, "__name__") else type(last).__name__,
119 121 "url": last.url,
120 122 "model": debug.last_model,
121 123 "label": getattr(last, "label", None) if hasattr(last, "label") else None
Modified g4f/client/stubs.py +1 -1
@@ -147,4 +147,4 @@ class ImagesResponse(BaseModel):
147 147 model=model,
148 148 provider=provider,
149 149 created=created
150 )
150 )