Gradio Spaces에서 Spaces 의존성 다루기
Gradio Spaces에서 Spaces 의존성 다루기
Gradio Spaces의 기본 환경에는 이미 여러 유용한 의존성이 설치돼 있어요. 필요하면 requirements.txt나 packages.txt로 직접 의존성을 추가할 수도 있답니다.
출처: 문서
본문
기본 의존성
기본 Gradio Spaces 환경에는 몇 가지 미리 설치된 의존성이 포함돼 있어요:
-
huggingface_hub클라이언트 라이브러리 — Python으로 Hub의 저장소와 파일을 관리하고, Space에서 Inference Providers를 프로그래밍 방식으로 접근할 수 있게 해줘요. 앱에서 Inference Providers로 모델을 인스턴스화하면 내장 가속 최적화를 활용할 수 있어요. 이 옵션은 컴퓨팅 리소스도 덜 쓰니 환경에도 좋아요! 🌎Inference Providers를 프로그래밍 방식으로 접근하는 방법은 이 페이지를 참고해요.
-
requests— 앱에서 서드파티 API를 호출할 때 유용해요. -
datasets— 앱 안에서 Hub의 어떤 데이터셋이든 가져오거나 표시할 수 있어요. -
gradio—README.md파일의sdk_version으로 특정 버전을 지정할 수도 있어요. -
공통 Debian 패키지 —
ffmpeg,cmake,libsm6등이 포함돼 있어요.
나만의 의존성 추가하기
앱을 실행하는 데 다른 Python 패키지가 필요하다면, 저장소 루트의 requirements.txt 파일에 추가해요. Spaces 런타임 엔진이 그때그때 커스텀 환경을 만들어줘요. 메인 의존성보다 먼저 설치해야 하는 의존성을 담은 pre-requirements.txt 파일도 추가할 수 있어요. pip 자체를 업데이트해야 할 때 유용하답니다.
Debian 의존성도 지원돼요. 저장소 루트에 packages.txt 파일을 추가하고 모든 의존성을 나열해요. 각 의존성은 별도 줄에 두어야 하며, 각 줄은 apt-get install로 읽혀 설치돼요.
더 알아보기 (Learn more)
- Gradio Spaces의 기본 환경이면 별도 설치 없이
huggingface_hub,requests,datasets,gradio등을 바로 쓸 수 있어요. - Python 패키지는
requirements.txt, Debian 패키지는packages.txt에 추가하면 각각 자동으로 설치돼요.