返回提交历史
Deleted
unfinished/openai/README.md
+0
-2
Deleted
unfinished/openai/__ini__.py
+0
-87
XFEstudio/gpt4free
.
49e8f297
代码差异
2 个文件
+0
-89
@@ -1,2 +0,0 @@
1
to do:
2
- code refactoring
@@ -1,87 +0,0 @@
1
# Import required libraries
2
from uuid import uuid4
3
4
from browser_cookie3 import chrome
5
from tls_client import Session
6
7
8
class OpenAIChat:
9
def __init__(self):
10
self.client = Session(client_identifier='chrome110')
11
self._load_cookies()
12
self._set_headers()
13
14
def _load_cookies(self):
15
# Load cookies for the specified domain
16
for cookie in chrome(domain_name='chat.openai.com'):
17
self.client.cookies[cookie.name] = cookie.value
18
19
def _set_headers(self):
20
# Set headers for the client
21
self.client.headers = {
22
'authority': 'chat.openai.com',
23
'accept': 'text/event-stream',
24
'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3',
25
'authorization': 'Bearer ' + self.session_auth()['accessToken'],
26
'cache-control': 'no-cache',
27
'content-type': 'application/json',
28
'origin': 'https://chat.openai.com',
29
'pragma': 'no-cache',
30
'referer': 'https://chat.openai.com/chat',
31
'sec-ch-ua': '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"',
32
'sec-ch-ua-mobile': '?0',
33
'sec-ch-ua-platform': '"macOS"',
34
'sec-fetch-dest': 'empty',
35
'sec-fetch-mode': 'cors',
36
'sec-fetch-site': 'same-origin',
37
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
38
}
39
40
def session_auth(self):
41
headers = {
42
'authority': 'chat.openai.com',
43
'accept': '*/*',
44
'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3',
45
'cache-control': 'no-cache',
46
'pragma': 'no-cache',
47
'referer': 'https://chat.openai.com/chat',
48
'sec-ch-ua': '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"',
49
'sec-ch-ua-mobile': '?0',
50
'sec-ch-ua-platform': '"macOS"',
51
'sec-fetch-dest': 'empty',
52
'sec-fetch-mode': 'cors',
53
'sec-fetch-site': 'same-origin',
54
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
55
}
56
57
return self.client.get('https://chat.openai.com/api/auth/session', headers=headers).json()
58
59
def send_message(self, message):
60
response = self.client.post('https://chat.openai.com/backend-api/conversation', json={
61
'action': 'next',
62
'messages': [
63
{
64
'id': str(uuid4()),
65
'author': {
66
'role': 'user',
67
},
68
'content': {
69
'content_type': 'text',
70
'parts': [
71
message,
72
],
73
},
74
},
75
],
76
'parent_message_id': '9b4682f7-977c-4c8a-b5e6-9713e73dfe01',
77
'model': 'text-davinci-002-render-sha',
78
'timezone_offset_min': -120,
79
})
80
81
return response.text
82
83
84
if __name__ == "__main__":
85
chat = OpenAIChat()
86
response = chat.send_message("hello world")
87
print(response)