summaryrefslogtreecommitdiffstats
path: root/g4f/Provider/Aibn.py
diff options
context:
space:
mode:
authorHeiner Lohaus <hlohaus@users.noreply.github.com>2023-11-13 18:58:52 +0100
committerHeiner Lohaus <hlohaus@users.noreply.github.com>2023-11-13 18:58:52 +0100
commit2f64bc99efed1c7ea44e116ab7db12d5f75412a1 (patch)
tree331ec9190971b8f33521f1bcf9adebc088510f70 /g4f/Provider/Aibn.py
parentAdd Berlin and Koala Provider (diff)
downloadgpt4free-2f64bc99efed1c7ea44e116ab7db12d5f75412a1.tar
gpt4free-2f64bc99efed1c7ea44e116ab7db12d5f75412a1.tar.gz
gpt4free-2f64bc99efed1c7ea44e116ab7db12d5f75412a1.tar.bz2
gpt4free-2f64bc99efed1c7ea44e116ab7db12d5f75412a1.tar.lz
gpt4free-2f64bc99efed1c7ea44e116ab7db12d5f75412a1.tar.xz
gpt4free-2f64bc99efed1c7ea44e116ab7db12d5f75412a1.tar.zst
gpt4free-2f64bc99efed1c7ea44e116ab7db12d5f75412a1.zip
Diffstat (limited to 'g4f/Provider/Aibn.py')
-rw-r--r--g4f/Provider/Aibn.py58
1 files changed, 0 insertions, 58 deletions
diff --git a/g4f/Provider/Aibn.py b/g4f/Provider/Aibn.py
deleted file mode 100644
index 1f81a61e..00000000
--- a/g4f/Provider/Aibn.py
+++ /dev/null
@@ -1,58 +0,0 @@
-from __future__ import annotations
-
-import time
-import hashlib
-
-from ..typing import AsyncResult, Messages
-from ..requests import StreamSession
-from .base_provider import AsyncGeneratorProvider
-
-
-class Aibn(AsyncGeneratorProvider):
- url = "https://aibn.cc"
- working = False
- supports_message_history = True
- supports_gpt_35_turbo = True
-
- @classmethod
- async def create_async_generator(
- cls,
- model: str,
- messages: Messages,
- proxy: str = None,
- timeout: int = 120,
- **kwargs
- ) -> AsyncResult:
- async with StreamSession(
- impersonate="chrome107",
- proxies={"https": proxy},
- timeout=timeout
- ) as session:
- timestamp = int(time.time())
- data = {
- "messages": messages,
- "pass": None,
- "sign": generate_signature(timestamp, messages[-1]["content"]),
- "time": timestamp
- }
- async with session.post(f"{cls.url}/api/generate", json=data) as response:
- response.raise_for_status()
- async for chunk in response.iter_content():
- yield chunk.decode()
-
- @classmethod
- @property
- def params(cls):
- params = [
- ("model", "str"),
- ("messages", "list[dict[str, str]]"),
- ("stream", "bool"),
- ("temperature", "float"),
- ]
- param = ", ".join([": ".join(p) for p in params])
- return f"g4f.provider.{cls.__name__} supports: ({param})"
-
-
-def generate_signature(timestamp: int, message: str, secret: str = "undefined"):
- data = f"{timestamp}:{message}:{secret}"
- return hashlib.sha256(data.encode()).hexdigest() \ No newline at end of file