Spaces:
Running
Running
File size: 1,291 Bytes
04705fd 638439a 04705fd 638439a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import gradio as gr
from utils.config import get_logger
from utils.engine import process_and_index_video, ask_video_question
logger = get_logger("GradioUI")
logger.info("Constructing UI...")
# Removed theme from Blocks constructor
with gr.Blocks() as demo:
gr.Markdown("# 🧠 Multimodal Video RAG (Vision Q/A)")
with gr.Row():
with gr.Column(scale=1):
video_input = gr.Video(label="Upload Video")
index_btn = gr.Button("1. Process & Index Video", variant="primary")
status_out = gr.Textbox(label="System Status", interactive=False)
with gr.Column(scale=1):
query_input = gr.Textbox(label="Ask a visual question:")
ask_btn = gr.Button("2. Ask Question")
answer_out = gr.Textbox(label="VLM Answer", lines=4)
gallery_out = gr.Gallery(label="Context Frames", show_label=True, columns=3)
index_btn.click(fn=process_and_index_video, inputs=[video_input], outputs=[status_out, gallery_out])
ask_btn.click(fn=ask_video_question, inputs=[query_input], outputs=[answer_out, gallery_out])
if __name__ == "__main__":
logger.info("Launching server...")
# Moved theme to launch method for Gradio 6.0 compatibility
demo.launch(theme=gr.themes.Soft()) |