lily_fast_api / deploy_gpu.sh
gbrabbit's picture
Fresh start for HF Spaces deployment
526927a
#!/bin/bash
# GPU ํ™˜๊ฒฝ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ
echo "๐Ÿš€ GPU ํ™˜๊ฒฝ ๋ฐฐํฌ ์‹œ์ž‘"
# NVIDIA Docker ์ง€์› ํ™•์ธ
if ! command -v nvidia-docker &> /dev/null; then
echo "โŒ NVIDIA Docker๊ฐ€ ์„ค์น˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค."
echo "NVIDIA Docker ์„ค์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html"
exit 1
fi
# GPU ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ํ™•์ธ
if ! nvidia-smi &> /dev/null; then
echo "โŒ GPU๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค."
echo "GPU ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”."
exit 1
fi
echo "โœ… GPU ํ™˜๊ฒฝ ํ™•์ธ ์™„๋ฃŒ"
# ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ์ •๋ฆฌ
echo "๐Ÿงน ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ์ •๋ฆฌ ์ค‘..."
docker-compose -f docker-compose.gpu.yml down --volumes --remove-orphans
# ์ด๋ฏธ์ง€ ๋นŒ๋“œ
echo "๐Ÿ”จ Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ ์ค‘..."
docker-compose -f docker-compose.gpu.yml build --no-cache
# ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘
echo "๐Ÿš€ ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์ค‘..."
docker-compose -f docker-compose.gpu.yml up -d
# ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ
echo "๐Ÿ“Š ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ ์ค‘..."
sleep 10
# ํ—ฌ์Šค์ฒดํฌ
echo "๐Ÿฅ ํ—ฌ์Šค์ฒดํฌ ์ค‘..."
for i in {1..30}; do
if curl -f http://localhost:8001/health &> /dev/null; then
echo "โœ… Lily LLM API ์„œ๋น„์Šค ์ •์ƒ"
break
fi
if [ $i -eq 30 ]; then
echo "โŒ ์„œ๋น„์Šค ์‹œ์ž‘ ์‹คํŒจ"
docker-compose -f docker-compose.gpu.yml logs
exit 1
fi
echo "โณ ์„œ๋น„์Šค ์‹œ์ž‘ ๋Œ€๊ธฐ ์ค‘... ($i/30)"
sleep 2
done
# GPU ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ
echo "๐ŸŽฎ GPU ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ:"
nvidia-smi
# ์„œ๋น„์Šค ์ •๋ณด ์ถœ๋ ฅ
echo ""
echo "๐ŸŽ‰ GPU ํ™˜๊ฒฝ ๋ฐฐํฌ ์™„๋ฃŒ!"
echo ""
echo "๐Ÿ“‹ ์„œ๋น„์Šค ์ •๋ณด:"
echo " - Lily LLM API: http://localhost:8001"
echo " - Hearth Chat: http://localhost:8000"
echo " - LaTeX-OCR Service: ๋ณ„๋„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ ์ค‘"
echo ""
echo "๐Ÿ”ง ์œ ์šฉํ•œ ๋ช…๋ น์–ด:"
echo " - ๋กœ๊ทธ ํ™•์ธ: docker-compose -f docker-compose.gpu.yml logs -f"
echo " - ์„œ๋น„์Šค ์ค‘์ง€: docker-compose -f docker-compose.gpu.yml down"
echo " - ์„œ๋น„์Šค ์žฌ์‹œ์ž‘: docker-compose -f docker-compose.gpu.yml restart"
echo ""
echo "๐Ÿงช ํ…Œ์ŠคํŠธ ๋ช…๋ น์–ด:"
echo " - API ํ…Œ์ŠคํŠธ: curl http://localhost:8001/health"
echo " - GPU ํ…Œ์ŠคํŠธ: python test_gpu_deployment.py"