> ## 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.

# Call 표시 이름 설정

> W&B Weave 트레이싱에서 Call의 표시 이름을 설정하거나 재정의하세요

Op은 Call을 생성합니다. Op은 `@weave.op`으로 데코레이트하는 함수 또는 방법입니다. 기본적으로 Op의 이름은 함수 이름이며, 관련 Call은 동일한 표시 이름을 가집니다.

맞춤형 표시 이름은 Call을 Weights & Biases UI에서 더 쉽게 파악할 수 있게 합니다. 이를 사용하여 동일한 Op의 Call을 구분하거나, 입력 값이나 타임스탬프와 같은 동적 컨텍스트를 표시하거나, 팀의 관례에 맞게 Call 이름을 정렬하세요.

주어진 Op의 모든 Call에 대한 표시 이름을 여러 방법으로 재정의할 수 있습니다. 필요한 범위에 맞는 접근 방식을 선택하세요: 단일 Call, Op의 모든 Call, 또는 Op 자체.

<Tabs>
  <Tab title="Python">
    1. Op을 호출할 때 표시 이름을 변경하세요. 다음 예시는 `__weave` 딕셔너리를 사용하여 Op 표시 이름보다 우선하는 Call 표시 이름을 설정합니다:

    ```python lines theme={"system"}
    result = my_function("World", __weave={"display_name": "My Custom Display Name"})
    ```

    2. Call별로 표시 이름을 변경하세요. 다음 예시는 [`Op.call`](/ko/products/wandb/weave/reference/python-sdk/trace/op#function-call) 방법을 사용하여 `call` 객체를 반환합니다. 그런 다음 이 객체에서 [`call.set_display_name`](/ko/products/wandb/weave/reference/python-sdk/trace/weave_client#method-set_display_name)을 사용하여 표시 이름을 설정할 수 있습니다:

    ```python lines theme={"system"}
    result, call = my_function.call("World")
    call.set_display_name("My Custom Display Name")
    ```

    3. 특정 Op의 모든 Call에 대한 표시 이름을 변경하세요. 다음 예시는 `@weave.op` 함수 데코레이터 자체에 새 표시 이름을 설정하여 해당 Op의 모든 Call에 적용합니다:

    ```python lines theme={"system"}
    @weave.op(call_display_name="My Custom Display Name")
    def my_function(name: str):
        return f"Hello, {name}!"
    ```

    `call_display_name`에는 `call` 객체를 받아 문자열을 반환하는 함수를 지정할 수도 있습니다. 함수가 실행될 때 Weave가 `call` 객체를 자동으로 전달합니다. 이를 활용하면 함수 이름, Call 입력, 필드 등을 기반으로 이름을 동적으로 생성할 수 있습니다. 각 Call의 이름에 런타임 컨텍스트를 반영하려는 경우에 유용합니다.

    대표적인 사용 사례로는 함수 이름 뒤에 타임스탬프를 붙이는 방법이 있습니다.

    ```python lines theme={"system"}
    from datetime import datetime

    @weave.op(call_display_name=lambda call: f"{call.func_name}__{datetime.now()}")
    def func():
        return ...
    ```

    `.attributes`를 사용하여 맞춤형 메타데이터를 로깅할 수도 있습니다.

    ```python lines theme={"system"}
    def custom_attribute_name(call):
        model = call.attributes["model"]
        revision = call.attributes["revision"]
        now = call.attributes["date"]

        return f"{model}__{revision}__{now}"

    @weave.op(call_display_name=custom_attribute_name)
    def func():
        return ...

    with weave.attributes(
        {
            "model": "finetuned-llama-3.1-8b",
            "revision": "v0.1.2",
            "date": "2024-08-01",
        }
    ):
        func()  # 표시 이름은 "finetuned-llama-3.1-8b__v0.1.2__2024-08-01"이 됩니다

        with weave.attributes(
            {
                "model": "finetuned-gpt-4o",
                "revision": "v0.1.3",
                "date": "2024-08-02",
            }
        ):
            func()  # 표시 이름은 "finetuned-gpt-4o__v0.1.3__2024-08-02"가 됩니다
    ```

    4. Op 자체의 표시 이름을 변경하세요. Op에 연결된 Call은 모두 같은 표시 이름을 가지므로, Op 이름을 변경하는 것이 해당 Op이 생성하는 모든 Call의 이름을 바꾸는 가장 직접적인 방법입니다. Op 자체의 이름을 재정의하면 Call의 표시 이름도 함께 변경됩니다. 다음 두 가지 방법 중 하나를 사용하세요:

       * Call을 로깅하기 전에 Op의 `name` 속성을 설정하세요:
         ```python lines theme={"system"}
         my_function.name = "My Custom Op Name"
         ```

       * Op 데코레이터에 `name` 옵션을 설정하세요:
         ```python lines theme={"system"}
         @weave.op(name="My Custom Op Name")
         ```
  </Tab>

  <Tab title="TypeScript">
    Call의 기본 이름을 재정의하려면 `weave.op()`를 호출할 때 `callDisplayName` 옵션을 사용하세요.

    ```typescript twoslash lines {2} theme={"system"}
    // @noErrors
    const extractDinosOp = weave.op(extractDinos, {
    callDisplayName: (input: string) => `Your New Display Name`
    });
    ```
  </Tab>
</Tabs>

이미 로깅한 Call의 이름을 변경해야 한다면, 실행 후에 [Call의 표시 이름을 업데이트](/ko/products/wandb/weave/guides/tracking/update-call)할 수도 있습니다.


## Related topics

- [Call 업데이트 및 삭제](/ko/products/wandb/weave/guides/tracking/update-call.md)
