> ## 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 にも同じ表示名が付きます。

カスタムの表示名を設定すると、Weights & Biases UI で Call を識別しやすくなります。同じ 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`](/ja/products/wandb/weave/reference/python-sdk/trace/op#function-call) メソッドを使用して `call` オブジェクトを返します。その後、そのオブジェクトと [`call.set_display_name`](/ja/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` オブジェクトを受け取り、string を返す関数も指定できます。関数の実行時に、Weave は `call` オブジェクトを自動的に渡します。これを使用すると、関数名、Call の入力、フィールドなどに基づいて名前を動的に生成できます。各 Call の名前に実行時のコンテキストを反映させたい場合に便利です。

    よくある使用例の 1 つは、関数名にタイムスタンプを追加することです。

    ```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 の表示名も変わります。これには次の 2 つの方法があります。

       * 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 の表示名を更新する](/ja/products/wandb/weave/guides/tracking/update-call)こともできます。
