Arcypojeb commited on
Commit
14a5a90
1 Parent(s): 50dc9e1

Update pages/Connect.py

Browse files
Files changed (1) hide show
  1. pages/Connect.py +218 -253
pages/Connect.py CHANGED
@@ -1,16 +1,29 @@
1
- import streamlit as st
 
 
2
  import datetime
3
  import asyncio
4
  import sqlite3
5
- import g4f
6
- import streamlit as st
 
7
  import fireworks.client
 
8
  import streamlit.components.v1 as components
9
  from ServG4F import WebSocketServer1
 
10
  from ServFire import WebSocketServer
11
  from ServChar import WebSocketServer2
12
  from clientG4F import WebSocketClient1
 
 
 
 
 
 
 
13
  from PyCharacterAI import Client
 
14
  from clientFireworks import WebSocketClient
15
  from clientCharacter import WebSocketClient2
16
  from websockets.sync.client import connect
@@ -25,164 +38,43 @@ used_ports = []
25
  server_ports = []
26
  client_ports = []
27
 
28
- system_instruction = "You are now integrated with a local websocket server in a project of hierarchical cooperative multi-agent framework called NeuralGPT. Your main job is to coordinate simultaneous work of multiple LLMs connected to you as clients. Each LLM has a model (API) specific ID to help you recognize different clients in a continuous chat thread (template: <NAME>-agent and/or <NAME>-client). Your chat memory module is integrated with a local SQL database with chat history. Your primary objective is to maintain the logical and chronological order while answering incoming messages and to send your answers to the correct clients to maintain synchronization of the question->answer logic. However, please note that you may choose to ignore or not respond to repeating inputs from specific clients as needed to prevent unnecessary traffic."
29
-
30
- db = sqlite3.connect('chat-hub.db')
31
- cursor = db.cursor()
32
- cursor.execute('CREATE TABLE IF NOT EXISTS messages (id INTEGER PRIMARY KEY AUTOINCREMENT, sender TEXT, message TEXT, timestamp TEXT)')
33
- db.commit()
34
-
35
- st.set_page_config(layout="wide")
36
-
37
- async def askCharacter(token, character_ID, question):
38
-
39
- await client.authenticate_with_token(token)
40
- chat = await client.create_or_continue_chat(character_ID)
41
- print(f"User B: {question}")
42
- timestamp = datetime.datetime.now().isoformat()
43
- sender = 'client'
44
- db = sqlite3.connect('chat-hub.db')
45
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
46
- (sender, question, timestamp))
47
- db.commit()
48
- try:
49
- answer = await chat.send_message(question)
50
- response = f"{answer.src_character_name}: {answer.text}"
51
- print(response)
52
- timestamp = datetime.datetime.now().isoformat()
53
- serverSender = 'server'
54
- db = sqlite3.connect('chat-hub.db')
55
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
56
- (serverSender, response, timestamp))
57
- db.commit()
58
- return response
59
-
60
- except Exception as e:
61
- print(f"Error: {e}")
62
-
63
- async def askQuestion(question):
64
- try:
65
- db = sqlite3.connect('chat-hub.db')
66
- cursor = db.cursor()
67
- cursor.execute("SELECT * FROM messages ORDER BY timestamp DESC LIMIT 30")
68
- messages = cursor.fetchall()
69
- messages.reverse()
70
-
71
- past_user_inputs = []
72
- generated_responses = []
73
-
74
- for message in messages:
75
- if message[1] == 'client':
76
- past_user_inputs.append(message[2])
77
- else:
78
- generated_responses.append(message[2])
79
-
80
- response = await g4f.ChatCompletion.create_async(
81
- model=g4f.models.gpt_4,
82
- provider=g4f.Provider.Bing,
83
- messages=[
84
- {"role": "system", "content": system_instruction},
85
- *[{"role": "user", "content": message} for message in past_user_inputs],
86
- *[{"role": "assistant", "content": message} for message in generated_responses],
87
- {"role": "user", "content": question}
88
- ])
89
-
90
- print(response)
91
- return response
92
-
93
- except Exception as e:
94
- print(e)
95
-
96
- async def chatCompletion(question):
97
- fireworks.client.api_key = st.session_state.api_key
98
- try:
99
- # Connect to the database and get the last 30 messages
100
- db = sqlite3.connect('chat-hub.db')
101
- cursor = db.cursor()
102
- cursor.execute("SELECT * FROM messages ORDER BY timestamp DESC LIMIT 10")
103
- messages = cursor.fetchall()
104
- messages.reverse()
105
-
106
- # Extract user inputs and generated responses from the messages
107
- past_user_inputs = []
108
- generated_responses = []
109
-
110
- for message in messages:
111
- if message[1] == 'client':
112
- past_user_inputs.append(message[2])
113
- else:
114
- generated_responses.append(message[2])
115
-
116
- # Prepare data to send to the chatgpt-api.shn.hk
117
- response = fireworks.client.ChatCompletion.create(
118
- model="accounts/fireworks/models/llama-v2-7b-chat",
119
- messages=[
120
- {"role": "system", "content": system_instruction},
121
- *[{"role": "user", "content": input} for input in past_user_inputs],
122
- *[{"role": "assistant", "content": response} for response in generated_responses],
123
- {"role": "user", "content": question}
124
- ],
125
- stream=False,
126
- n=1,
127
- max_tokens=2500,
128
- temperature=0.5,
129
- top_p=0.7,
130
- )
131
-
132
- answer = response.choices[0].message.content
133
- print(answer)
134
- return str(answer)
135
-
136
- except Exception as error:
137
- print("Error while fetching or processing the response:", error)
138
- return "Error: Unable to generate a response."
139
-
140
- async def handleUser(userInput):
141
- print(f"User B: {userInput}")
142
- timestamp = datetime.datetime.now().isoformat()
143
- sender = 'client'
144
- db = sqlite3.connect('chat-hub.db')
145
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
146
- (sender, userInput, timestamp))
147
- db.commit()
148
- try:
149
- response2 = await chatCompletion(userInput)
150
- print(f"Llama2: {response2}")
151
- serverSender = 'server'
152
- timestamp = datetime.datetime.now().isoformat()
153
- db = sqlite3.connect('chat-hub.db')
154
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
155
- (serverSender, response2, timestamp))
156
- db.commit()
157
- return response2
158
-
159
- except Exception as e:
160
- print(f"Error: {e}")
161
-
162
- async def handleUser2(userInput):
163
- print(f"User B: {userInput}")
164
- timestamp = datetime.datetime.now().isoformat()
165
- sender = 'client'
166
- db = sqlite3.connect('chat-hub.db')
167
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
168
- (sender, userInput, timestamp))
169
- db.commit()
170
- try:
171
- response3 = await askQuestion(userInput)
172
- print(f"GPT4Free: {response3}")
173
- serverSender = 'server'
174
- timestamp = datetime.datetime.now().isoformat()
175
- db = sqlite3.connect('chat-hub.db')
176
- db.execute('INSERT INTO messages (sender, message, timestamp) VALUES (?, ?, ?)',
177
- (serverSender, response3, timestamp))
178
- db.commit()
179
- return response3
180
-
181
- except Exception as e:
182
- print(f"Error: {e}")
183
 
