|
#!/bin/bash |
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
echo "π³ Starting LLM Structured Output Docker container" |
|
echo "Python version: $(python --version)" |
|
echo "Working directory: $(pwd)" |
|
echo "User: $(whoami)" |
|
|
|
|
|
mkdir -p /app/models |
|
|
|
|
|
if [ ! -e "/lib/libc.musl-x86_64.so.1" ]; then |
|
echo "β οΈ Warning: musl libc symbolic link not found. Checking for available libc libraries..." |
|
ls -la /usr/lib/x86_64-linux-* 2>/dev/null || echo "No musl libraries found" |
|
ls -la /usr/lib/x86_64-linux-gnu/libc.so* 2>/dev/null || echo "No glibc libraries found" |
|
fi |
|
|
|
|
|
echo "π System information:" |
|
echo "Memory: $(cat /proc/meminfo | grep MemTotal)" |
|
echo "CPU cores: $(nproc)" |
|
echo "Disk space: $(df -h /app)" |
|
|
|
|
|
export MODEL_REPO=${MODEL_REPO:-"lmstudio-community/gemma-3n-E4B-it-text-GGUF"} |
|
export MODEL_FILENAME=${MODEL_FILENAME:-"gemma-3n-E4B-it-Q8_0.gguf"} |
|
export N_CTX=${N_CTX:-"4096"} |
|
export N_GPU_LAYERS=${N_GPU_LAYERS:-"0"} |
|
export N_THREADS=${N_THREADS:-"4"} |
|
export MAX_NEW_TOKENS=${MAX_NEW_TOKENS:-"256"} |
|
|
|
echo "π§ Configuration:" |
|
echo "Model: $MODEL_REPO/$MODEL_FILENAME" |
|
echo "Context size: $N_CTX" |
|
echo "GPU layers: $N_GPU_LAYERS" |
|
echo "CPU threads: $N_THREADS" |
|
echo "Max tokens: $MAX_NEW_TOKENS" |
|
|
|
|
|
if [ "$SPACE_ID" ]; then |
|
echo "π€ Running in HuggingFace Spaces: $SPACE_ID" |
|
export HOST=0.0.0.0 |
|
export GRADIO_PORT=7860 |
|
fi |
|
|
|
|
|
echo "π Starting application..." |
|
exec "$@" |
|
|