返回提交历史
Modified
g4f/Provider/AiAsk.py
+1
-1
Modified
g4f/Provider/Aichat.py
+2
-2
Modified
g4f/Provider/Chatgpt4Online.py
+25
-23
Modified
g4f/Provider/FreeGpt.py
+1
-1
Modified
g4f/Provider/__init__.py
+0
-5
Renamed
g4f/Provider/deprecated/Acytoo.py
+2
-2
Renamed
g4f/Provider/deprecated/Aibn.py
+3
-3
Renamed
g4f/Provider/deprecated/Ails.py
+2
-2
Renamed
g4f/Provider/deprecated/ChatgptDuo.py
+2
-2
Renamed
g4f/Provider/deprecated/Cromicle.py
+3
-3
Modified
g4f/Provider/deprecated/__init__.py
+6
-1
Modified
g4f/models.py
+1
-3
XFEstudio/gpt4free
Fix Chatgpt4Online Provider
2f64bc99
代码差异
12 个文件
+48
-48
@@ -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(
@@ -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
@@ -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"]
@@ -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
@@ -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
@@ -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):
@@ -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):
@@ -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):
@@ -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):
@@ -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):
@@ -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
@@ -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
)