rss2/scripts/download_llm_model.sh

93 lines
2.6 KiB
Bash
Executable file

#!/bin/bash
# Script para descargar modelo LLM compatible con RTX 3060 12GB
set -e
MODEL_DIR="/home/x/rss2/models/llm"
export PATH="$HOME/.local/bin:$PATH"
echo "=== Descarga de Modelo LLM para Categorización de Noticias ==="
echo ""
echo "Para RTX 3060 12GB, se recomienda un modelo 7B cuantizado."
echo ""
echo "Opciones disponibles:"
echo ""
echo "1) Mistral-7B-Instruct-v0.2 (GPTQ 4-bit) - RECOMENDADO"
echo " - Tamaño: ~4.5GB"
echo " - Calidad: Excelente para clasificación"
echo " - VRAM: ~6-7GB"
echo ""
echo "2) Mistral-7B-Instruct-v0.2 (EXL2 4.0bpw)"
echo " - Tamaño: ~4.2GB"
echo " - Calidad: Excelente (optimizado para ExLlamaV2)"
echo " - VRAM: ~5-6GB"
echo ""
echo "3) OpenHermes-2.5-Mistral-7B (GPTQ 4-bit)"
echo " - Tamaño: ~4.5GB"
echo " - Calidad: Muy buena para tareas generales"
echo " - VRAM: ~6-7GB"
echo ""
echo "4) Neural-Chat-7B-v3-1 (GPTQ 4-bit)"
echo " - Tamaño: ~4.5GB"
echo " - Calidad: Buena para español"
echo " - VRAM: ~6-7GB"
echo ""
read -p "Selecciona una opción (1-4) [1]: " CHOICE
CHOICE=${CHOICE:-1}
case $CHOICE in
1)
MODEL_REPO="TheBloke/Mistral-7B-Instruct-v0.2-GPTQ"
MODEL_FILE="model.safetensors"
;;
2)
MODEL_REPO="turboderp/Mistral-7B-instruct-exl2"
MODEL_FILE="4.0bpw"
;;
3)
MODEL_REPO="TheBloke/OpenHermes-2.5-Mistral-7B-GPTQ"
MODEL_FILE="model.safetensors"
;;
4)
MODEL_REPO="TheBloke/neural-chat-7B-v3-1-GPTQ"
MODEL_FILE="model.safetensors"
;;
*)
echo "Opción inválida"
exit 1
;;
esac
echo ""
echo "Descargando: $MODEL_REPO"
echo "Destino: $MODEL_DIR"
echo ""
# Crear directorio si no existe
mkdir -p "$MODEL_DIR"
# Verificar si huggingface-cli está instalado
# Verificar si huggingface-cli está instalado o si el modulo existe
# Forzamos actualización a una versión reciente para asegurar soporte de CLI
echo "Actualizando huggingface-hub..."
pip3 install -U "huggingface_hub[cli]>=0.23.0" --break-system-packages
# Descargar modelo usando script de python directo para evitar problemas de CLI
echo "Iniciando descarga..."
python3 -c "
from huggingface_hub import snapshot_download
print(f'Descargando { \"$MODEL_REPO\" } a { \"$MODEL_DIR\" }...')
snapshot_download(repo_id='$MODEL_REPO', local_dir='$MODEL_DIR', local_dir_use_symlinks=False)
"
echo ""
echo "✓ Modelo descargado exitosamente en: $MODEL_DIR"
echo ""
echo "Información del modelo:"
echo "----------------------"
ls -lh "$MODEL_DIR"
echo ""
echo "Para usar este modelo, actualiza docker-compose.yml con:"
echo " LLM_MODEL_PATH=/app/models/llm"
echo ""