From f6ef3cb2237d8c336e915ef77ddbe6f37934c4fd Mon Sep 17 00:00:00 2001 From: MIDORIBIN Date: Fri, 28 Jul 2023 19:07:17 +0900 Subject: refactor: refactor provider --- g4f/Provider/Acytoo.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 g4f/Provider/Acytoo.py (limited to 'g4f/Provider/Acytoo.py') diff --git a/g4f/Provider/Acytoo.py b/g4f/Provider/Acytoo.py new file mode 100644 index 00000000..32c67c0c --- /dev/null +++ b/g4f/Provider/Acytoo.py @@ -0,0 +1,47 @@ +import time + +import requests + +from ..typing import Any, CreateResult +from .base_provider import BaseProvider + + +class Acytoo(BaseProvider): + url = "https://chat.acytoo.com/api/completions" + working = True + supports_gpt_35_turbo = True + + @staticmethod + def create_completion( + model: str, + messages: list[dict[str, str]], + stream: bool, + **kwargs: Any, + ) -> CreateResult: + headers = _create_header() + payload = _create_payload(messages) + + url = "https://chat.acytoo.com/api/completions" + response = requests.post(url=url, headers=headers, json=payload) + response.raise_for_status() + yield response.text + + +def _create_header(): + return { + "accept": "*/*", + "content-type": "application/json", + } + + +def _create_payload(messages: list[dict[str, str]]): + payload_messages = [ + message | {"createdAt": int(time.time()) * 1000} for message in messages + ] + return { + "key": "", + "model": "gpt-3.5-turbo", + "messages": payload_messages, + "temperature": 1, + "password": "", + } -- cgit v1.2.3