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/Yqcloud.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 g4f/Provider/Yqcloud.py (limited to 'g4f/Provider/Yqcloud.py') diff --git a/g4f/Provider/Yqcloud.py b/g4f/Provider/Yqcloud.py new file mode 100644 index 00000000..3709e53d --- /dev/null +++ b/g4f/Provider/Yqcloud.py @@ -0,0 +1,44 @@ +import requests + +from ..typing import Any, CreateResult +from .base_provider import BaseProvider + + +class Yqcloud(BaseProvider): + url = "https://chat9.yqcloud.top/" + 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://api.aichatos.cloud/api/generateStream" + response = requests.post(url=url, headers=headers, json=payload) + response.raise_for_status() + yield response.text + + +def _create_header(): + return { + "accept": "application/json, text/plain, */*", + "content-type": "application/json", + "origin": "https://chat9.yqcloud.top", + } + + +def _create_payload(messages: list[dict[str, str]]): + prompt = messages[-1]["content"] + return { + "prompt": prompt, + "network": True, + "system": "", + "withoutContext": False, + "stream": False, + } -- cgit v1.2.3