Skip to main content
wandb.sandbox는 사용이 중단되었으며 W&B Python SDK의 향후 릴리스에서 제거됩니다. 대신 cwsandbox 패키지를 사용하세요. 자세한 내용은 CoreWeave 샌드박스 문서를 참조하세요.마이그레이션하면 다음 두 가지가 달라집니다.
  • 임포트 방식. W&B extra와 함께 cwsandbox를 설치하고(pip install "cwsandbox[wandb]"), wandb.sandbox 대신 cwsandbox에서 임포트하세요.
  • credential. cwsandbox는 기본적으로 CWSANDBOX_API_KEY에 지정된 CoreWeave API access token으로 인증하므로, 기존 W&B API 키를 계속 사용하려면 auth=AuthStrategy.WANDB를 전달하세요. Choose a credential을 참조하세요.
이 페이지의 예시는 아직 wandb.sandbox를 사용합니다. 이에 해당하는 cwsandbox 코드는 Migrate to cwsandbox를 참조하세요.
Serverless Sandboxes는 공개 프리뷰로 제공됩니다. 조직별로 액세스가 활성화됩니다. 조직에 대한 액세스를 요청하려면 지원팀에 문의하세요.
Serverless Sandboxes는 Python으로 생성하고 사용한 뒤 삭제할 수 있는 주문형 격리된 컴퓨팅 환경을 제공합니다. Serverless Sandboxes는 CoreWeave Sandbox 라이브러리를 기반으로 합니다. 기반이 되는 API 레퍼런스와 라이브러리 문서는 CoreWeave Sandbox documentation을 참조하세요.

작동 방식

_샌드박스_는 하나의 격리된 컴퓨팅 환경입니다. 생성하고, 내부에서 명령을 실행하고, 작업이 끝나면 중지합니다. 각 샌드박스는 자체 파일 시스템, 네트워크, 프로세스 공간을 갖춘 별도의 컨테이너에서 실행됩니다. 샌드박스를 생성하고 관리할 때 W&B가 사용자의 ID를 인증합니다. 샌드박스 내에서 W&B 또는 Weave를 사용하려면 W&B Secrets Manager 또는 환경 변수를 통해 API 키를 전달하세요. 샌드박스에서 시크릿을 사용하는 방법에 대한 자세한 내용은 Secrets를 참조하세요. 샌드박스는 라이프사이클 동안 여러 상태를 거칩니다. 컨테이너가 실행 중이면 그 안에서 명령을 실행할 수 있습니다. 샌드박스에 파일을 조회, 쓰기, 읽기 전용으로 마운트할 수 있습니다. 일반적인 예로는 실행할 Python 스크립트를 읽어오거나, 로그 또는 결과를 기록하거나, 샌드박스가 액세스할 수 있도록 데이터 디렉터리를 읽기 전용으로 마운트하는 것이 있습니다. 공유 설정을 사용하는 여러 샌드박스를 관리하려면 session 을 사용하세요. 세션이 닫히면 해당 세션의 모든 샌드박스가 자동으로 중지됩니다. 자세한 내용은 여러 샌드박스 관리를 참조하세요.

기본 사용법

다음 단계에 따라 샌드박스를 생성하고 그 안에서 명령어를 실행하세요:
  1. 다음 명령어로 W&B Python SDK(wandb)와 Serverless Sandboxes 의존성을 설치하세요:
  2. wandb login CLI 명령어로 W&B에 로그인하세요. 메시지가 표시되면 API 키를 입력하여 ID를 인증하고 W&B 계정에 액세스하세요:
  3. 다음 코드 스니펫을 Python 파일에 복사하여 붙여넣고 실행하세요. 이 코드 스니펫은 다음을 수행합니다:
    1. Sandbox.run()으로 샌드박스를 생성하세요.
    2. Sandbox.exec() 방법을 사용하여 샌드박스 내부에서 echo "Hello from Serverless Sandboxes!" 명령어를 실행하세요.
    3. Sandbox.exec()가 반환한 Process 객체를 사용하여 출력을 콘솔에 표시하세요.
    hello_sandbox.py
    콘솔에 Hello from Serverless Sandboxes!가 출력됩니다. 컨텍스트 관리자(with 블록)를 벗어나면 샌드박스가 자동으로 중지됩니다. 샌드박스 라이프사이클 및 상태에 대한 자세한 내용은 샌드박스의 라이프사이클을 참조하세요.

cwsandbox로 마이그레이션

wandb.sandbox는 사용 중단되었으며 향후 W&B Python SDK 릴리스에서 제거됩니다. 이를 대체하는 cwsandbox 패키지는 W&B API 키와 CoreWeave API access token 중 어느 것이든 사용할 수 있습니다. 레퍼런스 문서는 CoreWeave sandbox 문서에서 확인할 수 있습니다. 마이그레이션하려면 패키지 설치 방법, 임포트 방법, credential 선택 방법을 변경하세요.
  1. W&B extra와 함께 cwsandbox를 설치하세요. 이 extra는 cwsandbox가 W&B credential을 확인하는 데 사용하는 wandb 라이브러리를 함께 설치합니다.
  2. wandb.sandbox 대신 cwsandbox에서 임포트하고, 샌드박스 또는 Session을 생성할 때 auth=AuthStrategy.WANDB를 전달하세요. cwsandbox는 기본적으로 CWSANDBOX_API_KEY에서 CoreWeave API access token을 읽으므로, W&B 인증은 명시적으로 선택해야 합니다.
    이전: wandb.sandbox
    이후: cwsandbox
W&B credential은 현재와 동일한 방식으로, 즉 active 상태인 wandb login 세션, WANDB_API_KEY 환경 변수 또는 ~/.netrcapi.wandb.ai 항목에서 확인됩니다. 샌드박스 비용을 CoreWeave 계정으로 청구하려면 auth를 생략하고 CWSANDBOX_API_KEY에 CoreWeave API access token을 설정하세요. 두 credential의 비교는 Choose a credential을 참조하세요.

마이그레이션 후 달라지는 동작

wandb.sandboxcwsandbox를 래핑하면서, cwsandbox 패키지만 사용할 때는 적용되지 않는 W&B Serverless 기본값을 적용합니다. 마이그레이션할 때 다음 차이점을 고려하세요.

Serverless Sandboxes 튜토리얼

더 자세한 예시는 다음을 참조하세요.

Integrations

다음 타사 프레임워크는 샌드박스 공급자로 Serverless Sandboxes를 지원합니다.