summaryrefslogtreecommitdiffstats
path: root/g4f/Provider/nexra/NexraChatGPTWeb.py
diff options
context:
space:
mode:
authorkqlio67 <kqlio67@users.noreply.github.com>2024-10-11 08:33:30 +0200
committerkqlio67 <kqlio67@users.noreply.github.com>2024-10-11 08:33:30 +0200
commita9bc67362f2be529fe9165ebb13347195ba1ddcf (patch)
tree1a91836eaa94f14c18ad5d55f687ff8a2118c357 /g4f/Provider/nexra/NexraChatGPTWeb.py
parentfeat(g4f/Provider/__init__.py): add new providers and update imports (diff)
downloadgpt4free-a9bc67362f2be529fe9165ebb13347195ba1ddcf.tar
gpt4free-a9bc67362f2be529fe9165ebb13347195ba1ddcf.tar.gz
gpt4free-a9bc67362f2be529fe9165ebb13347195ba1ddcf.tar.bz2
gpt4free-a9bc67362f2be529fe9165ebb13347195ba1ddcf.tar.lz
gpt4free-a9bc67362f2be529fe9165ebb13347195ba1ddcf.tar.xz
gpt4free-a9bc67362f2be529fe9165ebb13347195ba1ddcf.tar.zst
gpt4free-a9bc67362f2be529fe9165ebb13347195ba1ddcf.zip
Diffstat (limited to 'g4f/Provider/nexra/NexraChatGPTWeb.py')
-rw-r--r--g4f/Provider/nexra/NexraChatGPTWeb.py53
1 files changed, 0 insertions, 53 deletions
diff --git a/g4f/Provider/nexra/NexraChatGPTWeb.py b/g4f/Provider/nexra/NexraChatGPTWeb.py
deleted file mode 100644
index e7738665..00000000
--- a/g4f/Provider/nexra/NexraChatGPTWeb.py
+++ /dev/null
@@ -1,53 +0,0 @@
-from __future__ import annotations
-from aiohttp import ClientSession
-from ...typing import AsyncResult, Messages
-from ..base_provider import AsyncGeneratorProvider, ProviderModelMixin
-from ..helper import format_prompt
-import json
-
-class NexraChatGPTWeb(AsyncGeneratorProvider, ProviderModelMixin):
- label = "Nexra ChatGPT Web"
- api_endpoint = "https://nexra.aryahcr.cc/api/chat/gptweb"
- models = ['gptweb']
-
- @classmethod
- async def create_async_generator(
- cls,
- model: str,
- messages: Messages,
- proxy: str = None,
- **kwargs
- ) -> AsyncResult:
- headers = {
- "Content-Type": "application/json",
- }
-
- async with ClientSession(headers=headers) as session:
- prompt = format_prompt(messages)
- if prompt is None:
- raise ValueError("Prompt cannot be None")
-
- data = {
- "prompt": prompt,
- "markdown": False
- }
-
- async with session.post(cls.api_endpoint, json=data, proxy=proxy) as response:
- response.raise_for_status()
-
- full_response = ""
- async for chunk in response.content:
- if chunk:
- result = chunk.decode("utf-8").strip()
-
- try:
- json_data = json.loads(result)
-
- if json_data.get("status"):
- full_response = json_data.get("gpt", "")
- else:
- full_response = f"Error: {json_data.get('message', 'Unknown error')}"
- except json.JSONDecodeError:
- full_response = "Error: Invalid JSON response."
-
- yield full_response.strip()