File size: 1,401 Bytes
92c9b4d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import os
import sys
from pathlib import Path

# Add project root to path
REPO_ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(REPO_ROOT))

def check_data():
    data_path = REPO_ROOT / "data"
    if not data_path.exists() or not any(data_path.iterdir()):
        print("Data folder not found. Downloading from HuggingFace...")
        from scripts.download_data import download_data
        download_data()

def check_env():
    from dotenv import load_dotenv
    load_dotenv()
    
    required_vars = ["GROQ_API_KEY", "SILICONFLOW_API_KEY"]
    missing = [var for var in required_vars if not os.getenv(var)]
    
    if missing:
        print(f"Missing environment variables: {', '.join(missing)}")
        print("Please create a .env file with the required variables.")
        print("Example:")
        print("  GROQ_API_KEY=your_groq_key")
        print("  SILICONFLOW_API_KEY=your_siliconflow_key")
        sys.exit(1)

def main():
    print("=" * 60)
    print("HUST RAG Assistant - Startup")
    print("=" * 60)
    
    # Check data
    check_data()
    
    # Check environment
    check_env()
    
    # Run Gradio app
    print("\nStarting Gradio server...")
    from core.gradio.user_gradio import demo, GRADIO_CFG
    
    demo.launch(
        server_name=GRADIO_CFG.server_host,
        server_port=GRADIO_CFG.server_port
    )

if __name__ == "__main__":
    main()