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

# Contrôler le suivi automatique des appels LLM

> Contrôlez la manière dont W&B Weave enregistre automatiquement les appels vers OpenAI, Anthropic et d’autres bibliothèques LLM

Si vous utilisez des bibliothèques de fournisseurs LLM (telles qu’OpenAI, Anthropic, Cohere ou Mistral) dans votre application, c’est grâce au patching automatique que Weave trace vos appels LLM à votre place. Lorsque vous appelez `weave.init()`, Weave intercepte (patche) les bibliothèques clientes LLM prises en charge, sans que vous ayez à modifier le code de votre application. Vous utilisez le SDK du fournisseur comme d’habitude, et Weave enregistre chaque requête sous forme d’appel Weave (Call).

Cette page explique quand et comment modifier ce comportement : désactiver le suivi automatique, le limiter à certains fournisseurs ou post-traiter les entrées et les sorties (par exemple, pour masquer des PII).

<h2 id="default-behavior">
  Comportement par défaut
</h2>

Par défaut, Weave patche et suit automatiquement les appels aux bibliothèques LLM courantes, comme `openai` et `anthropic`. Appelez `weave.init(...)` au début de votre programme, puis utilisez ces bibliothèques comme d’habitude. Leurs appels apparaissent dans les Traces de votre projet.

<h2 id="configure-autopatching">
  Configurer le patching automatique
</h2>

Les sections suivantes expliquent comment activer, désactiver ou ajuster finement le patching automatique en Python et en TypeScript. Choisissez l’onglet correspondant à votre SDK.

<Tabs>
  <Tab title="Python">
    <Warning>
      L’argument `autopatch_settings` est obsolète. Utilisez `implicitly_patch_integrations=False` pour désactiver le patching implicite, ou appelez des fonctions de patch spécifiques comme `patch_openai(settings={...})` pour configurer les paramètres de chaque intégration.
    </Warning>

    Par défaut, Weave applique un patching implicite automatique à toutes les intégrations prises en charge.

    Patching implicite (automatique) : Weave patche automatiquement les bibliothèques, quel que soit le moment où vous les importez.

    ```python lines theme={"system"}
    # Option 1 : importer avant weave.init()
    import openai
    import weave
    weave.init('your-team-name/your-project-name')  # OpenAI est automatiquement patché.

    # Option 2 : importer après weave.init()
    import weave
    weave.init('your-team-name/your-project-name')
    import anthropic  # Patché automatiquement via un hook d’importation.
    ```

    Désactivation du patching implicite : vous pouvez désactiver le patching automatique si vous préférez garder un contrôle explicite.

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

    # Option 1 : via le paramètre settings
    weave.init('your-team-name/your-project-name', settings={'implicitly_patch_integrations': False})

    # Option 2 : via une variable d’environnement
    # Définissez WEAVE_IMPLICITLY_PATCH_INTEGRATIONS=false avant d’exécuter votre script

    # Lorsque le patching implicite est désactivé, vous devez patcher explicitement les intégrations
    import openai
    weave.patch_openai()  # Désormais requis pour le traçage OpenAI
    ```

    Patching explicite (manuel) : vous pouvez patcher explicitement les intégrations pour un contrôle plus fin. C’est utile lorsque le patching implicite est désactivé ou lorsque vous ne souhaitez tracer qu’une partie des fournisseurs.

    ```python lines theme={"system"}
    import weave
    weave.init('your-team-name/your-project-name')
    weave.integrations.patch_openai()  # Activer le traçage OpenAI
    weave.integrations.patch_anthropic()  # Activer le traçage Anthropic
    ```

    Une fois ce code exécuté, Weave ne trace que les fournisseurs que vous avez explicitement patchés.

    <h3 id="post-process-inputs-and-outputs">
      Post-traiter les entrées et les sorties
    </h3>

    Au-delà de l’activation ou de la désactivation du patching, vous pouvez transformer ce que Weave enregistre pour chaque appel. Vous pouvez personnaliser la manière dont Weave enregistre les entrées et les sorties (par exemple, pour masquer des PII ou des secrets) en passant des paramètres à la fonction de patch :

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

    def redact_inputs(inputs: dict) -> dict:
        if "email" in inputs:
            inputs["email"] = "[REDACTED]"
        return inputs

    weave.init(...)
    weave.integrations.patch_openai(
        settings={
            "op_settings": {"postprocess_inputs": redact_inputs}
        }
    )
    ```

    Pour plus d’informations sur la gestion des données sensibles, consultez [Comment utiliser Weave avec des données PII](/fr/products/wandb/weave/cookbooks/pii).
  </Tab>

  <Tab title="TypeScript">
    Le SDK TypeScript ne prend en charge le patching automatique que pour OpenAI et Anthropic. Weave patche OpenAI dès que vous importez Weave, sans aucune configuration supplémentaire.

    En outre, le SDK TypeScript ne prend pas en charge :

    * La configuration ou la désactivation du patching automatique.
    * Le post-traitement des entrées et des sorties.

    Dans les cas limites où le patching automatique ne fonctionne pas (ESM, bundlers comme Next.js), encapsulez explicitement votre client OpenAI pour que Weave le trace :

    ```typescript twoslash theme={"system"}
    // @noErrors
    import OpenAI from 'openai'
    import * as weave from 'weave'
    import { wrapOpenAI } from 'weave'

    const client = wrapOpenAI(new OpenAI())
    await weave.init('your-team-name/your-project-name')
    ```

    Pour plus d’informations sur la configuration ESM et le dépannage, consultez le [guide d’intégration du SDK TypeScript](/fr/products/wandb/weave/guides/integrations/js).
  </Tab>
</Tabs>


## Related topics

- [Tracer votre code](/fr/products/wandb/weave/guides/tracking/create-call.md)
