import queue import threading from streamlit.runtime.scriptrunner import add_script_run_ctx from src.ocr import ocr_thread from src.chatbot import run_chatbot class SystemInitializer: def initialize_system(self): """Initializes queues and starts OCR thread.""" queues = { 'frame_queue': queue.Queue(maxsize=1), 'text_queue': queue.Queue(maxsize=1), 'annotation_queue': queue.Queue(maxsize=1), 'prompt_queue': queue.Queue(maxsize=1), 'ppx_queue': queue.Queue(maxsize=1) } ocr_thread_with_ctx = threading.Thread(target=ocr_thread, args=(queues['frame_queue'], queues['text_queue'])) add_script_run_ctx(ocr_thread_with_ctx) ocr_thread_with_ctx.start() return queues def run_chatbot(self): run_chatbot()