Spaces:
Paused
Paused
Daniel Marques
commited on
Commit
•
fa05bba
1
Parent(s):
3532e4c
fix: add redis cache
Browse files
main.py
CHANGED
@@ -6,7 +6,7 @@ import shutil
|
|
6 |
import subprocess
|
7 |
import redis
|
8 |
import torch
|
9 |
-
import
|
10 |
|
11 |
from fastapi import FastAPI, HTTPException, UploadFile, WebSocket, WebSocketDisconnect
|
12 |
from fastapi.staticfiles import StaticFiles
|
@@ -69,13 +69,6 @@ QA = RetrievalQA.from_chain_type(
|
|
69 |
},
|
70 |
)
|
71 |
|
72 |
-
async def pubsub_listener(websocket, client_id):
|
73 |
-
pubsub = redisClient.pubsub()
|
74 |
-
pubsub.subscribe(f'{client_id}')
|
75 |
-
|
76 |
-
while True:
|
77 |
-
message = pubsub.listen()
|
78 |
-
await websocket.send_text(f'{message}')
|
79 |
|
80 |
app = FastAPI(title="homepage-app")
|
81 |
api_app = FastAPI(title="api app")
|
@@ -230,11 +223,17 @@ async def websocket_endpoint(websocket: WebSocket, client_id: int):
|
|
230 |
try:
|
231 |
while True:
|
232 |
prompt = await websocket.receive_text()
|
|
|
|
|
|
|
|
|
|
|
233 |
|
234 |
-
|
235 |
-
|
|
|
|
|
236 |
|
237 |
-
QA(inputs=prompt, return_only_outputs=True, callbacks=[MyCustomSyncHandler()], tags=f'{client_id}', include_run_info=True)
|
238 |
|
239 |
except WebSocketDisconnect:
|
240 |
print('disconnect')
|
|
|
6 |
import subprocess
|
7 |
import redis
|
8 |
import torch
|
9 |
+
import concurrent.futures
|
10 |
|
11 |
from fastapi import FastAPI, HTTPException, UploadFile, WebSocket, WebSocketDisconnect
|
12 |
from fastapi.staticfiles import StaticFiles
|
|
|
69 |
},
|
70 |
)
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
app = FastAPI(title="homepage-app")
|
74 |
api_app = FastAPI(title="api app")
|
|
|
223 |
try:
|
224 |
while True:
|
225 |
prompt = await websocket.receive_text()
|
226 |
+
pubsub = redisClient.pubsub()
|
227 |
+
pubsub.subscribe(f'{client_id}')
|
228 |
+
|
229 |
+
with concurrent.futures.ThreadPoolExecutor() as executor:
|
230 |
+
executor.submit(QA(inputs=prompt, return_only_outputs=True, callbacks=[MyCustomSyncHandler()], tags=f'{client_id}', include_run_info=True))
|
231 |
|
232 |
+
for item in pubsub.listen():
|
233 |
+
print(item)
|
234 |
+
if item['type'] == 'message':
|
235 |
+
await websocket.send_text(f'{item["data"]}')
|
236 |
|
|
|
237 |
|
238 |
except WebSocketDisconnect:
|
239 |
print('disconnect')
|