summaryrefslogtreecommitdiffstats
path: root/unfinished
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gpt4free/usesless/README.md (renamed from unfinished/usesless/README.md)0
-rw-r--r--gpt4free/usesless/__init__.py (renamed from unfinished/usesless/__init__.py)4
-rw-r--r--unfinished/chatpdf/__init__.py87
3 files changed, 51 insertions, 40 deletions
diff --git a/unfinished/usesless/README.md b/gpt4free/usesless/README.md
index 13e9df8c..13e9df8c 100644
--- a/unfinished/usesless/README.md
+++ b/gpt4free/usesless/README.md
diff --git a/unfinished/usesless/__init__.py b/gpt4free/usesless/__init__.py
index 6f9a47ef..6029009d 100644
--- a/unfinished/usesless/__init__.py
+++ b/gpt4free/usesless/__init__.py
@@ -23,6 +23,8 @@ class Completion:
temperature: float = 1,
model: str = "gpt-3.5-turbo",
):
+ print(parentMessageId, prompt)
+
json_data = {
"openaiKey": "",
"prompt": prompt,
@@ -40,12 +42,14 @@ class Completion:
url = "https://ai.usesless.com/api/chat-process"
request = requests.post(url, headers=Completion.headers, json=json_data)
content = request.content
+
response = Completion.__response_to_json(content)
return response
@classmethod
def __response_to_json(cls, text) -> dict:
text = str(text.decode("utf-8"))
+
split_text = text.rsplit("\n", 1)[1]
to_json = json.loads(split_text)
return to_json
diff --git a/unfinished/chatpdf/__init__.py b/unfinished/chatpdf/__init__.py
index 4c9d2d3e..30dc1d3e 100644
--- a/unfinished/chatpdf/__init__.py
+++ b/unfinished/chatpdf/__init__.py
@@ -1,59 +1,66 @@
import requests
import json
+from queue import Queue, Empty
+from threading import Thread
+from json import loads
+from re import findall
+
+
class Completion:
def request(prompt: str):
'''TODO: some sort of authentication + upload PDF from URL or local file
- Then you should get the atoken and chat ID
- '''
-
+ Then you should get the atoken and chat ID
+ '''
+
token = "your_token_here"
chat_id = "your_chat_id_here"
url = "https://chat-pr4yueoqha-ue.a.run.app/"
payload = json.dumps({
- "v": 2,
- "chatSession": {
- "type": "join",
- "chatId": chat_id
- },
- "history": [
- {
- "id": "VNsSyJIq_0",
- "author": "p_if2GPSfyN8hjDoA7unYe",
- "msg": "<start>",
- "time": 1682672009270
- },
- {
- "id": "Zk8DRUtx_6",
- "author": "uplaceholder",
- "msg": prompt,
- "time": 1682672181339
- }
- ]
- })
-
+ "v": 2,
+ "chatSession": {
+ "type": "join",
+ "chatId": chat_id
+ },
+ "history": [
+ {
+ "id": "VNsSyJIq_0",
+ "author": "p_if2GPSfyN8hjDoA7unYe",
+ "msg": "<start>",
+ "time": 1682672009270
+ },
+ {
+ "id": "Zk8DRUtx_6",
+ "author": "uplaceholder",
+ "msg": prompt,
+ "time": 1682672181339
+ }
+ ]
+ })
+
# TODO: fix headers, use random user-agent, streaming response, etc
headers = {
- 'authority': 'chat-pr4yueoqha-ue.a.run.app',
- 'accept': '*/*',
- 'accept-language': 'en-US,en;q=0.9',
- 'atoken': token,
- 'content-type': 'application/json',
- 'origin': 'https://www.chatpdf.com',
- 'referer': 'https://www.chatpdf.com/',
- 'sec-ch-ua': '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"',
- 'sec-ch-ua-mobile': '?0',
- 'sec-ch-ua-platform': '"Windows"',
- 'sec-fetch-dest': 'empty',
- 'sec-fetch-mode': 'cors',
- 'sec-fetch-site': 'cross-site',
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
- }
+ 'authority': 'chat-pr4yueoqha-ue.a.run.app',
+ 'accept': '*/*',
+ 'accept-language': 'en-US,en;q=0.9',
+ 'atoken': token,
+ 'content-type': 'application/json',
+ 'origin': 'https://www.chatpdf.com',
+ 'referer': 'https://www.chatpdf.com/',
+ 'sec-ch-ua': '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"Windows"',
+ 'sec-fetch-dest': 'empty',
+ 'sec-fetch-mode': 'cors',
+ 'sec-fetch-site': 'cross-site',
+ 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'
+ }
- response = requests.request("POST", url, headers=headers, data=payload).text
+ response = requests.request(
+ "POST", url, headers=headers, data=payload).text
Completion.stream_completed = True
return {'response': response}