Spaces:
Running
on
Zero
Running
on
Zero
File size: 3,294 Bytes
dda982a 66d2b1b 5bb2b30 66d2b1b 575f1c7 66d2b1b dda982a 17cb3f3 6372663 17cb3f3 dda982a 4fab3b3 baf5fd5 dbdd7c8 5b7f920 e5140fc baf5fd5 4fab3b3 0f5865d 610b772 dbdd7c8 c0c51c2 575f1c7 21c909d 575f1c7 21c909d 575f1c7 8efc942 66d2b1b 5bb2b30 66d2b1b |
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 90 91 92 93 94 95 96 97 |
#!/bin/bash
# Exit on error
set -e
echo "Starting setup process..."
# Enable more verbose logging
set -x
# Check if running with sudo/root permissions for system dependencies
if [ "$EUID" -eq 0 ]; then
# Install system dependencies
echo "Installing system dependencies..."
apt-get update && apt-get install -y \
wget \
pkg-config \
ffmpeg
echo "System dependencies installed successfully"
else
echo "Not running as root. Skipping system dependencies installation."
fi
# Install NumPy first as it's required by many other packages
echo "Installing NumPy..."
pip install -q -U "numpy<2.0.0" --no-cache-dir
echo "NumPy installed successfully"
# Install Python dependencies
echo "Installing Python dependencies..."
pip install -q -U pillow opencv-python
pip install -q -U google-genai
pip install -q -U openai>=1.1.0 # For LLM image description support
# pip install -q -U latex2markdown - removed, now using Gemini API for LaTeX conversion
echo "Python dependencies installed successfully"
# Install GOT-OCR transformers dependencies
echo "Installing GOT-OCR transformers dependencies..."
pip install -q -U torch torchvision
pip install -q -U "git+https://github.com/huggingface/transformers.git@main" accelerate verovio
pip install -q -U "huggingface_hub[cli]>=0.19.0"
pip install -q -U "numpy==1.26.3" # Exact version as in original
echo "GOT-OCR transformers dependencies installed successfully"
# Install spaces module for ZeroGPU support
echo "Installing spaces module for ZeroGPU support..."
pip install -q -U spaces
echo "Spaces module installed successfully"
# Install markitdown with all optional dependencies
echo "Installing MarkItDown with all dependencies..."
pip install -q -U 'markitdown[all]'
echo "MarkItDown installed successfully"
# Install Docling for advanced PDF understanding
echo "Installing Docling..."
pip install -q -U docling
echo "Docling installed successfully"
# Install LangChain and RAG dependencies
echo "Installing LangChain and RAG dependencies..."
pip install -q -U langchain>=0.3.0
pip install -q -U langchain-openai>=0.2.0
pip install -q -U langchain-google-genai>=2.0.0
pip install -q -U langchain-chroma>=0.1.0
pip install -q -U langchain-text-splitters>=0.3.0
pip install -q -U langchain-community>=0.3.0 # For BM25Retriever and EnsembleRetriever
pip install -q -U chromadb>=0.5.0
pip install -q -U sentence-transformers>=3.0.0
pip install -q -U rank-bm25>=0.2.0 # Required for BM25Retriever
echo "LangChain and RAG dependencies installed successfully"
# Install the project in development mode only if setup.py or pyproject.toml exists
if [ -f "setup.py" ] || [ -f "pyproject.toml" ]; then
echo "Installing project in development mode..."
pip install -e .
echo "Project installed successfully"
else
echo "No setup.py or pyproject.toml found, skipping project installation"
fi
# Create .env file if it doesn't exist
if [ ! -f .env ]; then
echo "Creating .env file..."
if [ -f .env.example ]; then
cp .env.example .env
echo ".env file created from .env.example"
else
echo "Warning: .env.example not found. Creating empty .env file."
touch .env
fi
fi
# Return to normal logging
set +x
echo "Setup process completed successfully!" |