|
|
#!/bin/bash |
|
|
|
|
|
echo "Starting Text Auth AI Detection System..." |
|
|
|
|
|
|
|
|
if ! command -v conda &> /dev/null; then |
|
|
echo "Conda is required but not installed. Please install Miniconda or Anaconda." |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
if ! command -v python3 &> /dev/null; then |
|
|
echo "Python 3 is required but not installed. Please install Python 3.10 or higher." |
|
|
exit 1 |
|
|
fi |
|
|
python3 -c "import sys; assert sys.version_info >= (3.10,), 'Python 3.10 or higher is required.'" || exit 1 |
|
|
|
|
|
|
|
|
CONDA_ENV_NAME="text_auth_env" |
|
|
|
|
|
|
|
|
if ! conda info --envs | grep -q "$CONDA_ENV_NAME"; then |
|
|
echo "Creating Conda environment '$CONDA_ENV_NAME' with Python 3.10..." |
|
|
conda create -n "$CONDA_ENV_NAME" python=3.10 -y |
|
|
fi |
|
|
|
|
|
|
|
|
echo "Activating Conda environment '$CONDA_ENV_NAME'..." |
|
|
source $(conda info --base)/etc/profile.d/conda.sh |
|
|
conda activate "$CONDA_ENV_NAME" |
|
|
|
|
|
|
|
|
echo "Installing dependencies..." |
|
|
pip install -r requirements.txt || { echo "Failed to install dependencies."; exit 1; } |
|
|
|
|
|
|
|
|
mkdir -p logs |
|
|
mkdir -p data/uploads |
|
|
mkdir -p data/reports |
|
|
mkdir -p models/cache |
|
|
|
|
|
|
|
|
export PYTHONPATH=$PYTHONPATH:$(pwd) |
|
|
export LOG_LEVEL=${LOG_LEVEL:-INFO} |
|
|
export MODEL_CACHE_DIR=$(pwd)/models/cache |
|
|
|
|
|
|
|
|
echo "Starting FastAPI server..." |
|
|
echo "Access the application at: http://localhost:8000" |
|
|
echo "API documentation at: http://localhost:8000/docs" |
|
|
echo "Press Ctrl+C to stop the server" |
|
|
|
|
|
|
|
|
trap 'conda deactivate' EXIT |
|
|
|
|
|
uvicorn app:app --reload --host 0.0.0.0 --port 8000 |