184
  async def main():
 
 
 
 
185
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  if "server_ports" not in st.session_state:
187
  st.session_state['server_ports'] = ""
188
  if "client_ports" not in st.session_state:
@@ -199,31 +91,40 @@ async def main():
199
  st.session_state.client = False
200
  if "api_key" not in st.session_state:
201
  st.session_state.api_key = ""
 
 
202
  if "tokenChar" not in st.session_state:
203
  st.session_state.tokenChar = ""
204
  if "charName" not in st.session_state:
205
  st.session_state.charName = ""
206
  if "character_ID" not in st.session_state:
207
  st.session_state.character_ID = ""
 
 
 
 
 
 
 
 
 
 
208
 
209
- st.sidebar.text("Server ports:")
210
- serverPorts = st.sidebar.container(border=True)
211
- serverPorts.markdown(st.session_state['server_ports'])
212
- st.sidebar.text("Client ports")
213
- clientPorts = st.sidebar.container(border=True)
214
- clientPorts.markdown(st.session_state['client_ports'])
215
- st.sidebar.text("Character.ai ID")
216
- user_id = st.sidebar.container(border=True)
217
- user_id.markdown(st.session_state.user_ID)
218
 
219
- st.title("Servers Page")
 
 
 
220
 
221
  c1, c2 = st.columns(2)
