File size: 2,441 Bytes
c024705
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eeacc46
c024705
 
 
 
 
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/env python3
"""
One-click installer for AIMHSA without Ollama
"""

import subprocess
import sys
import os

def install_requirements():
    """Install required packages"""
    print("πŸ“¦ Installing required packages...")
    
    try:
        # Upgrade pip first
        subprocess.check_call([sys.executable, "-m", "pip", "install", "--upgrade", "pip"])
        
        # Install requirements
        subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"])
        
        print("βœ… All packages installed successfully!")
        return True
        
    except subprocess.CalledProcessError as e:
        print(f"❌ Error installing packages: {e}")
        print("\nπŸ”§ Try installing minimal requirements instead:")
        print("pip install -r requirements-minimal.txt")
        return False

def setup_directories():
    """Create necessary directories"""
    print("πŸ“ Creating directories...")
    
    directories = ['storage', 'data', 'logs']
    for directory in directories:
        os.makedirs(directory, exist_ok=True)
        print(f"   βœ… {directory}/")

def initialize_database():
    """Initialize the database"""
    print("πŸ—„οΈ  Initializing database...")
    
    try:
        subprocess.check_call([sys.executable, "init_database.py"])
        print("βœ… Database initialized!")
        return True
    except subprocess.CalledProcessError as e:
        print(f"❌ Error initializing database: {e}")
        return False

def main():
    """Main installation process"""
    print("πŸš€ AIMHSA Installation (No Ollama Required)")
    print("=" * 50)
    
    # Step 1: Setup directories
    setup_directories()
    
    # Step 2: Install requirements
    if not install_requirements():
        return False
    
    # Step 3: Setup configuration
    try:
        from setup_without_ollama import setup_openai_compatible
        setup_openai_compatible()
    except ImportError:
        print("⚠️  Configuration setup not available. Please run setup_without_ollama.py manually.")
    
    # Step 4: Initialize database
    if not initialize_database():
        return False
    
    print("\nπŸŽ‰ Installation complete!")
    print("\nπŸ”‘ Next steps:")
    print("1. Update your API keys in .env file")
    print("2. Run: python app.py")
    print("3. Open: https://prodevroger-ishingiro.hf.space")
    
    return True

if __name__ == "__main__":
    main()