summaryrefslogtreecommitdiffstats
path: root/g4f/Provider/not_working/Bestim.py
diff options
context:
space:
mode:
Diffstat (limited to 'g4f/Provider/not_working/Bestim.py')
-rw-r--r--g4f/Provider/not_working/Bestim.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/g4f/Provider/not_working/Bestim.py b/g4f/Provider/not_working/Bestim.py
new file mode 100644
index 00000000..94a4d32b
--- /dev/null
+++ b/g4f/Provider/not_working/Bestim.py
@@ -0,0 +1,56 @@
+from __future__ import annotations
+
+from ...typing import Messages
+from ..base_provider import BaseProvider, CreateResult
+from ...requests import get_session_from_browser
+from uuid import uuid4
+
+class Bestim(BaseProvider):
+ url = "https://chatgpt.bestim.org"
+ working = False
+ supports_gpt_35_turbo = True
+ supports_message_history = True
+ supports_stream = True
+
+ @classmethod
+ def create_completion(
+ cls,
+ model: str,
+ messages: Messages,
+ stream: bool,
+ proxy: str = None,
+ **kwargs
+ ) -> CreateResult:
+ session = get_session_from_browser(cls.url, proxy=proxy)
+ headers = {
+ 'Accept': 'application/json, text/event-stream',
+ }
+ data = {
+ "messagesHistory": [{
+ "id": str(uuid4()),
+ "content": m["content"],
+ "from": "you" if m["role"] == "user" else "bot"
+ } for m in messages],
+ "type": "chat",
+ }
+ response = session.post(
+ url="https://chatgpt.bestim.org/chat/send2/",
+ json=data,
+ headers=headers,
+ stream=True
+ )
+ response.raise_for_status()
+ for line in response.iter_lines():
+ if not line.startswith(b"event: trylimit"):
+ yield line.decode().removeprefix("data: ")
+
+
+
+
+
+
+
+
+
+
+