This repository has been archived by the owner on Mar 14, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 119
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
182 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
from __future__ import annotations | ||
|
||
import json | ||
from aiohttp import ClientSession | ||
|
||
from ..typing import AsyncResult, Messages | ||
from .base_provider import AsyncGeneratorProvider | ||
from .helper import get_random_string | ||
|
||
class NoowAi(AsyncGeneratorProvider): | ||
url = "https://noowai.com" | ||
supports_message_history = True | ||
supports_gpt_35_turbo = True | ||
working = False | ||
|
||
@classmethod | ||
async def create_async_generator( | ||
cls, | ||
model: str, | ||
messages: Messages, | ||
proxy: str = None, | ||
**kwargs | ||
) -> AsyncResult: | ||
headers = { | ||
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0", | ||
"Accept": "*/*", | ||
"Accept-Language": "de,en-US;q=0.7,en;q=0.3", | ||
"Accept-Encoding": "gzip, deflate, br", | ||
"Referer": f"{cls.url}/", | ||
"Content-Type": "application/json", | ||
"Origin": cls.url, | ||
"Alt-Used": "noowai.com", | ||
"Connection": "keep-alive", | ||
"Sec-Fetch-Dest": "empty", | ||
"Sec-Fetch-Mode": "cors", | ||
"Sec-Fetch-Site": "same-origin", | ||
"Pragma": "no-cache", | ||
"Cache-Control": "no-cache", | ||
"TE": "trailers" | ||
} | ||
async with ClientSession(headers=headers) as session: | ||
data = { | ||
"botId": "default", | ||
"customId": "d49bc3670c3d858458576d75c8ea0f5d", | ||
"session": "N/A", | ||
"chatId": get_random_string(), | ||
"contextId": 25, | ||
"messages": messages, | ||
"newMessage": messages[-1]["content"], | ||
"stream": True | ||
} | ||
async with session.post(f"{cls.url}/wp-json/mwai-ui/v1/chats/submit", json=data, proxy=proxy) as response: | ||
response.raise_for_status() | ||
async for line in response.content: | ||
if line.startswith(b"data: "): | ||
try: | ||
line = json.loads(line[6:]) | ||
assert "type" in line | ||
except: | ||
raise RuntimeError(f"Broken line: {line.decode()}") | ||
if line["type"] == "live": | ||
yield line["data"] | ||
elif line["type"] == "end": | ||
break | ||
elif line["type"] == "error": | ||
raise RuntimeError(line["data"]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
from __future__ import annotations | ||
|
||
import json | ||
import requests | ||
from ..base_provider import AbstractProvider | ||
from ...typing import Messages, CreateResult | ||
|
||
|
||
class VoiGpt(AbstractProvider): | ||
""" | ||
VoiGpt - A provider for VoiGpt.com | ||
**Note** : to use this provider you have to get your csrf token/cookie from the voigpt.com website | ||
Args: | ||
model: The model to use | ||
messages: The messages to send | ||
stream: Whether to stream the response | ||
proxy: The proxy to use | ||
access_token: The access token to use | ||
**kwargs: Additional keyword arguments | ||
Returns: | ||
A CreateResult object | ||
""" | ||
url = "https://voigpt.com" | ||
working = False | ||
supports_gpt_35_turbo = True | ||
supports_message_history = True | ||
supports_stream = False | ||
_access_token: str = None | ||
|
||
@classmethod | ||
def create_completion( | ||
cls, | ||
model: str, | ||
messages: Messages, | ||
stream: bool, | ||
proxy: str = None, | ||
access_token: str = None, | ||
**kwargs | ||
) -> CreateResult: | ||
|
||
if not model: | ||
model = "gpt-3.5-turbo" | ||
if not access_token: | ||
access_token = cls._access_token | ||
if not access_token: | ||
headers = { | ||
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", | ||
"accept-language": "de-DE,de;q=0.9,en-DE;q=0.8,en;q=0.7,en-US;q=0.6", | ||
"sec-ch-ua": "\"Google Chrome\";v=\"119\", \"Chromium\";v=\"119\", \"Not?A_Brand\";v=\"24\"", | ||
"sec-ch-ua-mobile": "?0", | ||
"sec-ch-ua-platform": "\"Linux\"", | ||
"sec-fetch-dest": "document", | ||
"sec-fetch-mode": "navigate", | ||
"sec-fetch-site": "none", | ||
"sec-fetch-user": "?1", | ||
"upgrade-insecure-requests": "1", | ||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36", | ||
} | ||
req_response = requests.get(cls.url, headers=headers) | ||
access_token = cls._access_token = req_response.cookies.get("csrftoken") | ||
|
||
headers = { | ||
"Accept-Encoding": "gzip, deflate, br", | ||
"Accept-Language": "de-DE,de;q=0.9,en-DE;q=0.8,en;q=0.7,en-US;q=0.6", | ||
"Cookie": f"csrftoken={access_token};", | ||
"Origin": "https://voigpt.com", | ||
"Referer": "https://voigpt.com/", | ||
"Sec-Ch-Ua": "'Google Chrome';v='119', 'Chromium';v='119', 'Not?A_Brand';v='24'", | ||
"Sec-Ch-Ua-Mobile": "?0", | ||
"Sec-Ch-Ua-Platform": "'Windows'", | ||
"Sec-Fetch-Dest": "empty", | ||
"Sec-Fetch-Mode": "cors", | ||
"Sec-Fetch-Site": "same-origin", | ||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36", | ||
"X-Csrftoken": access_token, | ||
} | ||
|
||
payload = { | ||
"messages": messages, | ||
} | ||
request_url = f"{cls.url}/generate_response/" | ||
req_response = requests.post(request_url, headers=headers, json=payload) | ||
try: | ||
response = json.loads(req_response.text) | ||
yield response["response"] | ||
except: | ||
raise RuntimeError(f"Response: {req_response.text}") | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters