Spaces에서의 Panel
Spaces에서의 Panel
Panel은 강력한 도구, 대시보드, 복잡한 애플리케이션을 전부 Python으로 쉽게 만들 수 있게 해주는 오픈소스 Python 라이브러리예요. 배터리 포함(batteries-included) 철학으로 PyData 생태계와 강력한 데이터 테이블 등을 손끝에 올려놓지요. HoloViz 생태계의 일원이에요.
출처: 문서
본문
Panel은 강력한 도구, 대시보드, 복잡한 애플리케이션을 전부 Python으로 쉽게 만들 수 있게 해주는 오픈소스 Python 라이브러리예요. 배터리 포함(batteries-included) 철학을 갖고 있어서 PyData 생태계, 강력한 데이터 테이블 등을 손끝에 올려놓지요. 고수준 반응형 API와 저수준 콜백 기반 API 덕분에 탐색용 애플리케이션을 빠르게 만들 수 있으면서도, 풍부한 인터랙티브를 가진 복잡한 멀티페이지 앱을 만드는 데 제한받지 않아요. Panel은 HoloViz 생태계의 일원으로, 연결된 데이터 탐색 도구 생태계로 가는 관문이에요.
강력한 애플리케이션 만들기에 대해 더 알아보려면 Panel 문서를 방문해 주세요.
🚀 Spaces에 Panel 배포하기
몇 번의 클릭만으로 Panel을 Spaces에 배포할 수 있어요:
정의해야 할 핵심 파라미터가 몇 가지 있어요: Owner(개인 계정 또는 조직), Space 이름, Visibility. 컴퓨팅 집약적인 딥러닝 모델을 실행하려는 경우 GPU로 업그레이드해 성능을 높이는 걸 고려해 보세요.
Space를 만들면 "Building" 상태로 시작하고, Space가 준비되면 "Running"으로 바뀌어요.
⚡️ 무엇이 보일까요?
Space가 빌드되고 준비되면, 무작위 이미지를 가져와 OpenAI CLIP 분류 모델을 실행하는 이미지 분류 Panel 앱이 보일 거예요. 이 앱의 워크스루는 블로그 포스트에서 확인하세요.
🛠️ 커스터마이즈하고 나만의 앱 만들기
Space 템플릿은 앱을 시작하기 위한 몇 가지 파일을 생성해요:
세 가지 파일이 중요해요:
1. app.py
이 파일이 Panel 애플리케이션 코드를 정의해요. 기존 애플리케이션을 수정하거나 완전히 교체해 나만의 애플리케이션을 만들 수 있어요. 나만의 Panel 앱 작성법에 대해 더 알고 싶다면 Panel 문서를 참고해요.
2. Dockerfile
Dockerfile은 Docker가 Panel 앱이 실행될 컨테이너로 이미지를 구성하고 실행하기 위해 실행할 일련의 명령을 담아요. 일반적으로 Panel 앱을 서빙할 때 panel serve app.py 명령을 사용해요. 이 파일에서는 명령을 문자열 리스트로 나눠요. 그리고 Hugging Face가 포트 7860에서 앱을 서빙할 것을 기대하므로 주소와 포트를 정의해야 해요. 또한 서버의 websocket에 연결을 활성화하려면 allow-websocket-origin 플래그를 지정해야 해요.
3. requirements.txt
이 파일은 Panel 앱에 필요한 패키지를 정의해요. Space를 사용할 때 requirements.txt에 나열된 의존성은 자동으로 설치돼요. 불필요한 패키지를 제거하거나 앱에 필요한 패키지를 추가해 자유롭게 수정할 수 있어요. 앱에 적절한 패키지가 설치되도록 필요한 변경을 하면 돼요.
🌐 커뮤니티에 참여하기
Panel 커뮤니티는 활기차고 협력적이에요. 경험 많은 개발자와 데이터 과학자들이 기꺼이 도와주고 지식을 나눠주죠. 커뮤니티에 참여해 연결해 보세요:
더 알아보기 (Learn more)
- Panel 앱은
panel serve app.py로 서빙하고, Spaces는 포트 7860과allow-websocket-origin설정이 필요해요. - 모델 카드의
app.py,Dockerfile,requirements.txt파일로 앱을 커스터마이즈할 수 있어요.