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

# トレース表示の確認とカスタマイズ

> UI で Call を表示し、トレースデータの表示方法をカスタマイズします

W\&B Weave で Call を作成した後は、入力、出力、メタデータを確認するために、個々の Call を開きたくなることがよくあります。このページでは、UI または SDK で Call を表示する方法と、`weave.Markdown` を使用して UI でのトレースデータのレンダリング方法を Weave でカスタマイズする方法を説明します。次のタブから、ワークフローに合ったインターフェースを選択してください。

<Tabs>
  <Tab title="Web App">
    UI で Call を表示するには、次の手順を実行します。

    1. [wandb.ai](https://wandb.ai/) にアクセスし、project を選択します。
    2. Weave のプロジェクトのサイドバーで **Traces** をクリックします。
    3. 表で表示したい Call を検索します。
    4. Call をクリックして詳細ページを開きます。

    Trace view の詳細については、[Weave Trace view を操作する](/ja/weave/guides/tracking/trace-tree)を参照してください。
  </Tab>

  <Tab title="Python">
    W\&B Weave Python SDK を使用して Call を表示するには、[`get_call`](/ja/weave/reference/python-sdk/trace/weave_client#method-get_call) メソッドを使用します。

    ```python lines theme={null}
    import weave

    # クライアントを初期化します
    client = weave.init("your-project-name")

    # ID で特定の Call を取得します
    call = client.get_call("call-uuid-here")

    print(call)
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript twoslash lines theme={null}
    // @noErrors
    import * as weave from 'weave'

    // クライアントを初期化します
    const client = await weave.init('intro-example')

    // ID で特定の Call を取得します
    const call = await client.getCall('call-uuid-here')

    console.log(call)
    ```
  </Tab>

  <Tab title="HTTP API">
    Service API を使用して Call を表示するには、[`/call/read`](https://docs.wandb.ai/weave/reference/service-api/calls/call-read) エンドポイントにリクエストを送信します。

    ```bash theme={null}
    curl -L 'https://trace.wandb.ai/call/read' \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -d '{
        "project_id": "string",
        "id": "string",
    }'
    ```
  </Tab>
</Tabs>

<div id="customize-rendered-traces-with-weavemarkdown">
  ## `weave.Markdown` を使ってレンダリングされたトレースをカスタマイズする
</div>

Call を表示できるようになったら、次はその入力と出力を UI でどのように表示するかを調整したくなる場合があります。`weave.Markdown` を使用すると、元のデータを失うことなく、Weave でのトレース情報の表示方法をカスタマイズできます。これにより、基になるデータ構造を保持したまま、入力と出力を整形された読みやすいコンテンツブロックとして表示できます。

<Tabs>
  <Tab title="Python">
    トレースデータを整形するには、`@weave.op` デコレータで `postprocess_inputs` 関数と `postprocess_output` 関数を使用します。次のコードサンプルでは、postprocessor を使って、より読みやすい形式で Weave に Call を表示します。

    ```python lines theme={null}
    import weave

    def postprocess_inputs(query) -> weave.Markdown:
        search_box = f"""
    **Search Query:**
    ``+`
    {query}
    ``+`
    """
        return {"search_box": weave.Markdown(search_box),
                "query": query}

    def postprocess_output(docs) -> weave.Markdown:
        formatted_docs = f"""
    # {docs[0]["title"]}

    {docs[0]["content"]}

    [Read more]({docs[0]["url"]})

    ---

    # {docs[1]["title"]}

    {docs[1]["content"]}

    [Read more]({docs[1]["url"]})
    """
        return weave.Markdown(formatted_docs)

    @weave.op(
        postprocess_inputs=postprocess_inputs,
        postprocess_output=postprocess_output,
    )
    def rag_step(query):
        # S&P 500 企業に関する新聞記事の例
        docs = [
            {
                "title": "OpenAI",
                "content": "OpenAI is a company that makes AI models.",
                "url": "https://www.openai.com",
            },
            {
                "title": "Google",
                "content": "Google is a company that makes search engines.",
                "url": "https://www.google.com",
            },
        ]
        return docs

    if __name__ == "__main__":
        weave.init('markdown_renderers')
        rag_step("Tell me about OpenAI")
    ```
  </Tab>

  <Tab title="TypeScript">
    ```plaintext theme={null}
    この機能は、TypeScript SDK ではまだ利用できません。
    ```
  </Tab>
</Tabs>

op を実行すると、Weave は整形された Markdown を Call の詳細ページで元のデータと並べて表示します。次のスクリーンショットは、未整形の出力と整形済みの出力が横に並んで表示されている様子を示しています。

<img src="https://mintcdn.com/wb-21fd5541/nH7Qx1F6mfkUr7pE/weave/guides/tracking/imgs/md-call-render.png?fit=max&auto=format&n=nH7Qx1F6mfkUr7pE&q=85&s=3ab98e6b7301a33c5ae5b5d5f11ceb37" alt="コードサンプルを使用して Weave UI でレンダリングされた Call。" width="1440" height="1980" data-path="weave/guides/tracking/imgs/md-call-render.png" />
