|
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_string = await websocket.receive_json() |
|
access_token = json_string['access_token'] |
|
|
|
|
|
access_token = json_string['access_token'] |
|
print(f"access_token:{access_token}") |
|
logging.info(access_token) |
|
user_query = json_string['brand_name'] if json_string.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 !!!") |
|
await websocket.close() |
|
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) |
|
|
|
|