Update ui/tabs.py
Browse files- ui/tabs.py +36 -1
ui/tabs.py
CHANGED
|
@@ -7,6 +7,7 @@ from services.audio_service import AudioService
|
|
| 7 |
from services.chat_service import ChatService
|
| 8 |
from services.image_service import ImageService
|
| 9 |
from services.streaming_voice_service import StreamingVoiceService
|
|
|
|
| 10 |
from core.rag_system import EnhancedRAGSystem
|
| 11 |
from core.tts_service import EnhancedTTSService
|
| 12 |
from core.wikipedia_processor import WikipediaProcessor
|
|
@@ -15,7 +16,8 @@ from ui.components import create_audio_components, create_chat_components,create
|
|
| 15 |
def create_all_tabs(audio_service: AudioService, chat_service: ChatService,
|
| 16 |
image_service: ImageService, rag_system: EnhancedRAGSystem,
|
| 17 |
tts_service: EnhancedTTSService, wikipedia_processor: WikipediaProcessor,
|
| 18 |
-
streaming_voice_service: StreamingVoiceService
|
|
|
|
| 19 |
|
| 20 |
with gr.Tab("🎙️ Streaming Voice (VAD)"):
|
| 21 |
create_streaming_voice_tab(streaming_voice_service)
|
|
@@ -37,6 +39,39 @@ def create_all_tabs(audio_service: AudioService, chat_service: ChatService,
|
|
| 37 |
|
| 38 |
with gr.Tab("🌐 Language Info"): # NEW TAB
|
| 39 |
create_language_info_tab(rag_system.multilingual_manager)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
def create_rag_tab(rag_system: EnhancedRAGSystem, wikipedia_processor: WikipediaProcessor):
|
| 41 |
"""Tạo tab RAG với debug chi tiết"""
|
| 42 |
|
|
|
|
| 7 |
from services.chat_service import ChatService
|
| 8 |
from services.image_service import ImageService
|
| 9 |
from services.streaming_voice_service import StreamingVoiceService
|
| 10 |
+
from services.stream_object_detection_service import StreamObjectDetection
|
| 11 |
from core.rag_system import EnhancedRAGSystem
|
| 12 |
from core.tts_service import EnhancedTTSService
|
| 13 |
from core.wikipedia_processor import WikipediaProcessor
|
|
|
|
| 16 |
def create_all_tabs(audio_service: AudioService, chat_service: ChatService,
|
| 17 |
image_service: ImageService, rag_system: EnhancedRAGSystem,
|
| 18 |
tts_service: EnhancedTTSService, wikipedia_processor: WikipediaProcessor,
|
| 19 |
+
streaming_voice_service: StreamingVoiceService,
|
| 20 |
+
):
|
| 21 |
|
| 22 |
with gr.Tab("🎙️ Streaming Voice (VAD)"):
|
| 23 |
create_streaming_voice_tab(streaming_voice_service)
|
|
|
|
| 39 |
|
| 40 |
with gr.Tab("🌐 Language Info"): # NEW TAB
|
| 41 |
create_language_info_tab(rag_system.multilingual_manager)
|
| 42 |
+
with gr.Tab("Stream Object Detection")
|
| 43 |
+
create_streaming_object_detection()
|
| 44 |
+
def create_streaming_object_detection():
|
| 45 |
+
with gr.Blocks() as object_detection_tab:
|
| 46 |
+
gr.HTML(
|
| 47 |
+
"""
|
| 48 |
+
<h1 style='text-align:center'>
|
| 49 |
+
🎥 Real-time Video Object Detection with <a href='https://huggingface.co/PekingU/rtdetr_r50vd' target='_blank'>RT-DETR</a>
|
| 50 |
+
</h1>
|
| 51 |
+
<p style='text-align:center'>Upload a short video and watch detection stream in real-time!</p>
|
| 52 |
+
"""
|
| 53 |
+
)
|
| 54 |
+
|
| 55 |
+
with gr.Row():
|
| 56 |
+
with gr.Column():
|
| 57 |
+
video = gr.Video(label="Video Input")
|
| 58 |
+
conf = gr.Slider(
|
| 59 |
+
minimum=0.0,
|
| 60 |
+
maximum=1.0,
|
| 61 |
+
value=0.3,
|
| 62 |
+
step=0.05,
|
| 63 |
+
label="Confidence Threshold"
|
| 64 |
+
)
|
| 65 |
+
with gr.Column():
|
| 66 |
+
output = gr.Video(label="Processed Video", streaming=True, autoplay=True)
|
| 67 |
+
|
| 68 |
+
video.upload(
|
| 69 |
+
fn=StreamObjectDetection.stream_object_detection,
|
| 70 |
+
inputs=[video, conf],
|
| 71 |
+
outputs=[output],
|
| 72 |
+
)
|
| 73 |
+
return object_detection_tab
|
| 74 |
+
|
| 75 |
def create_rag_tab(rag_system: EnhancedRAGSystem, wikipedia_processor: WikipediaProcessor):
|
| 76 |
"""Tạo tab RAG với debug chi tiết"""
|
| 77 |
|