From 88d2cbff099df00944ed6dfb6c73b1b5e8dfc7f9 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Thu, 5 Oct 2023 05:13:37 +0200 Subject: Add AiAsk, Chatgpt4Online, ChatgptDemo and ChatgptX Provider Fix Bing, Liaobots and ChatgptAi Provider Add "gpt_35_long" model and custom timeout --- g4f/Provider/AiAsk.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 g4f/Provider/AiAsk.py (limited to 'g4f/Provider/AiAsk.py') diff --git a/g4f/Provider/AiAsk.py b/g4f/Provider/AiAsk.py new file mode 100644 index 00000000..906b5575 --- /dev/null +++ b/g4f/Provider/AiAsk.py @@ -0,0 +1,43 @@ +from aiohttp import ClientSession +from ..typing import AsyncGenerator +from .base_provider import AsyncGeneratorProvider + +class AiAsk(AsyncGeneratorProvider): + url = "https://e.aiask.me" + supports_gpt_35_turbo = True + working = True + + @classmethod + async def create_async_generator( + cls, + model: str, + messages: list[dict[str, str]], + timeout: int = 30, + **kwargs + ) -> AsyncGenerator: + headers = { + "accept": "application/json, text/plain, */*", + "origin": cls.url, + "referer": f"{cls.url}/chat", + } + async with ClientSession(headers=headers, timeout=timeout) as session: + data = { + "continuous": True, + "id": "fRMSQtuHl91A4De9cCvKD", + "list": messages, + "models": "0", + "prompt": "", + "temperature": kwargs.get("temperature", 0.5), + "title": "", + } + buffer = "" + rate_limit = "您的免费额度不够使用这个模型啦,请点击右上角登录继续使用!" + async with session.post(f"{cls.url}/v1/chat/gpt/", json=data) as response: + response.raise_for_status() + async for chunk in response.content.iter_any(): + buffer += chunk.decode() + if not rate_limit.startswith(buffer): + yield buffer + buffer = "" + elif buffer == rate_limit: + raise RuntimeError("Rate limit reached") \ No newline at end of file -- cgit v1.2.3 From dbf54769e0c124f59d212108669d4fd95692a2ff Mon Sep 17 00:00:00 2001 From: hs_junxiang Date: Fri, 6 Oct 2023 15:50:16 +0800 Subject: Fix: TypeError: 'type' object is not subscriptable --- g4f/Provider/AiAsk.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'g4f/Provider/AiAsk.py') diff --git a/g4f/Provider/AiAsk.py b/g4f/Provider/AiAsk.py index 906b5575..0a44af3e 100644 --- a/g4f/Provider/AiAsk.py +++ b/g4f/Provider/AiAsk.py @@ -1,7 +1,11 @@ +from __future__ import annotations + from aiohttp import ClientSession + from ..typing import AsyncGenerator from .base_provider import AsyncGeneratorProvider + class AiAsk(AsyncGeneratorProvider): url = "https://e.aiask.me" supports_gpt_35_turbo = True -- cgit v1.2.3 From af9ed889c11f2ca5f1df96c40f072012a68b5713 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Fri, 6 Oct 2023 18:21:56 +0200 Subject: Fix timeout in create_async --- g4f/Provider/AiAsk.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'g4f/Provider/AiAsk.py') diff --git a/g4f/Provider/AiAsk.py b/g4f/Provider/AiAsk.py index 0a44af3e..870dd1ab 100644 --- a/g4f/Provider/AiAsk.py +++ b/g4f/Provider/AiAsk.py @@ -1,11 +1,9 @@ from __future__ import annotations -from aiohttp import ClientSession - +from aiohttp import ClientSession, ClientTimeout from ..typing import AsyncGenerator from .base_provider import AsyncGeneratorProvider - class AiAsk(AsyncGeneratorProvider): url = "https://e.aiask.me" supports_gpt_35_turbo = True @@ -24,7 +22,7 @@ class AiAsk(AsyncGeneratorProvider): "origin": cls.url, "referer": f"{cls.url}/chat", } - async with ClientSession(headers=headers, timeout=timeout) as session: + async with ClientSession(headers=headers, timeout=ClientTimeout(timeout)) as session: data = { "continuous": True, "id": "fRMSQtuHl91A4De9cCvKD", -- cgit v1.2.3 From 4fa6e9c0f597c07d2acf10732fe2aeda270c6ca6 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Sat, 7 Oct 2023 09:02:48 +0200 Subject: Add GptGod Provider Remove timeout from aiohttp providers Disable Opchatgpts and ChatgptLogin provider --- g4f/Provider/AiAsk.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'g4f/Provider/AiAsk.py') diff --git a/g4f/Provider/AiAsk.py b/g4f/Provider/AiAsk.py index 870dd1ab..27d3bf15 100644 --- a/g4f/Provider/AiAsk.py +++ b/g4f/Provider/AiAsk.py @@ -1,6 +1,6 @@ from __future__ import annotations -from aiohttp import ClientSession, ClientTimeout +from aiohttp import ClientSession from ..typing import AsyncGenerator from .base_provider import AsyncGeneratorProvider @@ -14,7 +14,6 @@ class AiAsk(AsyncGeneratorProvider): cls, model: str, messages: list[dict[str, str]], - timeout: int = 30, **kwargs ) -> AsyncGenerator: headers = { @@ -22,7 +21,7 @@ class AiAsk(AsyncGeneratorProvider): "origin": cls.url, "referer": f"{cls.url}/chat", } - async with ClientSession(headers=headers, timeout=ClientTimeout(timeout)) as session: + async with ClientSession(headers=headers) as session: data = { "continuous": True, "id": "fRMSQtuHl91A4De9cCvKD", -- cgit v1.2.3