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

XFEstudio/gpt4free

Fix Chatgpt4Online Provider

2f64bc99
Heiner Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

12 个文件 +48 -48
Modified g4f/Provider/AiAsk.py +1 -1
@@ -8,7 +8,7 @@ class AiAsk(AsyncGeneratorProvider):
8 8 url = "https://e.aiask.me"
9 9 supports_message_history = True
10 10 supports_gpt_35_turbo = True
11 working = True
11 working = False
12 12
13 13 @classmethod
14 14 async def create_async_generator(
Modified g4f/Provider/Aichat.py +2 -2
@@ -8,8 +8,8 @@ from .helper import get_cookies
8 8 from ..requests import StreamSession
9 9
10 10 class Aichat(AsyncProvider):
11 url = "https://chat-gpt.org/chat"
12 working = True
11 url = "https://chat-gpt.org/chat"
12 working = False
13 13 supports_gpt_35_turbo = True
14 14
15 15 @staticmethod
Modified g4f/Provider/Chatgpt4Online.py +25 -23
@@ -1,42 +1,44 @@
1 1 from __future__ import annotations
2 2
3 import json
3 import re
4 4 from aiohttp import ClientSession
5 5
6 from ..typing import AsyncResult, Messages
7 from .base_provider import AsyncGeneratorProvider
6 from ..typing import Messages
7 from .base_provider import AsyncProvider
8 from .helper import format_prompt
8 9
9
10 class Chatgpt4Online(AsyncGeneratorProvider):
10 class Chatgpt4Online(AsyncProvider):
11 11 url = "https://chatgpt4online.org"
12 12 supports_message_history = True
13 13 supports_gpt_35_turbo = True
14 working = False
14 working = True
15 _wpnonce = None
15 16
16 17 @classmethod
17 async def create_async_generator(
18 async def create_async(
18 19 cls,
19 20 model: str,
20 21 messages: Messages,
21 22 proxy: str = None,
22 23 **kwargs
23 ) -> AsyncResult:
24 ) -> str:
24 25 async with ClientSession() as session:
26 if not cls._wpnonce:
27 async with session.get(f"{cls.url}/", proxy=proxy) as response:
28 response.raise_for_status()
29 response = await response.text()
30 if result := re.search(r'data-nonce="(.*?)"', response):
31 cls._wpnonce = result.group(1)
32 else:
33 raise RuntimeError("No nonce found")
25 34 data = {
26 "botId": "default",
27 "customId": None,
28 "session": "N/A",
29 "chatId": "",
30 "contextId": 58,
31 "messages": messages,
32 "newMessage": messages[-1]["content"],
33 "stream": True
35 "_wpnonce": cls._wpnonce,
36 "post_id": 58,
37 "url": "https://chatgpt4online.org",
38 "action": "wpaicg_chat_shortcode_message",
39 "message": format_prompt(messages),
40 "bot_id": 3405
34 41 }
35
36 async with session.post(f"{cls.url}/wp-json/mwai-ui/v1/chats/submit", json=data, proxy=proxy) as response:
42 async with session.post(f"{cls.url}/rizq", data=data, proxy=proxy) as response:
37 43 response.raise_for_status()
38 async for line in response.content:
39 if line.startswith(b"data: "):
40 line = json.loads(line[6:])
41 if line["type"] == "live":
42 yield line["data"]
44 return (await response.json())["data"]
Modified g4f/Provider/FreeGpt.py +1 -1
@@ -12,7 +12,7 @@ domains = [
12 12
13 13 class FreeGpt(AsyncGeneratorProvider):
14 14 url = "https://freegpts1.aifree.site/"
15 working = True
15 working = False
16 16 supports_message_history = True
17 17 supports_gpt_35_turbo = True
18 18
Modified g4f/Provider/__init__.py +0 -5
@@ -1,9 +1,6 @@
1 1 from __future__ import annotations
2 from .Acytoo import Acytoo
3 2 from .AiAsk import AiAsk
4 from .Aibn import Aibn
5 3 from .Aichat import Aichat
6 from .Ails import Ails
7 4 from .AItianhu import AItianhu
8 5 from .AItianhuSpace import AItianhuSpace
9 6 from .Berlin import Berlin
@@ -13,11 +10,9 @@ from .ChatForAi import ChatForAi
13 10 from .Chatgpt4Online import Chatgpt4Online
14 11 from .ChatgptAi import ChatgptAi
15 12 from .ChatgptDemo import ChatgptDemo
16 from .ChatgptDuo import ChatgptDuo
17 13 from .ChatgptFree import ChatgptFree
18 14 from .ChatgptLogin import ChatgptLogin
19 15 from .ChatgptX import ChatgptX
20 from .Cromicle import Cromicle
21 16 from .DeepInfra import DeepInfra
22 17 from .FakeGpt import FakeGpt
23 18 from .FreeGpt import FreeGpt
Renamed g4f/Provider/deprecated/Acytoo.py +2 -2
@@ -2,8 +2,8 @@ from __future__ import annotations
2 2
3 3 from aiohttp import ClientSession
4 4
5 from ..typing import AsyncResult, Messages
6 from .base_provider import AsyncGeneratorProvider
5 from ...typing import AsyncResult, Messages
6 from ..base_provider import AsyncGeneratorProvider
7 7
8 8
9 9 class Acytoo(AsyncGeneratorProvider):
Renamed g4f/Provider/deprecated/Aibn.py +3 -3
@@ -3,9 +3,9 @@ from __future__ import annotations
3 3 import time
4 4 import hashlib
5 5
6 from ..typing import AsyncResult, Messages
7 from ..requests import StreamSession
8 from .base_provider import AsyncGeneratorProvider
6 from ...typing import AsyncResult, Messages
7 from ...requests import StreamSession
8 from ..base_provider import AsyncGeneratorProvider
9 9
10 10
11 11 class Aibn(AsyncGeneratorProvider):
Renamed g4f/Provider/deprecated/Ails.py +2 -2
@@ -7,8 +7,8 @@ import json
7 7 from datetime import datetime
8 8 from aiohttp import ClientSession
9 9
10 from ..typing import SHA256, AsyncResult, Messages
11 from .base_provider import AsyncGeneratorProvider
10 from ...typing import SHA256, AsyncResult, Messages
11 from ..base_provider import AsyncGeneratorProvider
12 12
13 13
14 14 class Ails(AsyncGeneratorProvider):
Renamed g4f/Provider/deprecated/ChatgptDuo.py +2 -2
@@ -1,8 +1,8 @@
1 1 from __future__ import annotations
2 2
3 from ..typing import Messages
3 from ...typing import Messages
4 4 from curl_cffi.requests import AsyncSession
5 from .base_provider import AsyncProvider, format_prompt
5 from ..base_provider import AsyncProvider, format_prompt
6 6
7 7
8 8 class ChatgptDuo(AsyncProvider):
Renamed g4f/Provider/deprecated/Cromicle.py +3 -3
@@ -2,10 +2,10 @@ from __future__ import annotations
2 2
3 3 from aiohttp import ClientSession
4 4 from hashlib import sha256
5 from ..typing import AsyncResult, Messages, Dict
5 from ...typing import AsyncResult, Messages, Dict
6 6
7 from .base_provider import AsyncGeneratorProvider
8 from .helper import format_prompt
7 from ..base_provider import AsyncGeneratorProvider
8 from ..helper import format_prompt
9 9
10 10
11 11 class Cromicle(AsyncGeneratorProvider):
Modified g4f/Provider/deprecated/__init__.py +6 -1
@@ -13,4 +13,9 @@ from .FastGpt import FastGpt
13 13 from .Aivvm import Aivvm
14 14 from .Vitalentum import Vitalentum
15 15 from .H2o import H2o
16 from .Myshell import Myshell
16 from .Myshell import Myshell
17 from .Acytoo import Acytoo
18 from .Aibn import Aibn
19 from .Ails import Ails
20 from .ChatgptDuo import ChatgptDuo
21 from .Cromicle import Cromicle
Modified g4f/models.py +1 -3
@@ -15,10 +15,8 @@ from .Provider import (
15 15 Berlin,
16 16 Llama2,
17 17 Vercel,
18 Aichat,
19 18 GPTalk,
20 19 Koala,
21 AiAsk,
22 20 GptGo,
23 21 Phind,
24 22 Bard,
@@ -42,7 +40,7 @@ default = Model(
42 40 base_provider = "",
43 41 best_provider = RetryProvider([
44 42 Bing, # Not fully GPT 3 or 4
45 AiAsk, Aichat, ChatgptAi, FreeGpt, GptGo, GeekGpt,
43 ChatgptAi, GptGo, GeekGpt,
46 44 Phind, You
47 45 ])
48 46 )