From 6fb45515400488b32ac970bbd9f6f51023259b9f Mon Sep 17 00:00:00 2001 From: Bagus Indrayana Date: Wed, 12 Jul 2023 07:49:23 +0800 Subject: refactor/move provider from testing folder --- testing/wewordle/README.md | 1 - testing/wewordle/Wewordle.py | 97 -------------------------------------------- testing/wewordle/testing.py | 30 -------------- 3 files changed, 128 deletions(-) delete mode 100644 testing/wewordle/README.md delete mode 100644 testing/wewordle/Wewordle.py delete mode 100644 testing/wewordle/testing.py (limited to 'testing/wewordle') diff --git a/testing/wewordle/README.md b/testing/wewordle/README.md deleted file mode 100644 index ec2289c2..00000000 --- a/testing/wewordle/README.md +++ /dev/null @@ -1 +0,0 @@ -original from website https://chat-gpt.com/chat https://github.com/xtekky/gpt4free/issues/40#issuecomment-1629152431, i got api https://wewordle.org/gptapi/v1/web/turbo but it got limit so i try to try reverse they android app and i got api https://wewordle.org/gptapi/v1/android/turbo and just randomize user id to bypass limit \ No newline at end of file diff --git a/testing/wewordle/Wewordle.py b/testing/wewordle/Wewordle.py deleted file mode 100644 index 0d79c5c7..00000000 --- a/testing/wewordle/Wewordle.py +++ /dev/null @@ -1,97 +0,0 @@ -import os,sys -import requests -import json -import random -import time -import string -# from ...typing import sha256, Dict, get_type_hints - -url = "https://wewordle.org/gptapi/v1/android/turbo" -model = ['gpt-3.5-turbo'] -supports_stream = False -needs_auth = False - - -def _create_completion(model: str, messages: list, stream: bool, **kwargs): - base = '' - for message in messages: - base += '%s: %s\n' % (message['role'], message['content']) - base += 'assistant:' - # randomize user id and app id - _user_id = ''.join(random.choices(f'{string.ascii_lowercase}{string.digits}', k=16)) - _app_id = ''.join(random.choices(f'{string.ascii_lowercase}{string.digits}', k=31)) - # make current date with format utc - _request_date = time.strftime("%Y-%m-%dT%H:%M:%S.000Z", time.gmtime()) - headers = { - 'accept': '*/*', - 'pragma': 'no-cache', - 'Content-Type': 'application/json', - 'Connection':'keep-alive' - # user agent android client - # 'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 10; SM-G975F Build/QP1A.190711.020)', - - } - data = { - "user": _user_id, - "messages": [ - {"role": "user", "content": base} - ], - "subscriber": { - "originalPurchaseDate": None, - "originalApplicationVersion": None, - "allPurchaseDatesMillis": {}, - "entitlements": { - "active": {}, - "all": {} - }, - "allPurchaseDates": {}, - "allExpirationDatesMillis": {}, - "allExpirationDates": {}, - "originalAppUserId": f"$RCAnonymousID:{_app_id}", - "latestExpirationDate": None, - "requestDate": _request_date, - "latestExpirationDateMillis": None, - "nonSubscriptionTransactions": [], - "originalPurchaseDateMillis": None, - "managementURL": None, - "allPurchasedProductIdentifiers": [], - "firstSeen": _request_date, - "activeSubscriptions": [] - } - } - response = requests.post(url, headers=headers, data=json.dumps(data)) - if response.status_code == 200: - _json = response.json() - if 'message' in _json: - yield _json['message']['content'] - else: - print(f"Error Occurred::{response.status_code}") - return None - -# params = f'g4f.Providers.{os.path.basename(__file__)[:-3]} supports: ' + \ -# '(%s)' % ', '.join( -# [f"{name}: {get_type_hints(_create_completion)[name].__name__}" for name in _create_completion.__code__.co_varnames[:_create_completion.__code__.co_argcount]]) - - -# Temporary For ChatCompletion Class -class ChatCompletion: - @staticmethod - def create(model: str, messages: list, provider: None or str, stream: bool = False, auth: str = False, **kwargs): - kwargs['auth'] = auth - - if provider and needs_auth and not auth: - print( - f'ValueError: {provider} requires authentication (use auth="cookie or token or jwt ..." param)', file=sys.stderr) - sys.exit(1) - - try: - - - return (_create_completion(model, messages, stream, **kwargs) - if stream else ''.join(_create_completion(model, messages, stream, **kwargs))) - except TypeError as e: - print(e) - arg: str = str(e).split("'")[1] - print( - f"ValueError: {provider} does not support '{arg}' argument", file=sys.stderr) - sys.exit(1) diff --git a/testing/wewordle/testing.py b/testing/wewordle/testing.py deleted file mode 100644 index cebcaeed..00000000 --- a/testing/wewordle/testing.py +++ /dev/null @@ -1,30 +0,0 @@ -from Wewordle import ChatCompletion - -# Test 1 -response = ChatCompletion.create(model="gpt-3.5-turbo", - provider="Wewordle", - stream=False, - messages=[{'role': 'user', 'content': 'who are you?'}]) - -print(response) - -# Test 2 -response = ChatCompletion.create(model="gpt-3.5-turbo", - provider="Wewordle", - stream=False, - messages=[{'role': 'user', 'content': 'what you can do?'}]) - -print(response) - - -# Test 3 -response = ChatCompletion.create(model="gpt-3.5-turbo", - provider="Wewordle", - stream=False, - messages=[ - {'role': 'user', 'content': 'now your name is Bob'}, - {'role': 'assistant', 'content': 'Hello Im Bob, you asistant'}, - {'role': 'user', 'content': 'what your name again?'}, - ]) - -print(response) -- cgit v1.2.3