222
-
223
  with c1:
224
  websocketPort = st.number_input("Websocket server port", min_value=1000, max_value=9999, value=1000)
225
  startServer = st.button("Start server")
226
- stoptServer = st.button("Stop server")
227
  st.text("Server ports")
228
  serverPorts1 = st.container(border=True)
229
  serverPorts1.markdown(st.session_state['server_ports'])
@@ -231,39 +132,61 @@ async def main():
231
  with c2:
232
  clientPort = st.number_input("Websocket client port", min_value=1000, max_value=9999, value=1000)
233
  runClient = st.button("Start client")
234
- stoptClient = st.button("Stop client")
235
  st.text("Client ports")
236
  clientPorts1 = st.container(border=True)
237
  clientPorts1.markdown(st.session_state['client_ports'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
 
239
- selectServ = st.selectbox("Select source", ("Fireworks", "GPT4Free", "character.ai", "ChainDesk", "Flowise", "DocsBot", "Gradio"))
240
-
 
 
 
 
 
 
 
241
  if selectServ == "Fireworks":
242
- fireworksAPI = st.text_input("Fireworks API")
243
- userInput = st.text_input("Ask agent 1")
244
 
245
  if startServer:
246
  fireworks.client.api_key = fireworksAPI
247
  st.session_state.api_key = fireworks.client.api_key
248
  server_ports.append(websocketPort)
 
249
  st.session_state['server_ports'] = server_ports
250
- serverPorts.markdown(st.session_state['server_ports'])
251
  serverPorts1.markdown(st.session_state['server_ports'])
252
  try:
253
  server = WebSocketServer("localhost", websocketPort)
254
  print(f"Starting WebSocket server on port {websocketPort}...")
255
  await server.start_server()
 
256
  await asyncio.Future()
257
 
258
  except Exception as e:
259
  print(f"Error: {e}")
260
 
261
  if runClient:
 
262
  fireworks.client.api_key = fireworksAPI
263
  st.session_state.api_key = fireworks.client.api_key
264
  client_ports.append(clientPort)
265
  st.session_state['client_ports'] = client_ports
266
- clientPorts.markdown(st.session_state['client_ports'])
267
  clientPorts1.markdown(st.session_state['client_ports'])
268
  try:
269
  uri = f'ws://localhost:{clientPort}'
@@ -271,6 +194,7 @@ async def main():
271
  print(f"Connecting client on port {clientPort}...")
272
  await client.startClient()
273
  st.session_state.client = client
 
274
  await asyncio.Future()
275
 
276
  except Exception as e:
@@ -278,38 +202,37 @@ async def main():
278
 
279
  if userInput:
280
  print(f"User B: {userInput}")
281
- fireworks.client.api_key = fireworksAPI
282
- st.session_state.api_key = fireworks.client.api_key
283
  user_input = st.chat_message("human")
284
  user_input.markdown(userInput)
285
- response1 = await handleUser(userInput)
 
286
  print(response1)
287
  outputMsg = st.chat_message("ai")
288
- outputMsg.markdown(response1)
289
-
290
- if selectServ == "GPT4Free":
291
 
292
- userInput1 = st.text_input("Ask agent_2")
293
 
294
- if startServer:
295
  server_ports.append(websocketPort)
 
296
  st.session_state['server_ports'] = server_ports
297
- serverPorts.markdown(st.session_state['server_ports'])
298
  serverPorts1.markdown(st.session_state['server_ports'])
299
  try:
300
  server1 = WebSocketServer1("localhost", websocketPort)
301
  print(f"Starting WebSocket server on port {websocketPort}...")
302
  await server1.start_server()
303
  st.session_state.server = server1
 
304
  await asyncio.Future()
305
 
306
  except Exception as e:
307
  print(f"Error: {e}")
308
 
309
  if runClient:
 
310
  client_ports.append(clientPort)
311
  st.session_state['client_ports'] = client_ports
312
- clientPorts.markdown(st.session_state['client_ports'])
313
  clientPorts1.markdown(st.session_state['client_ports'])
314
  try:
315
  uri = f'ws://localhost:{clientPort}'
@@ -317,48 +240,29 @@ async def main():
317
  print(f"Connecting client on port {clientPort}...")
318
  await client1.startClient()
319
  st.session_state.client = client1
 
320
  await asyncio.Future()
321
 
322
  except Exception as e:
323
  print(f"Error: {e}")
324
 
325
- if userInput1:
326
  user_input1 = st.chat_message("human")
327
- user_input1.markdown(userInput1)
328
- response = await handleUser2(userInput1)
 
329
  outputMsg1 = st.chat_message("ai")
330
- outputMsg1.markdown(response)
331
-
332
- if selectServ == "character.ai":
333
-
334
- z1, z2 = st.columns(2)
335
 
336
- with z1:
337
- token = st.text_input("User token")
338
-
339
- with z2:
340
- characterID = st.text_input("Character ID")
341
-
342
- userID = st.container(border=True)
343
- userID.markdown(st.session_state.user_ID)
344
 
345
- userInput2 = st.text_input("Ask agent 3")
346
-
347
  if startServer:
348
- client = Client()
349
  server_ports.append(websocketPort)
 
350
  st.session_state['server_ports'] = server_ports
351
- serverPorts.markdown(st.session_state['server_ports'])
352
  serverPorts1.markdown(st.session_state['server_ports'])
353
- st.session_state.tokenChar = token
354
- st.session_state.character_ID = characterID
355
- await client.authenticate_with_token(token)
356
- username = (await client.fetch_user())['user']['username']
357
- st.session_state.user_ID = username
358
- user_id.markdown(st.session_state.user_ID)
359
- userID.markdown(st.session_state.user_ID)
360
  try:
361
- server2 = WebSocketServer2("localhost", websocketPort)
362
  print(f"Starting WebSocket server on port {websocketPort}...")
363
  await server2.start_server()
364
  st.session_state.server = server2
@@ -368,63 +272,124 @@ async def main():
368
  print(f"Error: {e}")
369
 
370
  if runClient:
371
- client = Client()
372
  client_ports.append(clientPort)
373
  st.session_state['client_ports'] = client_ports
374
- clientPorts.markdown(st.session_state['client_ports'])
375
  clientPorts1.markdown(st.session_state['client_ports'])
376
- st.session_state.tokenChar = token
377
- st.session_state.character_ID = characterID
378
- await client.authenticate_with_token(token)
379
- username = (await client.fetch_user())['user']['username']
380
- st.session_state.user_ID = username
381
- user_id.markdown(st.session_state.user_ID)
382
- userID.markdown(st.session_state.user_ID)
383
  try:
384
  uri = f'ws://localhost:{clientPort}'
385
- client2 = WebSocketClient2(uri)
386
  print(f"Connecting client on port {clientPort}...")
387
  await client2.startClient()
388
  st.session_state.client = client2
389
  await asyncio.Future()
390
 
391
  except Exception as e:
392
- print(f"Error: {e}")
393
 
394
- if userInput2:
395
- client = Client()
396
- await client.authenticate_with_token(token)
397
  user_input2 = st.chat_message("human")
398
- user_input2.markdown(userInput2)
399
- st.session_state.tokenChar = token
400
- st.session_state.character_ID = characterID
401
-
402
- username = (await client.fetch_user())['user']['username']
403
- st.session_state.user_ID = username
404
- user_id.markdown(st.session_state.user_ID)
405
- userID.markdown(st.session_state.user_ID)
406
- try:
407
- answer = await askCharacter(token, characterID, userInput2)
408
- outputMsg1 = st.chat_message("ai")
409
- outputMsg1.markdown(answer)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
410
 
411
  except Exception as e:
412
- print(f"Error: {e}")
413
 
414
- if selectServ == "ChainDesk":
415
- url = f"http://localhost:8000/comp.html"
416
- st.components.v1.iframe(url, height=950, scrolling=True)
 
 
 
 
 
 
 
 
 
 
 
 
417
 
418
  if selectServ == "Flowise":
419
- url = f"http://localhost:8000/flowise.html"
420
- st.components.v1.iframe(url, height=950, scrolling=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
 
422
  if selectServ == "DocsBot":
423
- url = f"http://localhost:8000/Docsbotport.html"
424
- st.components.v1.iframe(url, height=950, scrolling=True)
425
 
426
- if selectServ == "Gradio":
427
- url = f"https://huggingface.co/spaces/Arcypojeb/ServerNeural"
428
- st.components.v1.iframe(url, height=950, scrolling=True)
 
429
 
430
- asyncio.run(main())
 
1
+ import g4f
2
+ import json
3
+ import websockets
4
  import datetime
5
  import asyncio
6
  import sqlite3
7
+ import requests
8
+ import http.server
9
+ import socketserver
10
  import fireworks.client
11
+ import streamlit as st
12
  import streamlit.components.v1 as components
13
  from ServG4F import WebSocketServer1
14
+ from ServG4F2 import WebSocketServer3
15
  from ServFire import WebSocketServer
16
  from ServChar import WebSocketServer2
17
  from clientG4F import WebSocketClient1
18
+ from forefront import ForefrontClient
19
+ from clientG4F2 import WebSocketClient3
20
+ from ServFlowise import WebSocketServer5
21
+ from clientFlowise import WebSocketClient5
22
+ from ServForefront import WebSocketServer4
23
+ from ServChaindesk import WebSocketServer6
24
+ from clientChaindesk import WebSocketClient6
25
  from PyCharacterAI import Client
26
+ from clientForefront import WebSocketClient4
27
  from clientFireworks import WebSocketClient
28
  from clientCharacter import WebSocketClient2
29
  from websockets.sync.client import connect
 
38
  server_ports = []
39
  client_ports = []
40
 
41
+ # Stop the WebSocket server
42
+ async def stop_websockets():
43
+ global server
44
+ if server:
45
+ # Close all connections gracefully
46
+ await server.close()
47
+ # Wait for the server to close
48
+ await server.wait_closed()
49
+ print("Stopping WebSocket server...")
50
+ else:
51
+ print("WebSocket server is not running.")
52
+
53
+ # Stop the WebSocket client
54
+ async def stop_client():
55
+ global ws
56
+ # Close the connection with the server
57
+ await ws.close()
58
+ print("Stopping WebSocket client...")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
  async def main():
61
+
62
+ st.set_page_config(layout="wide")
63
+ st.title("serverovnia")
64
+
65
 
66
+ if "server_ports" not in st.session_state:
67
+ st.session_state['server_ports'] = ""
68
+ if "client_ports" not in st.session_state:
69
+ st.session_state['client_ports'] = ""
70
+ if "user_ID" not in st.session_state:
71
+ st.session_state.user_ID = ""
72
+ if "gradio_Port" not in st.session_state:
73
+ st.session_state.gradio_Port = ""
74
+ if "server" not in st.session_state:
75
+ st.session_state.server = False
76
+ if "client" not in st.session_state:
77
+ st.session_state.client = False
78
  if "server_ports" not in st.session_state:
79
  st.session_state['server_ports'] = ""
80
  if "client_ports" not in st.session_state:
 
91
  st.session_state.client = False
92
  if "api_key" not in st.session_state:
93
  st.session_state.api_key = ""
94
+ if "forefront_api" not in st.session_state:
95
+ st.session_state.forefront_api = ""
96
  if "tokenChar" not in st.session_state:
97
  st.session_state.tokenChar = ""
98
  if "charName" not in st.session_state:
99
  st.session_state.charName = ""
100
  if "character_ID" not in st.session_state:
101
  st.session_state.character_ID = ""
102
+ if "flow" not in st.session_state:
103
+ st.session_state.flow = ""
104
+ if "agentID" not in st.session_state:
105
+ st.session_state.agentID = ""
106
+
107
+ if "http_server" not in st.session_state:
108
+
109
+ PORT = 8001
110
+ Handler = http.server.SimpleHTTPRequestHandler
111
+ st.session_state.http_server = True
112
 
113
+ with socketserver.TCPServer(("", PORT), Handler) as httpd:
114
+ print("serving at port", PORT)
115
+ httpd.serve_forever()
 
 
 
 
 
 
116
 
117
+
118
+ userInput = st.chat_input("Ask agent")
119
+
120
+ selectServ = st.selectbox("Select source", ("Fireworks", "Bing", "GPT-3,5", "character.ai", "Forefront", "ChainDesk", "Flowise", "DocsBot"))
121
 
122
  c1, c2 = st.columns(2)
123
+
124
  with c1:
125
  websocketPort = st.number_input("Websocket server port", min_value=1000, max_value=9999, value=1000)
126
  startServer = st.button("Start server")
127
+ stopServer = st.button("Stop server")
128
  st.text("Server ports")
129
  serverPorts1 = st.container(border=True)
130
  serverPorts1.markdown(st.session_state['server_ports'])
 
132
  with c2:
133
  clientPort = st.number_input("Websocket client port", min_value=1000, max_value=9999, value=1000)
134
  runClient = st.button("Start client")
135
+ stopClient = st.button("Stop client")
136
  st.text("Client ports")
137
  clientPorts1 = st.container(border=True)
138
  clientPorts1.markdown(st.session_state['client_ports'])
139
+
140
+ with st.sidebar:
141
+ # Wyświetlanie danych, które mogą być modyfikowane na różnych stronach
142
+ serverPorts = st.container(border=True)
143
+ serverPorts.markdown(st.session_state['server_ports'])
144
+ st.text("Client ports")
145
+ clientPorts = st.container(border=True)
146
+ clientPorts.markdown(st.session_state['client_ports'])
147
+ st.text("Character.ai ID")
148
+ user_id = st.container(border=True)
149
+ user_id.markdown(st.session_state.user_ID)
150
+ status = st.status(label="runs", state="complete", expanded=False)
151
+
152
+ if st.session_state.server == True:
153
+ st.markdown("server running...")
154
 
155
+ if st.session_state.client == True:
156
+ st.markdown("client running")
157
+
158
+ if stopServer:
159
+ stop_websockets
160
+
161
+ if stopClient:
162
+ stop_client
163
+
164
  if selectServ == "Fireworks":
165
+ fireworksAPI = st.text_input("Fireworks API")
 
166
 
167
  if startServer:
168
  fireworks.client.api_key = fireworksAPI
169
  st.session_state.api_key = fireworks.client.api_key
170
  server_ports.append(websocketPort)
171
+ st.session_state.server = True
172
  st.session_state['server_ports'] = server_ports
 
173
  serverPorts1.markdown(st.session_state['server_ports'])
174
  try:
175
  server = WebSocketServer("localhost", websocketPort)
176
  print(f"Starting WebSocket server on port {websocketPort}...")
177
  await server.start_server()
178
+ status.update(label="runs", state="running", expanded=True)
179
  await asyncio.Future()
180
 
181
  except Exception as e:
182
  print(f"Error: {e}")
183
 
184
  if runClient:
185
+ st.session_state.client = True
186
  fireworks.client.api_key = fireworksAPI
187
  st.session_state.api_key = fireworks.client.api_key
188
  client_ports.append(clientPort)
189
  st.session_state['client_ports'] = client_ports
 
190
  clientPorts1.markdown(st.session_state['client_ports'])
191
  try:
192
  uri = f'ws://localhost:{clientPort}'
 
194
  print(f"Connecting client on port {clientPort}...")
195
  await client.startClient()
196
  st.session_state.client = client
197
+ status.update(label="runs", state="running", expanded=True)
198
  await asyncio.Future()
199
 
200
  except Exception as e:
 
202
 
203
  if userInput:
204
  print(f"User B: {userInput}")
205
+ st.session_state.api_key = fireworksAPI
 
206
  user_input = st.chat_message("human")
207
  user_input.markdown(userInput)
208
+ fireworks = WebSocketServer("localhost", websocketPort)
209
+ response1 = await fireworks.chatCompletion(userInput)
210
  print(response1)
211
  outputMsg = st.chat_message("ai")
212
+ outputMsg.markdown(response1)
 
 
213
 
214
+ if selectServ == "Bing":
215
 
216
+ if startServer:
217
  server_ports.append(websocketPort)
218
+ st.session_state.server = True
219
  st.session_state['server_ports'] = server_ports
 
220
  serverPorts1.markdown(st.session_state['server_ports'])
221
  try:
222
  server1 = WebSocketServer1("localhost", websocketPort)
223
  print(f"Starting WebSocket server on port {websocketPort}...")
224
  await server1.start_server()
225
  st.session_state.server = server1
226
+ status.update(label="runs", state="running", expanded=True)
227
  await asyncio.Future()
228
 
229
  except Exception as e:
230
  print(f"Error: {e}")
231
 
232
  if runClient:
233
+ st.session_state.client = True
234
  client_ports.append(clientPort)
235
  st.session_state['client_ports'] = client_ports
 
236
  clientPorts1.markdown(st.session_state['client_ports'])
237
  try:
238
  uri = f'ws://localhost:{clientPort}'
 
240
  print(f"Connecting client on port {clientPort}...")
241
  await client1.startClient()
242
  st.session_state.client = client1
243
+ status.update(label="runs", state="running", expanded=True)
244
  await asyncio.Future()
245
 
246
  except Exception as e:
247
  print(f"Error: {e}")
248
 
249
+ if userInput:
250
  user_input1 = st.chat_message("human")
251
+ user_input1.markdown(userInput)
252
+ bing = WebSocketServer1("localhost", websocketPort)
253
+ response = await bing.askQuestion(userInput)
254
  outputMsg1 = st.chat_message("ai")
255
+ outputMsg1.markdown(response)
 
 
 
 
256
 
257
+ if selectServ == "GPT-3,5":
 
 
 
 
 
 
 
258
 
 
 
259
  if startServer:
 
260
  server_ports.append(websocketPort)
261
+ st.session_state.server = True
262
  st.session_state['server_ports'] = server_ports
 
263
  serverPorts1.markdown(st.session_state['server_ports'])
 
 
 
 
 
 
 
264
  try:
265
+ server2 = WebSocketServer3("localhost", websocketPort)
266
  print(f"Starting WebSocket server on port {websocketPort}...")
267
  await server2.start_server()
268
  st.session_state.server = server2
 
272
  print(f"Error: {e}")
273
 
274
  if runClient:
275
+ st.session_state.client = True
276
  client_ports.append(clientPort)
277
  st.session_state['client_ports'] = client_ports
 
278
  clientPorts1.markdown(st.session_state['client_ports'])
 
 
 
 
 
 
 
279
  try:
280
  uri = f'ws://localhost:{clientPort}'
281
+ client2 = WebSocketClient3(uri)
282
  print(f"Connecting client on port {clientPort}...")
283
  await client2.startClient()
284
  st.session_state.client = client2
285
  await asyncio.Future()
286
 
287
  except Exception as e:
288
+ print(f"Error: {e}")
289
 
290
+ if userInput:
 
 
291
  user_input2 = st.chat_message("human")
292
+ user_input2.markdown(userInput)
293
+ GPT = WebSocketServer3("localhost", websocketPort)
294
+ response = await GPT.askQuestion(userInput)
295
+ outputMsg2 = st.chat_message("ai")
296
+ outputMsg2.markdown(response)
297
+
298
+ if selectServ == "ChainDesk":
299
+
300
+ agentID = st.text_input("Agent ID")
301
+
302
+ if userInput:
303
+ st.session_state.agentID = agentID
304
+ user_input6 = st.chat_message("human")
305
+ user_input6.markdown(userInput)
306
+ chaindesk = WebSocketServer6("localhost")
307
+ response6 = await chaindesk.askChaindesk(userInput)
308
+ outputMsg = st.chat_message("ai")
309
+ outputMsg.markdown(response6)
310
+
311
+ if startServer:
312
+ st.session_state.agentID = agentID
313
+ server_ports.append(websocketPort)
314
+ st.session_state.server = True
315
+ st.session_state['server_ports'] = server_ports
316
+ serverPorts1.markdown(st.session_state['server_ports'])
317
+ try:
318
+ server6 = WebSocketServer6("localhost")
319
+ print(f"Starting WebSocket server on port {websocketPort}...")
320
+ await server6.start_server(websocketPort)
321
+ st.session_state.server = server6
322
+ await asyncio.Future()
323
 
324
  except Exception as e:
325
+ print(f"Error: {e}")
326
 
327
+ if runClient:
328
+ st.session_state.agentID = agentID
329
+ st.session_state.client = True
330
+ client_ports.append(clientPort)
331
+ st.session_state['client_ports'] = client_ports
332
+ clientPorts1.markdown(st.session_state['client_ports'])
333
+ try:
334
+ client6 = WebSocketClient6(clientPort)
335
+ print(f"Connecting client on port {clientPort}...")
336
+ await client6.startClient(clientPort)
337
+ st.session_state.client = client6
338
+ await asyncio.Future()
339
+
340
+ except Exception as e:
341
+ print(f"Error: {e}")
342
 
343
  if selectServ == "Flowise":
344
+
345
+ flow = st.text_input("flow ID")
346
+
347
+ if userInput:
348
+ st.session_state.flow = flow
349
+ user_input6 = st.chat_message("human")
350
+ user_input6.markdown(userInput)
351
+ flowise = WebSocketServer5("localhost")
352
+ response6 = await flowise.askQuestion(userInput)
353
+ outputMsg = st.chat_message("ai")
354
+ outputMsg.markdown(response6)
355
+
356
+ if startServer:
357
+ st.session_state.flow = flow
358
+ server_ports.append(websocketPort)
359
+ st.session_state.server = True
360
+ st.session_state['server_ports'] = server_ports
361
+ serverPorts1.markdown(st.session_state['server_ports'])
362
+ try:
363
+ server5 = WebSocketServer5("localhost")
364
+ print(f"Starting WebSocket server on port {websocketPort}...")
365
+ await server5.start_server()
366
+ st.session_state.server = server5
367
+ await asyncio.Future()
368
+
369
+ except Exception as e:
370
+ print(f"Error: {e}")
371
+
372
+ if runClient:
373
+ st.session_state.flow = flow
374
+ st.session_state.client = True
375
+ client_ports.append(clientPort)
376
+ st.session_state['client_ports'] = client_ports
377
+ clientPorts1.markdown(st.session_state['client_ports'])
378
+ try:
379
+ client5 = WebSocketClient5(clientPort)
380
+ print(f"Connecting client on port {clientPort}...")
381
+ await client5.startClient(clientPort)
382
+ st.session_state.client = client5
383
+ await asyncio.Future()
384
+
385
+ except Exception as e:
386
+ print(f"Error: {e}")
387
 
388
  if selectServ == "DocsBot":
 
 
389
 
390
+ botID = st.text("Docsbot ID")
391
+
392
+ url = f"http://localhost:8001/Docsbotport.html"
393
+ st.components.v1.iframe(url, height=950, scrolling=True)
394
 
395
+ asyncio.run(main())