From 97346e625709ff147a2c5a3884b0457aecd4a2e3 Mon Sep 17 00:00:00 2001 From: ggindinson Date: Fri, 26 May 2023 21:43:25 +0300 Subject: Added support for AiColors --- gpt4free/aicolors/__init__.py | 30 ++++++++++++++++++++++++++++++ gpt4free/aicolors/typings/__init__.py | 9 +++++++++ 2 files changed, 39 insertions(+) create mode 100644 gpt4free/aicolors/__init__.py create mode 100644 gpt4free/aicolors/typings/__init__.py diff --git a/gpt4free/aicolors/__init__.py b/gpt4free/aicolors/__init__.py new file mode 100644 index 00000000..f3afa265 --- /dev/null +++ b/gpt4free/aicolors/__init__.py @@ -0,0 +1,30 @@ +import fake_useragent +import requests +import json +from typings import AiColorsResponse + + +class Completion: + @staticmethod + def create( + query: str = "", + ) -> AiColorsResponse: + headers = { + "authority": "jsuifmbqefnxytqwmaoy.functions.supabase.co", + "accept": "*/*", + "accept-language": "en-US,en;q=0.5", + "cache-control": "no-cache", + "sec-fetch-dest": "empty", + "sec-fetch-mode": "cors", + "sec-fetch-site": "same-origin", + "user-agent": fake_useragent.UserAgent().random, + } + + json_data = {"query": query} + + url = "https://jsuifmbqefnxytqwmaoy.functions.supabase.co/chatgpt" + request = requests.post(url, headers=headers, json=json_data, timeout=30) + data = request.json().get("text").get("content") + json_data = json.loads(data.replace("\n ", "")) + + return AiColorsResponse(**json_data) diff --git a/gpt4free/aicolors/typings/__init__.py b/gpt4free/aicolors/typings/__init__.py new file mode 100644 index 00000000..8c4f29d1 --- /dev/null +++ b/gpt4free/aicolors/typings/__init__.py @@ -0,0 +1,9 @@ +from dataclasses import dataclass + + +@dataclass +class AiColorsResponse: + background: str + primary: str + accent: str + text: str -- cgit v1.2.3 From 223f09a4f10ccfc369062ae8285b19627bacc3b2 Mon Sep 17 00:00:00 2001 From: ggindinson Date: Fri, 26 May 2023 21:57:22 +0300 Subject: Added testing file and init in gpt4free --- gpt4free/__init__.py | 35 ++++++++++++++++++++++------------- testing/aicolors_test.py | 6 ++++++ 2 files changed, 28 insertions(+), 13 deletions(-) create mode 100644 testing/aicolors_test.py diff --git a/gpt4free/__init__.py b/gpt4free/__init__.py index 2dc6f5f3..bcc03a3b 100644 --- a/gpt4free/__init__.py +++ b/gpt4free/__init__.py @@ -5,18 +5,20 @@ from gpt4free import quora from gpt4free import theb from gpt4free import usesless from gpt4free import you +from gpt4free import aicolors from gpt4free import deepai class Provider(Enum): """An enum representing different providers.""" - You = 'you' - Poe = 'poe' - ForeFront = 'fore_front' - Theb = 'theb' - UseLess = 'useless' - DeepAI = 'deepai' + You = "you" + Poe = "poe" + ForeFront = "fore_front" + Theb = "theb" + UseLess = "useless" + AiColors = "ai_colors" + DeepAI = "deepai" class Completion: @@ -42,10 +44,16 @@ class Completion: return Completion.__theb_service(prompt, **kwargs) elif provider == Provider.UseLess: return Completion.__useless_service(prompt, **kwargs) + elif provider == Provider.AiColors: + return Completion.__ai_colors_service(prompt, **kwargs) elif provider == Provider.DeepAI: return Completion.__deepai_service(prompt, **kwargs) else: - raise Exception('Provider not exist, Please try again') + raise Exception("Provider not exist, Please try again") + + @staticmethod + def __ai_colors_service(prompt: str): + return aicolors.Completion.create(prompt=prompt) @staticmethod def __useless_service(prompt: str, **kwargs) -> str: @@ -65,11 +73,12 @@ class Completion: @staticmethod def __theb_service(prompt: str, **kwargs): - return ''.join(theb.Completion.create(prompt=prompt)) - + return "".join(theb.Completion.create(prompt=prompt)) + @staticmethod def __deepai_service(prompt: str, **kwargs): - return ''.join(deepai.Completion.create(prompt=prompt)) + return "".join(deepai.Completion.create(prompt=prompt)) + class ChatCompletion: """This class is used to execute a chat completion for a specified provider""" @@ -87,8 +96,8 @@ class ChatCompletion: if provider == Provider.DeepAI: return ChatCompletion.__deepai_service(messages, **kwargs) else: - raise Exception('Provider not exist, Please try again') - + raise Exception("Provider not exist, Please try again") + @staticmethod def __deepai_service(messages: list, **kwargs): - return ''.join(deepai.ChatCompletion.create(messages=messages)) \ No newline at end of file + return "".join(deepai.ChatCompletion.create(messages=messages)) diff --git a/testing/aicolors_test.py b/testing/aicolors_test.py new file mode 100644 index 00000000..853f7e45 --- /dev/null +++ b/testing/aicolors_test.py @@ -0,0 +1,6 @@ +from gpt4free import aicolors + +prompt = "Light green color" +req = aicolors.Completion.create(prompt=prompt) + +print(req) -- cgit v1.2.3 From 4186ff19b30888797bd7036b90e08c52746bef4f Mon Sep 17 00:00:00 2001 From: ggindinson <97807772+ggindinson@users.noreply.github.com> Date: Sat, 27 May 2023 16:53:26 +0300 Subject: Create requirements.txt --- requirements.txt | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..286926e5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,37 @@ +websocket-client + +requests + +tls-client + +pypasser + +names + +colorama + +curl_cffi + +streamlit + +selenium + +fake-useragent + +twocaptcha + +https://github.com/AI-Yash/st-chat/archive/refs/pull/24/head.zip + +pydantic + +pymailtm + +Levenshtein + +retrying + +mailgw_temporary_email + +pycryptodome + +random-password-generator -- cgit v1.2.3