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

# Afficher et personnaliser l’affichage des traces

> Affichez les appels dans l’interface utilisateur et personnalisez l’affichage des données de trace

Après avoir créé des appels dans W\&B Weave, vous aurez souvent besoin d’ouvrir un appel précis pour examiner ses entrées, ses sorties et ses métadonnées. Cette page explique comment afficher un appel dans l’interface utilisateur ou avec le SDK, et comment personnaliser le rendu des données de trace dans l’interface utilisateur de Weave à l’aide de `weave.Markdown`. Utilisez les onglets ci-dessous pour choisir l’interface la mieux adaptée à votre flux de travail.

<Tabs>
  <Tab title="Application web">
    Pour afficher un appel dans l’interface utilisateur :

    1. Accédez à [Forge](https://forge.coreweave.com/wandb) et sélectionnez votre projet.
    2. Dans la barre latérale du projet Weave, cliquez sur **Traces**.
    3. Dans le tableau, repérez l’appel que vous souhaitez afficher.
    4. Cliquez sur l’appel pour ouvrir sa page de détails.

    Pour en savoir plus sur la vue de trace, consultez [Naviguer dans la vue Weave Trace](/fr/products/wandb/weave/guides/tracking/trace-tree).
  </Tab>

  <Tab title="Python">
    Pour afficher un appel à l’aide du SDK Python de W\&B Weave, utilisez la méthode [`get_call`](/fr/products/wandb/weave/reference/python-sdk/trace/weave_client#method-get_call) :

    ```python lines theme={"system"}
    import weave

    # Initialiser le client
    client = weave.init("your-project-name")

    # Obtenir un appel spécifique à partir de son ID
    call = client.get_call("call-uuid-here")

    print(call)
    ```
  </Tab>

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

    // Initialiser le client
    const client = await weave.init('intro-example')

    // Obtenir un appel spécifique à partir de son ID
    const call = await client.getCall('call-uuid-here')

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

  <Tab title="API HTTP">
    Pour afficher un appel à l’aide de l’API de service, envoyez une requête au point de terminaison [`/call/read`](/fr/products/wandb/weave/reference/service-api/calls/call-read).

    ```bash theme={"system"}
    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>

<h2 id="customize-rendered-traces-with-weavemarkdown">
  Personnaliser le rendu des traces avec `weave.Markdown`
</h2>

Une fois que vous pouvez afficher un appel, vous souhaiterez peut-être contrôler la façon dont ses entrées et ses sorties apparaissent dans l’interface utilisateur. Utilisez `weave.Markdown` pour personnaliser l’affichage des informations de trace dans Weave sans perdre les données d’origine. Vous pouvez ainsi présenter vos entrées et sorties sous forme de blocs de contenu formaté et lisible, tout en préservant la structure des données sous-jacentes.

<Tabs>
  <Tab title="Python">
    Utilisez les fonctions `postprocess_inputs` et `postprocess_output` dans votre décorateur `@weave.op` pour mettre en forme vos données de trace. L’exemple de code suivant utilise des fonctions de post-traitement pour afficher un appel dans Weave avec une mise en forme plus lisible :

    ```python lines theme={"system"}
    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):
        # exemples d'articles de presse sur des entreprises du 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={"system"}
    Cette fonctionnalité n'est pas encore disponible dans le SDK TypeScript.
    ```
  </Tab>
</Tabs>

Une fois l’op exécuté, Weave affiche le Markdown mis en forme à côté des données d’origine dans la page de détails de l’appel. La capture d’écran suivante présente côte à côte les sorties brutes et les sorties mises en forme.

<img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/weave/_media/md-call-render.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=1480c4a1d422367033a540959562e759" alt="Un appel affiché dans l’interface utilisateur de Weights & Biases à l’aide de l’exemple de code." width="1372" height="1980" data-path="products/wandb/weave/_media/md-call-render.png" />


## Related topics

- [Personnaliser les ops](/fr/products/wandb/weave/guides/tracking/ops.md)
