Weave 빠른 시작 — 트레이싱 추가하기
Weave 빠른 시작 — 트레이싱 추가하기
LLM 호출이 어떤 입력을 받고 어떤 출력을 냈는지, 속도는 어땠는지까지 남기고 싶다면 Weave에 **트레이싱(tracing)**을 붙이면 돼요. 먼저 weave와 openai 패키지를 설치해요.
pip install weave openai
Python 3.10+ (Node.js 18+도 지원)이 필요하고, OpenAI API 키가 환경변수로 설정돼 있어야 해요.
코드에 추적 붙이기
트레이싱은 크게 세 단계예요.
weave라이브러리를 import 한다.weave.init('팀/프로젝트')를 호출해 추적 정보를 보낼 W&B 팀·프로젝트를 지정한다. 팀을 안 쓰면 기본 팀으로 가고, 없는 프로젝트면 자동 생성돼요.- 추적하고 싶은 함수에
@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()로 감싸서 직접 추적하면 돼요.