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

XFEstudio/gpt4free

Fix provider api response (#2408)

* Update __init__.py * Update __init__.py * Update Gemini.py * Update Gemini.py * Update Gemini.py * Update Gemini.py * Update internet.py

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

代码差异

3 个文件 +17 -16
Modified g4f/Provider/needs_auth/Gemini.py +7 -13
@@ -20,6 +20,7 @@ from ..base_provider import AsyncGeneratorProvider, BaseConversation, Synthesize
20 20 from ..helper import format_prompt, get_cookies
21 21 from ...requests.raise_for_status import raise_for_status
22 22 from ...requests.aiohttp import get_connector
23 from ...requests import get_nodriver
23 24 from ...errors import MissingAuthError
24 25 from ...image import ImageResponse, to_bytes
25 26 from ... import debug
@@ -68,17 +69,7 @@ class Gemini(AsyncGeneratorProvider):
68 69 if debug.logging:
69 70 print("Skip nodriver login in Gemini provider")
70 71 return
71 try:
72 from platformdirs import user_config_dir
73 user_data_dir = user_config_dir("g4f-nodriver")
74 except:
75 user_data_dir = None
76 if debug.logging:
77 print(f"Open nodriver with user_dir: {user_data_dir}")
78 browser = await nodriver.start(
79 user_data_dir=user_data_dir,
80 browser_args=None if proxy is None else [f"--proxy-server={proxy}"],
81 )
72 browser = await get_nodriver(proxy=proxy)
82 73 login_url = os.environ.get("G4F_LOGIN_URL")
83 74 if login_url:
84 75 yield f"Please login: [Google Gemini]({login_url})\n\n"
@@ -118,8 +109,11 @@ class Gemini(AsyncGeneratorProvider):
118 109 if not cls._snlm0e:
119 110 await cls.fetch_snlm0e(session, cls._cookies) if cls._cookies else None
120 111 if not cls._snlm0e:
121 async for chunk in cls.nodriver_login(proxy):
122 yield chunk
112 try:
113 async for chunk in cls.nodriver_login(proxy):
114 yield chunk
115 except Exception as e:
116 raise MissingAuthError('Missing "__Secure-1PSID" cookie', e)
123 117 if not cls._snlm0e:
124 118 if cls._cookies is None or "__Secure-1PSID" not in cls._cookies:
125 119 raise MissingAuthError('Missing "__Secure-1PSID" cookie')
Modified g4f/api/__init__.py +10 -2
@@ -86,6 +86,14 @@ class ProviderResponseModel(BaseModel):
86 86 object: str = "provider"
87 87 created: int
88 88 owned_by: Optional[str]
89 url: Optional[str]
90 label: Optional[str]
91
92 class ProviderResponseModelDetail(ProviderResponseModel):
93 models: list[str]
94 image_models: list[str]
95 vision_models: list[str]
96 params: list[str]
89 97
90 98 class ModelResponseModel(BaseModel):
91 99 id: str
@@ -299,7 +307,7 @@ class Api:
299 307 } for provider in __providers__ if provider.working]
300 308
301 309 @self.app.get("/v1/providers/{provider}")
302 async def providers_info(provider: str) -> ProviderResponseModel:
310 async def providers_info(provider: str) -> ProviderResponseModelDetail:
303 311 if provider not in ProviderUtils.convert:
304 312 return JSONResponse({"error": "The provider does not exist."}, 404)
305 313 provider: ProviderType = ProviderUtils.convert[provider]
@@ -396,4 +404,4 @@ def run_api(
396 404 use_colors=use_colors,
397 405 factory=True,
398 406 reload=reload
399 )
407 )
Modified g4f/gui/server/internet.py +0 -1
@@ -107,7 +107,6 @@ async def search(query: str, n_results: int = 5, max_words: int = 2500, add_text
107 107 safesearch="moderate",
108 108 timelimit="y",
109 109 max_results=n_results,
110 backend="html"
111 110 ):
112 111 results.append(SearchResultEntry(
113 112 result["title"],