개발 창고/AI
Streamlit 앱을 Hugging Face Spaces에 배포하는 가이드
로이제로
2025. 6. 17. 23:27
반응형
1. 무엇을 배울 수 있나요?
이 글을 통해:
- Hugging Face Spaces에 Streamlit 앱 배포 과정을
- GitHub 또는 HF 리포지토리 연결부터
app.py
,requirements.txt
작성 후git push
로 자동 배포하는 워크플로우를
실습 형태로 배울 수 있습니다.
2. 배포 준비
Hugging Face 계정 생성
Git 설치 및 GitHub 계정 준비
배포할 Streamlit 앱 프로젝트 준비
app.py
: 애플리케이션 코드requirements.txt
: 라이브러리 명시 (streamlit
,transformers
, 등)
3. Space 생성
- Hugging Face 웹에서 Spaces → Create new Space 클릭
- Space 이름, SDK: Streamlit, 공개 여부 설정
- 생성 후 git 리포가 생성되며, clone URL이 제공됩니다
4. 코드 작성
예시 app.py
import streamlit as st
st.title("Text Transformer")
user = st.text_area("Enter text:", "Hello World!")
if st.button("Uppercase"):
st.write(user.upper())
예시 requirements.txt
streamlit
5. 로컬 로드 및 테스트
pip install -r requirements.txt
streamlit run app.py
→ http://localhost:8501 에서 앱 확인
6. 리포지토리 연결 및 배포
A) GitHub 기반
- GitHub 리포 생성 및 앱 코드 푸시
- Hugging Face Space 생성 시 GitHub 리포 연결 옵션 선택
- 푸시할 때마다 자동 배포
B) 직접 HF 리포 push 방식
git clone <HF_SPACE_URL>
cd your-space
cp path/to/app.py .
cp requirements.txt .
git add .
git commit -m "Initial commit"
git push
- HTTPS: URL에 토큰 포함
- SSH: 개인 SSH 키 등록 후 URL 사용
→ 일반적으로 HTTPS 방식 토큰 사용이 쉽고 추천됨
7. 자동 배포 & 런타임
- 커밋 푸시 시 자동 빌드 및 실행
- Maximum 16GB RAM, 2 vCPU 무료 제공, GPU 업그레이드 가능
README.md
내 YAML에서sdk_version
,app_file
등 설정 확인
8. 디버깅 팁
- 로그 확인: Space 페이지에서 빌드/런타임 로그 확인 가능
- requirements.txt 확인: 필요한 모듈 누락 없이 작성
- app_file 설정:
README.md
에 앱 파일 지정 오류 없도록 체크
요약
- Streamlit 앱 준비 →
app.py
+requirements.txt
- GitHub 또는 직결 방식으로 HF Space와 연결
git push
만 하면 자동으로 빌드 및 배포- 로그 + 설정 확인으로 문제 해결 가능
반응형