File size: 2,548 Bytes
17afe48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
85
86
87
88
89
#!/bin/bash

echo "πŸš€ FastAPI Django Main Live - Post Create Setup Starting..."

# Update system packages
sudo apt-get update

# Install Rust (for tiktoken and other dependencies)
echo "πŸ“¦ Installing Rust..."
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source ~/.cargo/env

# Install Python dependencies
echo "🐍 Installing Python dependencies..."
pip install --upgrade pip setuptools wheel

# Install requirements with better error handling
echo "πŸ“‹ Installing from requirements.txt..."
pip install -r requirements.txt

# Install additional dependencies for debugging
echo "πŸ”§ Installing debug dependencies..."
pip install debugpy python-dotenv

# Set up environment files
echo "βš™οΈ Setting up environment..."
if [ ! -f .env ]; then
    cp .env.example .env 2>/dev/null || echo "GROQ_API_KEY=your_key_here
OPENINTERPRETER_PASSWORD=your_password_here" > .env
    echo "πŸ“ .env file created - please update with your API keys"
fi

# Initialize databases
echo "πŸ—„οΈ Initializing databases..."
python3 -c "
import sqlite3
import os

# Create prompts database
if not os.path.exists('prompts.db'):
    conn = sqlite3.connect('prompts.db')
    cursor = conn.cursor()
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS prompts (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            title TEXT NOT NULL,
            url TEXT,
            content TEXT NOT NULL,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        )
    ''')
    conn.commit()
    conn.close()
    print('βœ… Prompts database initialized')

# Create chat history database
if not os.path.exists('chat_history.db'):
    conn = sqlite3.connect('chat_history.db')
    cursor = conn.cursor()
    cursor.execute('''
        CREATE TABLE IF NOT EXISTS history (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            role TEXT NOT NULL,
            type TEXT,
            content TEXT NOT NULL,
            timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        )
    ''')
    conn.commit()
    conn.close()
    print('βœ… Chat history database initialized')
"

# Set proper permissions
chmod +x .devcontainer/*.sh

echo "βœ… FastAPI Django Main Live setup completed!"
echo ""
echo "🎯 Next steps:"
echo "1. Update .env file with your API keys"
echo "2. Run: python3 app.py"
echo "3. Access: http://localhost:7860"
echo ""
echo "πŸ› For debugging:"
echo "1. Run: python3 app_debug_server.py"
echo "2. Use VS Code 'Remote Attach' configuration"
echo ""