返回提交历史
Modified
g4f/Provider/hf/HuggingChat.py
+7
-7
XFEstudio/gpt4free
Fix response in HuggingChat
64e31046
代码差异
1 个文件
+7
-7
@@ -22,7 +22,7 @@ from ...errors import MissingRequirementsError, MissingAuthError, ResponseError
22
22
from ...image import to_bytes
23
23
from ...requests import get_args_from_nodriver, DEFAULT_HEADERS
24
24
from ...requests.raise_for_status import raise_for_status
25
from ...providers.response import JsonConversation, ImageResponse, Sources, TitleGeneration, Reasoning, RequestLogin
25
from ...providers.response import JsonConversation, ImageResponse, Sources, TitleGeneration, Reasoning, RequestLogin, FinishReason
26
26
from ...cookies import get_cookies
27
27
from ...tools.media import merge_media
28
28
from .models import default_model, default_vision_model, fallback_models, image_models, model_aliases
@@ -169,13 +169,16 @@ class HuggingChat(AsyncAuthedProvider, ProviderModelMixin):
169
169
try:
170
170
line = json.loads(line)
171
171
except json.JSONDecodeError as e:
172
debug.log(f"Failed to decode JSON: {line}, error: {e}")
172
debug.error(f"Failed to decode JSON: {line}, error: {e}")
173
173
continue
174
174
if "type" not in line:
175
175
raise RuntimeError(f"Response: {line}")
176
176
elif line["type"] == "stream":
177
177
yield line["token"].replace('\u0000', '')
178
178
elif line["type"] == "finalAnswer":
179
if sources is not None:
180
yield sources
181
yield FinishReason("stop")
179
182
break
180
183
elif line["type"] == "file":
181
184
url = f"{cls.url}/conversation/{conversationId}/output/{line['sha']}"
@@ -185,10 +188,7 @@ class HuggingChat(AsyncAuthedProvider, ProviderModelMixin):
185
188
elif line["type"] == "title":
186
189
yield TitleGeneration(line["title"])
187
190
elif line["type"] == "reasoning":
188
yield Reasoning(line.get("token"), line.get("status"))
189
190
if sources is not None:
191
yield sources
191
yield Reasoning(line.get("token"), status=line.get("status"))
192
192
193
193
@classmethod
194
194
def create_conversation(cls, session: Session, model: str):
@@ -223,7 +223,7 @@ class HuggingChat(AsyncAuthedProvider, ProviderModelMixin):
223
223
break
224
224
except json.JSONDecodeError:
225
225
continue
226
226
227
227
if not json_data:
228
228
raise RuntimeError("Failed to parse response data")
229
229