Spaces:
Paused
Paused
:zap: [Enhance] Remove unnecessary info for authentication
Browse files- chathub_request_constructor.py +14 -63
chathub_request_constructor.py
CHANGED
@@ -3,50 +3,29 @@ import uuid
|
|
3 |
from datetime import datetime
|
4 |
|
5 |
|
6 |
-
def generate_random_hex_str(length: int = 32) -> str:
|
7 |
-
return "".join(random.choice("0123456789abcdef") for _ in range(length))
|
8 |
-
|
9 |
-
|
10 |
-
def generate_random_uuid():
|
11 |
-
return str(uuid.uuid4())
|
12 |
-
|
13 |
-
|
14 |
-
def get_locale():
|
15 |
-
return "en-US"
|
16 |
-
|
17 |
-
|
18 |
-
def get_timestamp_str():
|
19 |
-
now = datetime.now()
|
20 |
-
now_utc = datetime.utcnow()
|
21 |
-
timezone_offset = now - now_utc
|
22 |
-
offset_seconds = timezone_offset.total_seconds()
|
23 |
-
offset_hours = int(offset_seconds // 3600)
|
24 |
-
offset_minutes = int((offset_seconds % 3600) // 60)
|
25 |
-
offset_string = f"{offset_hours:+03d}:{offset_minutes:02d}"
|
26 |
-
timestamp_str = datetime.now().strftime("%Y-%m-%dT%H:%M:%S") + offset_string
|
27 |
-
# print(timestamp_str)
|
28 |
-
return timestamp_str
|
29 |
-
|
30 |
-
|
31 |
-
def get_prompt():
|
32 |
-
return "Hello, who are you?"
|
33 |
-
|
34 |
-
|
35 |
class ChathubRequestConstructor:
|
36 |
def __init__(
|
37 |
self,
|
38 |
-
|
39 |
client_id: str,
|
40 |
conversation_id: str,
|
41 |
invocation_id: int = 0,
|
|
|
42 |
):
|
|
|
43 |
self.client_id = client_id
|
44 |
self.conversation_id = conversation_id
|
45 |
-
self.message_id = generate_random_uuid()
|
46 |
self.invocation_id = invocation_id
|
47 |
self.conversation_style = conversation_style
|
|
|
48 |
self.construct()
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
def construct(self):
|
51 |
self.request_message = {
|
52 |
"arguments": [
|
@@ -119,7 +98,7 @@ class ChathubRequestConstructor:
|
|
119 |
"plugins": [
|
120 |
{"id": "c310c353-b9f0-4d76-ab0d-1dd5e979cf68"},
|
121 |
],
|
122 |
-
"traceId":
|
123 |
"conversationHistoryOptionsSets": [
|
124 |
"autosave",
|
125 |
"savemem",
|
@@ -129,46 +108,18 @@ class ChathubRequestConstructor:
|
|
129 |
"isStartOfSession": self.invocation_id == 0,
|
130 |
"requestId": self.message_id,
|
131 |
"message": {
|
132 |
-
"locale": get_locale(), # "en-US"
|
133 |
-
"market": get_locale(), # "en-US"
|
134 |
-
"region": get_locale()[-2:], # "US"
|
135 |
-
"location": "lat:47.639557;long:-122.128159;re=1000m;",
|
136 |
-
"locationHints": [
|
137 |
-
{
|
138 |
-
"SourceType": 1,
|
139 |
-
"RegionType": 2,
|
140 |
-
"Center": {
|
141 |
-
"Latitude": 38.668399810791016,
|
142 |
-
"Longitude": -121.14900207519531,
|
143 |
-
},
|
144 |
-
"Radius": 24902,
|
145 |
-
"Name": "Folsom, California",
|
146 |
-
"Accuracy": 24902,
|
147 |
-
"FDConfidence": 0.5,
|
148 |
-
"CountryName": "United States",
|
149 |
-
"CountryConfidence": 8,
|
150 |
-
"Admin1Name": "California",
|
151 |
-
"PopulatedPlaceName": "Folsom",
|
152 |
-
"PopulatedPlaceConfidence": 5,
|
153 |
-
"PostCodeName": "95630",
|
154 |
-
"UtcOffset": -8,
|
155 |
-
"Dma": 862,
|
156 |
-
}
|
157 |
-
],
|
158 |
-
"userIpAddress": "192.55.55.51",
|
159 |
-
"timestamp": get_timestamp_str(), # "2023-11-20T12:50:17+08:00",
|
160 |
"author": "user",
|
161 |
"inputMethod": "Keyboard",
|
162 |
-
"text":
|
163 |
"messageType": "Chat",
|
164 |
"requestId": self.message_id, # "a6ecd3aa-1007-6959-52fb-9e23f34e86be",
|
165 |
"messageId": self.message_id, # "a6ecd3aa-1007-6959-52fb-9e23f34e86be",
|
166 |
},
|
167 |
"tone": self.conversation_style.capitalize(),
|
168 |
"spokenTextMode": "None",
|
169 |
-
"conversationId": self.conversation_id, # "51D|
|
170 |
"participant": {
|
171 |
-
"id": self.client_id, # "
|
172 |
},
|
173 |
}
|
174 |
],
|
|
|
3 |
from datetime import datetime
|
4 |
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
class ChathubRequestConstructor:
|
7 |
def __init__(
|
8 |
self,
|
9 |
+
prompt,
|
10 |
client_id: str,
|
11 |
conversation_id: str,
|
12 |
invocation_id: int = 0,
|
13 |
+
conversation_style: str = "precise",
|
14 |
):
|
15 |
+
self.prompt = prompt
|
16 |
self.client_id = client_id
|
17 |
self.conversation_id = conversation_id
|
|
|
18 |
self.invocation_id = invocation_id
|
19 |
self.conversation_style = conversation_style
|
20 |
+
self.message_id = self._generate_random_uuid()
|
21 |
self.construct()
|
22 |
|
23 |
+
def _generate_random_uuid(self):
|
24 |
+
return str(uuid.uuid4())
|
25 |
+
|
26 |
+
def _generate_random_hex_str(self, length: int = 32) -> str:
|
27 |
+
return "".join(random.choice("0123456789abcdef") for _ in range(length))
|
28 |
+
|
29 |
def construct(self):
|
30 |
self.request_message = {
|
31 |
"arguments": [
|
|
|
98 |
"plugins": [
|
99 |
{"id": "c310c353-b9f0-4d76-ab0d-1dd5e979cf68"},
|
100 |
],
|
101 |
+
"traceId": self._generate_random_hex_str(),
|
102 |
"conversationHistoryOptionsSets": [
|
103 |
"autosave",
|
104 |
"savemem",
|
|
|
108 |
"isStartOfSession": self.invocation_id == 0,
|
109 |
"requestId": self.message_id,
|
110 |
"message": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
"author": "user",
|
112 |
"inputMethod": "Keyboard",
|
113 |
+
"text": self.prompt,
|
114 |
"messageType": "Chat",
|
115 |
"requestId": self.message_id, # "a6ecd3aa-1007-6959-52fb-9e23f34e86be",
|
116 |
"messageId": self.message_id, # "a6ecd3aa-1007-6959-52fb-9e23f34e86be",
|
117 |
},
|
118 |
"tone": self.conversation_style.capitalize(),
|
119 |
"spokenTextMode": "None",
|
120 |
+
"conversationId": self.conversation_id, # "51D|BingProdUnAuthenticatedUsers|65761F31183134340AFD8F9AF1532EA90DC7F11ED348765DE9BAC956C9BA4669",
|
121 |
"participant": {
|
122 |
+
"id": self.client_id, # "23EBCCB7073868D70172DF780674692D",
|
123 |
},
|
124 |
}
|
125 |
],
|