Spaces:
Sleeping
Sleeping
Commit
·
8a7d04a
1
Parent(s):
5806256
Fix import error: replace hybrid_rag_service with available services
Browse files- groq_websocket_handler.py +17 -8
groq_websocket_handler.py
CHANGED
|
@@ -16,7 +16,8 @@ import uuid
|
|
| 16 |
|
| 17 |
from fastapi import WebSocket, WebSocketDisconnect
|
| 18 |
from groq_voice_service import groq_voice_service
|
| 19 |
-
from rag_service import
|
|
|
|
| 20 |
|
| 21 |
logger = logging.getLogger("voicebot")
|
| 22 |
|
|
@@ -24,6 +25,7 @@ class GroqWebSocketHandler:
|
|
| 24 |
def __init__(self):
|
| 25 |
self.active_connections: Dict[str, WebSocket] = {}
|
| 26 |
self.user_sessions: Dict[str, Dict] = {}
|
|
|
|
| 27 |
|
| 28 |
async def connect(self, websocket: WebSocket, session_id: str = None):
|
| 29 |
"""Accept WebSocket connection and initialize session"""
|
|
@@ -221,17 +223,24 @@ class GroqWebSocketHandler:
|
|
| 221 |
|
| 222 |
if query_context["requires_documents"]:
|
| 223 |
logger.info(f"📄 Document search required for: {query}")
|
| 224 |
-
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 228 |
)
|
|
|
|
| 229 |
else:
|
| 230 |
logger.info(f"💬 General query: {query}")
|
| 231 |
-
|
| 232 |
-
|
| 233 |
-
|
|
|
|
| 234 |
)
|
|
|
|
| 235 |
|
| 236 |
processing_time = time.time() - processing_start
|
| 237 |
|
|
|
|
| 16 |
|
| 17 |
from fastapi import WebSocket, WebSocketDisconnect
|
| 18 |
from groq_voice_service import groq_voice_service
|
| 19 |
+
from rag_service import search_documents_async
|
| 20 |
+
from hybrid_llm_service import HybridLLMService
|
| 21 |
|
| 22 |
logger = logging.getLogger("voicebot")
|
| 23 |
|
|
|
|
| 25 |
def __init__(self):
|
| 26 |
self.active_connections: Dict[str, WebSocket] = {}
|
| 27 |
self.user_sessions: Dict[str, Dict] = {}
|
| 28 |
+
self.llm_service = HybridLLMService()
|
| 29 |
|
| 30 |
async def connect(self, websocket: WebSocket, session_id: str = None):
|
| 31 |
"""Accept WebSocket connection and initialize session"""
|
|
|
|
| 223 |
|
| 224 |
if query_context["requires_documents"]:
|
| 225 |
logger.info(f"📄 Document search required for: {query}")
|
| 226 |
+
# Get relevant documents
|
| 227 |
+
documents = await search_documents_async(query, limit=3)
|
| 228 |
+
context = "\n".join([doc.get("content", "") for doc in documents])
|
| 229 |
+
|
| 230 |
+
# Generate response with context
|
| 231 |
+
response_text = await self.llm_service.get_response(
|
| 232 |
+
message=query,
|
| 233 |
+
context=context
|
| 234 |
)
|
| 235 |
+
response_data = {"response": response_text}
|
| 236 |
else:
|
| 237 |
logger.info(f"💬 General query: {query}")
|
| 238 |
+
# Generate simple response without documents
|
| 239 |
+
response_text = await self.llm_service.get_response(
|
| 240 |
+
message=query,
|
| 241 |
+
context=""
|
| 242 |
)
|
| 243 |
+
response_data = {"response": response_text}
|
| 244 |
|
| 245 |
processing_time = time.time() - processing_start
|
| 246 |
|