TopEdu / tabs /initialize.py
Ervinoreo
gradio
846f122
"""
Initialize tab functionality for the Gradio app
"""
import gradio as gr
from utils.rag_system import DocumentIngestion, RAGSystem
def initialize_systems(global_vars):
"""Initialize the RAG systems"""
try:
print("πŸš€ Initializing document ingestion system...")
global_vars['doc_ingestion'] = DocumentIngestion()
print("πŸš€ Initializing RAG system...")
global_vars['rag_system'] = RAGSystem()
return "βœ… Systems initialized successfully! You can now upload documents."
except Exception as e:
error_msg = f"❌ Error initializing systems: {str(e)}\n\n"
if "sentence-transformers" in str(e):
error_msg += """
**Possible solutions:**
1. Install sentence-transformers: `pip install sentence-transformers`
2. Or provide OpenAI API key in environment variables
3. Check that PyTorch is properly installed
**For deployment:**
- Ensure requirements.txt includes: sentence-transformers, torch, transformers
"""
return error_msg
def create_initialize_tab(global_vars):
"""Create the Initialize System tab"""
with gr.Tab("πŸš€ Initialize System", id="init"):
gr.Markdown("""
### Step 1: Initialize the System
Click the button below to initialize the AI models and embedding systems.
This may take a few moments on first run as models are downloaded.
""")
init_btn = gr.Button(
"πŸš€ Initialize Systems",
variant="primary",
size="lg"
)
init_status = gr.Textbox(
label="Initialization Status",
interactive=False,
lines=8,
placeholder="Click 'Initialize Systems' to start..."
)
init_btn.click(
lambda: initialize_systems(global_vars),
outputs=init_status
)