File size: 1,363 Bytes
e6fc0dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import requests
import json
import re

headers = {
    'authority': 'openai.a2hosted.com',
    'accept': 'text/event-stream',
    'accept-language': 'en-US,en;q=0.9,id;q=0.8,ja;q=0.7',
    'cache-control': 'no-cache',
    'sec-fetch-dest': 'empty',
    'sec-fetch-mode': 'cors',
    'sec-fetch-site': 'cross-site',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.0.0',
}

def create_query_param(conversation):
    encoded_conversation = json.dumps(conversation)
    return encoded_conversation.replace(" ", "%20").replace('"', '%22').replace("'", "%27")

user_input = input("Enter your message: ")

data = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "hi"},
    {"role": "assistant", "content": "Hello! How can I assist you today?"},
    {"role": "user", "content": user_input},
]

query_param = create_query_param(data)
url = f'https://openai.a2hosted.com/chat?q={query_param}'

response = requests.get(url, headers=headers, stream=True)

for message in response.iter_content(chunk_size=1024):
    message = message.decode('utf-8')
    msg_match, num_match = re.search(r'"msg":"(.*?)"', message), re.search(r'\[DONE\] (\d+)', message)
    if msg_match: print(msg_match.group(1))
    if num_match: print(num_match.group(1))