Hansimov commited on
Commit
68274fa
1 Parent(s): e125cf3

:zap: [Enhance] Print response content in stream with pointer

Browse files
Files changed (1) hide show
  1. conversation_creater.py +14 -10
conversation_creater.py CHANGED
@@ -62,9 +62,8 @@ class ConversationChatter:
62
  "wss://sydney.bing.com/sydney/ChatHub"
63
  + f"?sec_access_token={urllib.parse.quote(self.sec_access_token)}"
64
  )
65
- # print(f"sec_access_token: {self.sec_access_token}")
66
 
67
- async def init_handshake(self, wss):
68
  await wss.send_str(
69
  serialize_websockets_message({"protocol": "json", "version": 1})
70
  )
@@ -94,8 +93,9 @@ class ConversationChatter:
94
  proxy=http_proxy,
95
  )
96
 
97
- await self.init_handshake(wss)
98
  chathub_request_construtor = ChathubRequestConstructor(
 
99
  conversation_style="precise",
100
  client_id=self.client_id,
101
  conversation_id=self.conversation_id,
@@ -106,6 +106,8 @@ class ConversationChatter:
106
  await wss.send_str(
107
  serialize_websockets_message(chathub_request_construtor.request_message)
108
  )
 
 
109
  while not wss.closed:
110
  response_lines_str = await wss.receive_str()
111
  if isinstance(response_lines_str, str):
@@ -122,16 +124,21 @@ class ConversationChatter:
122
  throttling = arguments.get("throttling")
123
  pprint.pprint(throttling)
124
  if arguments.get("messages"):
125
- messages = arguments.get("messages")[0]
126
- html_str = messages["adaptiveCards"][0]["body"][0]["text"]
127
- # pprint.pprint(html_str)
 
 
 
 
 
128
  elif data.get("type") == 2:
129
  if data.get("item"):
130
  item = data.get("item")
131
  for message in item.get("messages"):
132
  author = message["author"]
133
  message_text = message["text"]
134
- print(f"[{author}]: {message_text}")
135
  elif data.get("type") == 3:
136
  print("[Finished]")
137
  await wss.close()
@@ -142,9 +149,6 @@ class ConversationChatter:
142
 
143
 
144
  if __name__ == "__main__":
145
- # cookies_constructor = CookiesConstructor()
146
- # cookies_constructor.construct()
147
-
148
  creator = ConversationCreator()
149
  creator.create()
150
 
 
62
  "wss://sydney.bing.com/sydney/ChatHub"
63
  + f"?sec_access_token={urllib.parse.quote(self.sec_access_token)}"
64
  )
 
65
 
66
+ async def _init_handshake(self, wss):
67
  await wss.send_str(
68
  serialize_websockets_message({"protocol": "json", "version": 1})
69
  )
 
93
  proxy=http_proxy,
94
  )
95
 
96
+ await self._init_handshake(wss)
97
  chathub_request_construtor = ChathubRequestConstructor(
98
+ prompt="Hello, tell me your name. No more than 3 words.",
99
  conversation_style="precise",
100
  client_id=self.client_id,
101
  conversation_id=self.conversation_id,
 
106
  await wss.send_str(
107
  serialize_websockets_message(chathub_request_construtor.request_message)
108
  )
109
+
110
+ delta_content_pointer = 0
111
  while not wss.closed:
112
  response_lines_str = await wss.receive_str()
113
  if isinstance(response_lines_str, str):
 
124
  throttling = arguments.get("throttling")
125
  pprint.pprint(throttling)
126
  if arguments.get("messages"):
127
+ for message in arguments.get("messages"):
128
+ # html_str = messages["adaptiveCards"][0]["body"][0]["text"]
129
+ message_text = message["text"]
130
+ print(
131
+ message_text[delta_content_pointer:], end="", flush=True
132
+ )
133
+ delta_content_pointer = len(message_text)
134
+
135
  elif data.get("type") == 2:
136
  if data.get("item"):
137
  item = data.get("item")
138
  for message in item.get("messages"):
139
  author = message["author"]
140
  message_text = message["text"]
141
+ # print(f"[{author}]: {message_text}")
142
  elif data.get("type") == 3:
143
  print("[Finished]")
144
  await wss.close()
 
149
 
150
 
151
  if __name__ == "__main__":
 
 
 
152
  creator = ConversationCreator()
153
  creator.create()
154