#!/usr/bin/env bash
# Install LLaMA-Factory for SFT/DPO training

set -euo pipefail

LLM_SERVICE_DIR="/lsinfo/ai/hellotax_ai/llm_service"
INSTALL_DIR="${LLM_SERVICE_DIR}/LLaMA-Factory"

echo "=========================================="
echo "Installing LLaMA-Factory..."
echo "=========================================="

if [[ -d "${INSTALL_DIR}" ]]; then
  echo "LLaMA-Factory already exists at ${INSTALL_DIR}, pulling latest..."
  cd "${INSTALL_DIR}" && git pull
else
  echo "Cloning LLaMA-Factory..."
  git clone https://github.com/hiyouga/LLaMA-Factory.git "${INSTALL_DIR}"
fi

cd "${INSTALL_DIR}"

echo ""
echo "Installing Python dependencies..."
pip install -e ".[torch,metrics]" --no-cache-dir

echo ""
echo "=========================================="
echo "LLaMA-Factory installed successfully!"
echo "Install path: ${INSTALL_DIR}"
echo "=========================================="
echo ""
echo "Usage:"
echo "  - WebUI training:  bash scripts/llm/start_llamafactory_webui.sh"
echo "  - CLI training:    bash scripts/llm/run_training.sh"
echo ""
