> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 트레이스 소개

> W&B Weave에서 트레이스를 시작하는 방법을 알아보세요

<Note>
  이 문서는 대화형 노트북입니다. 로컬에서 실행하거나 다음 링크를 이용하세요.

  * [Google Colab에서 열기](https://colab.research.google.com/github/wandb/docs/blob/main/weave/cookbooks/source/Intro_to_Weave_Hello_Trace.ipynb)
  * [GitHub에서 소스 보기](https://github.com/wandb/docs/blob/main/weave/cookbooks/source/Intro_to_Weave_Hello_Trace.ipynb)
</Note>

이 노트북에서는 OpenAI 기반 함수에 `@weave.op` 데코레이터를 적용하여 W\&B Weave에서 첫 트레이스를 캡처하는 방법을 알아봅니다. 트레이싱을 사용하면 LLM Call의 입력, 출력, 중간 단계를 살펴보면서 애플리케이션을 디버그하고 개선할 수 있습니다. 이 튜토리얼은 Weave를 처음 접하고 간단한 엔드투엔드 예시가 필요한 개발자를 위한 것입니다.

<h2 id="prerequisites">
  🔑 사전 요구 사항
</h2>

Weave에서 트레이싱을 시작하기 전에 다음 사전 요구 사항을 완료하세요. 이 단계에서는 필요한 SDK를 설치하고, W\&B 및 OpenAI 인증을 진행한 뒤, 트레이스를 전송할 프로젝트를 초기화합니다.

1. Weave SDK를 설치하고 [API 키](https://forge.coreweave.com/settings#apikeys)로 로그인하세요.
2. OpenAI SDK를 설치하고 [API 키](https://platform.openai.com/api-keys)로 로그인하세요.
3. Weights & Biases 프로젝트를 초기화하세요.

```python lines theme={"system"}
# 의존성 설치 및 임포트
!pip install wandb weave openai -q

import json
import os
from getpass import getpass

from openai import OpenAI

import weave

# 🔑 API 키 설정
# 이 셀을 실행하면 `getpass`를 통해 API 키 입력을 요청하며, 입력한 내용은 터미널에 표시되지 않습니다.
#####
print("---")
print(
    "Create an API key at: https://forge.coreweave.com/settings#apikeys"
)
os.environ["WANDB_API_KEY"] = getpass("Enter your CoreWeave Forge API key: ")
print("---")
print("You can generate your OpenAI API key here: https://platform.openai.com/api-keys")
os.environ["OPENAI_API_KEY"] = getpass("Enter your OpenAI API key: ")
print("---")
#####

# 🏠 W&B 프로젝트 이름을 입력하세요
weave_client = weave.init("MY_PROJECT_NAME")  # 🐝 W&B 프로젝트 이름
```

<h2 id="run-your-first-trace">
  🐝 첫 번째 트레이스 실행하기
</h2>

다음 코드 샘플은 `@weave.op` 데코레이터를 사용해 Weave에서 트레이스를 캡처하고 시각화하는 방법을 보여줍니다. 이 코드는 `extract_fruit`라는 함수를 정의하며, 이 함수는 OpenAI의 GPT-4o에 프롬프트를 보내 문장에서 구조화된 데이터(과일, 색상, 맛)를 추출합니다. 함수에 `@weave.op` 데코레이터를 적용하면 Weave가 입력, 출력, 중간 단계를 포함한 함수 실행 과정을 자동으로 추적합니다. 샘플 문장으로 함수를 호출하면 Weave가 전체 트레이스를 저장하며, 이를 Weights & Biases UI에서 확인할 수 있습니다.

```python lines theme={"system"}
@weave.op()  # 🐝 요청을 추적하는 데코레이터
def extract_fruit(sentence: str) -> dict:
    client = OpenAI()
    system_prompt = (
        "Parse sentences into a JSON dict with keys: fruit, color and flavor."
    )
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": system_prompt},
            {"role": "user", "content": sentence},
        ],
        temperature=0.7,
        response_format={"type": "json_object"},
    )
    extracted = response.choices[0].message.content
    return json.loads(extracted)

sentence = "There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy."
extract_fruit(sentence)
```

이제 데코레이터를 적용한 함수에서 트레이스를 캡처하는 Weave 프로젝트가 준비되었으며, Weights & Biases UI에서 트레이스를 확인할 수 있습니다.

<h2 id="more-examples">
  🚀 더 많은 예시
</h2>

Weave 트레이싱을 더 자세히 알아보려면 다음 자료를 참고하세요.

* [퀵스타트 가이드](/ko/products/wandb/weave/quickstart)
* [트레이싱 심화 주제](/ko/products/wandb/weave/tutorial-tracing_2)
* [Weave의 트레이싱](/ko/products/wandb/weave/guides/tracking/tracing)
