Gradio Spaces에서 Spaces 의존성 다루기

Gradio Spaces에서 Spaces 의존성 다루기

Gradio Spaces의 기본 환경에는 이미 여러 유용한 의존성이 설치돼 있어요. 필요하면 requirements.txtpackages.txt로 직접 의존성을 추가할 수도 있답니다.

출처: 문서

본문

기본 의존성

기본 Gradio Spaces 환경에는 몇 가지 미리 설치된 의존성이 포함돼 있어요:

  • huggingface_hub 클라이언트 라이브러리 — Python으로 Hub의 저장소와 파일을 관리하고, Space에서 Inference Providers를 프로그래밍 방식으로 접근할 수 있게 해줘요. 앱에서 Inference Providers로 모델을 인스턴스화하면 내장 가속 최적화를 활용할 수 있어요. 이 옵션은 컴퓨팅 리소스도 덜 쓰니 환경에도 좋아요! 🌎

    Inference Providers를 프로그래밍 방식으로 접근하는 방법은 이 페이지를 참고해요.

  • requests — 앱에서 서드파티 API를 호출할 때 유용해요.

  • datasets — 앱 안에서 Hub의 어떤 데이터셋이든 가져오거나 표시할 수 있어요.

  • gradioREADME.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에 추가하면 각각 자동으로 설치돼요.