Weave 빠른 시작 — 트레이싱 추가하기

Weave 빠른 시작 — 트레이싱 추가하기

LLM 호출이 어떤 입력을 받고 어떤 출력을 냈는지, 속도는 어땠는지까지 남기고 싶다면 Weave에 **트레이싱(tracing)**을 붙이면 돼요. 먼저 weaveopenai 패키지를 설치해요.

pip install weave openai

Python 3.10+ (Node.js 18+도 지원)이 필요하고, OpenAI API 키가 환경변수로 설정돼 있어야 해요.

코드에 추적 붙이기

트레이싱은 크게 세 단계예요.

  1. weave 라이브러리를 import 한다.
  2. weave.init('팀/프로젝트')를 호출해 추적 정보를 보낼 W&B 팀·프로젝트를 지정한다. 팀을 안 쓰면 기본 팀으로 가고, 없는 프로젝트면 자동 생성돼요.
  3. 추적하고 싶은 함수에 @weave.op() 데코레이터를 붙인다. (TypeScript에서는 weave.op(함수) 형태)
import weave
from openai import OpenAI

client = OpenAI()

@weave.op()
def extract_dinos(sentence: str) -> dict:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "system", "content": "..."},
                  {"role": "user", "content": sentence}],
        response_format={"type": "json_object"}
    )
    return response.choices[0].message.content

weave.init('your-team/traces-quickstart')

response_format={"type": "json_object"}처럼 지원되는 LLM 호출은 Weave가 자동으로 추적해요. 데코레이터는 같은 함수의 입력·출력·코드까지 함께 남겨 줘요.

결과 확인

함수를 호출하면 터미널에 트레이스를 볼 수 있는 링크가 출력돼요.

weave: View Weave data at https://wandb.ai/your-team/traces-quickstart/weave

Weave UI의 Traces 패널에서 입력·출력·지연 시간·토큰 사용량을 확인할 수 있어요. 자동 추적되는 LLM 라이브러리별로 통합이 있고, 지원되지 않는 라이브러리는 @weave.op()로 감싸서 직접 추적하면 돼요.

더 알아보기