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

# Journalisation par lots pour votre agent

> Journalisez manuellement les traces d’agent pour les frameworks qui ont déjà terminé l’appel LLM et doivent l’enregistrer.

export const AgentLensBanner = ({href}) => <Tip>
    <strong>This workflow is also available in CoreWeave Agent Lens.</strong> Agent Lens is the Forge experience built for tracing, monitoring, and analyzing AI agents, with automated insights into agent failures and user intents. It uses the same trace data as Weights & Biases Weave, so the traces you already send appear there with nothing to migrate.{' '}
    <a href={href || '/products/agent-lens'}>{href ? 'See how to do this in Agent Lens' : 'Learn about Agent Lens'}</a>.
  </Tip>;

<AgentLensBanner href="/fr/products/agent-lens/tracing/batch-logging" />

Pour les frameworks qui ont déjà effectué l’appel LLM et n’ont plus qu’à l’enregistrer, utilisez `weave.log_turn` et `weave.log_conversation`. Tous les spans sont créés et clôturés immédiatement, sans qu’aucun gestionnaire de contexte ne reste ouvert.

Les données journalisées de cette manière peuvent être historiques : aucune conversation en direct n’est nécessaire. Définissez `conversation_id` sur n’importe quelle chaîne stable qui identifie la conversation de manière unique. Les tours de conversation qui partagent le même `conversation_id` sont regroupés en une seule conversation dans la vue **Agents**.

Si vous développez votre propre boucle d’agent, utilisez plutôt les API d’instrumentation en temps réel décrites dans [Tracer vos agents](/fr/products/wandb/weave/guides/tracking/trace-agents).

<h2 id="log-a-turn">
  Journaliser un tour de conversation
</h2>

Pour enregistrer un tour de conversation une fois celui-ci terminé, utilisez `weave.log_turn`. Cette méthode accepte un tour de conversation complet, y compris tous ses spans LLM et d’outil.

<Tabs>
  <Tab title="Python">
    ```python lines highlight="1,3,28" theme={"system"}
    weave.init("[YOUR-TEAM]/[YOUR-PROJECT]")

    from weave.conversation import LLM, Message, Tool, Usage

    llm_span = LLM(
        model="gpt-4o",
        provider_name="openai",
        input_messages=[Message(role="user", content="What is the weather?")],
        output_messages=[Message(role="assistant", content="Let me check.")],
        usage=Usage(input_tokens=100, output_tokens=20),
    )

    tool_span = Tool(
        name="get_weather",
        arguments='{"city": "Tokyo"}',
        result='"24°C, sunny"',
    )

    llm_span2 = LLM(
        model="gpt-4o",
        provider_name="openai",
        input_messages=[Message(role="user", content="What is the weather?")],
        output_messages=[Message(role="assistant", content="It is 24°C and sunny.")],
        usage=Usage(input_tokens=150, output_tokens=30),
    )

    # Journaliser un tour de conversation avec tous ses spans.
    weave.log_turn(
        conversation_id="my-conversation-abc",
        agent_name="weather-bot",
        messages=[
            Message(role="user", content="What is the weather in Tokyo?"),
            Message(role="assistant", content="It is 24°C and sunny in Tokyo."),
        ],
        spans=[llm_span, tool_span, llm_span2],
    )
    ```
  </Tab>

  <Tab title="TypeScript">
    ```plaintext theme={"system"}
    Cette fonctionnalité n’est pas encore disponible dans le SDK TypeScript.
    ```
  </Tab>
</Tabs>

`log_turn` renvoie un `LogResult` contenant les ID de trace des spans émis.

Le paramètre facultatif `model` de `log_turn` définit le modèle du span propre au tour de conversation, et non celui des spans LLM enfants. Chaque span `LLM` possède son propre `model`, indépendamment des autres. Si un tour de conversation fait appel à plusieurs modèles, attribuez au paramètre `model` de `log_turn` celui que vous considérez comme le modèle principal de ce tour de conversation.

<h2 id="log-a-conversation">
  Journaliser une conversation
</h2>

Pour importer en une seule fois une conversation complète sur plusieurs tours de conversation, utilisez `weave.log_conversation`. Le paramètre `turns` accepte une liste d’objets `Turn`, chacun construit de la même manière que dans l’exemple `log_turn` précédent.

<Tabs>
  <Tab title="Python">
    ```python lines theme={"system"}
    weave.log_conversation(
        conversation_id="my-conversation-abc",
        agent_name="weather-bot",
        turns=[turn_1, turn_2],
    )
    ```
  </Tab>

  <Tab title="TypeScript">
    ```plaintext theme={"system"}
    Cette fonctionnalité n’est pas encore disponible dans le SDK TypeScript.
    ```
  </Tab>
</Tabs>


## Related topics

- [Journaliser des données d’évaluation depuis votre code](/fr/products/wandb/weave/guides/evaluation/evaluation_logger.md)
