메인 콘텐츠로 건너뛰기

Traces 테이블에서 W&B run 확인하기

W&B Weave를 사용하면 코드의 함수 호출을 추적하고, 이 호출들이 실행된 W&B runs와 직접 연결할 수 있습니다. @weave.op()으로 함수를 트레이싱하고 wandb.init() 컨텍스트 안에서 호출하면, Weave가 해당 트레이스를 자동으로 해당 W&B run에 연결합니다. 연결된 run의 링크는 Traces 테이블에 표시됩니다.
다음 Python 코드는 트레이싱된 Op가 wandb.init() 컨텍스트 안에서 실행될 때 W&B run에 어떻게 연결되는지를 보여줍니다. 이 트레이스는 Weave UI에 나타나며, 해당 run과 연결됩니다.W&B run을 Weave trace로 확인하려면:
  1. 터미널에서 의존성을 설치합니다.
pip install wandb weave
  1. W&B에 로그인합니다.
wandb login
  1. 아래 스크립트에서 your-team-name/your-project-name을 실제 W&B entity/project로 바꿉니다:
import wandb
import weave

def example_wandb(projname):
    # projname을 entity와 project로 분리
    entity, project = projname.split("/", 1)

    # 트레이싱을 위한 Weave 컨텍스트 초기화
    weave.init(projname)

    # 트레이스 가능한 Op 정의
    @weave.op()
    def say(message: str) -> str:
        return f"I said: {message}"

    # 첫 번째 W&B run
    with wandb.init(
        entity=entity,
        project=project,
        notes="Experiment 1",
        tags=["baseline", "paper1"],
    ) as run:
        say("Hello, world!")
        say("How are you!")
        run.log({"messages": 2})

    # 두 번째 W&B run
    with wandb.init(
        entity=entity,
        project=project,
        notes="Experiment 2",
        tags=["baseline", "paper1"],
    ) as run:
        say("Hello, world from experiment 2!")
        say("How are you!")
        run.log({"messages": 2})

if __name__ == "__main__":
    # 여기를 실제 W&B 사용자 이름/project로 바꿉니다
    example_wandb("your-team-name/your-project-name")
  1. 스크립트를 실행합니다.
python weave_trace_with_wandb.py
  1. https://weave.wandb.ai로 이동해 프로젝트를 선택합니다.
  2. Weave project sidebar에서 Traces를 클릭합니다. 연결된 run의 링크가 Traces 테이블에 표시됩니다.