from fastapi import APIRouter , Request ,HTTPException , WebSocket from controllers import websocket_controller as wc from controllers import ws_controller as w from controllers import ner_ai_controller as ai from services.chat_client_NER import ChatClient import logging import aiohttp router = APIRouter(prefix="/websockets") @router.websocket("/ws") async def get_data(websocket:WebSocket): await websocket.accept() json = await websocket.receive_json() access_token = json['access_token'] logging.info(f"access_token:{access_token}") user_query = json['brand_name'] if json.get('brand_name') is not None else None logging.info(f"brand_name: {user_query}") if access_token is None: await websocket.send_text("Access Token Invalid OR NULL !!!") websocket.close() # access_token = await websocket.receive_text() brand_name = "" logging.info(f"brand_name: f{user_query}") logging.info(f"access_token : {access_token}") if user_query is not None: chat = ChatClient().create(conversation=[]) response = chat.send_message(content=f"{user_query}", stream=False) if response.text == 'others': brand_name = None else: brand_name = response.text await w.websocket_main(access_token ,websocket,brand_name)