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

# W&B Weave

> Suivez, testez et améliorez vos applications basées sur des modèles de langage avec W&B Weave

W\&B Weave est une plateforme d’observabilité et d’évaluation qui vous aide à suivre, évaluer et améliorer vos agents et vos applications LLM. Avec Weave, vous pouvez :

* [Tracer vos agents et collecter des métriques à leur sujet](/fr/products/wandb/weave/agent-integration-quickstart), qu’ils reposent sur des SDK ou des harness courants, grâce au SDK de Weave compatible OTel
* [Instrumenter manuellement les appels LLM et des fonctions arbitraires de votre application](/fr/products/wandb/weave/quickstart) afin de tracer, versionner et collecter du feedback sur votre application
* [Évaluer](/fr/products/wandb/weave/tutorial-eval) les réponses de votre agent ou de votre application à l’aide de juges LLM et d’évaluateurs personnalisés

<h2 id="get-started">
  Premiers pas
</h2>

Sélectionnez votre type de charge de travail, puis consultez les documents suivants pour découvrir les notions de base de la suite d’outils de Weave. Pour en savoir plus sur les différences entre les charges de travail, consultez [Qu’est-ce que Weave ?](/fr/products/wandb/weave/concepts/what-is-weave)

<Tabs>
  <Tab title="Tracer un agent">
    <Note>
      Weave's agent tracing workflows are also available in [CoreWeave Agent Lens](/products/agent-lens), the successor to Weights & Biases Weave. Both services already receive your agent tracing data, so there is nothing to migrate. See [What is Agent Lens](/products/agent-lens) for more information.
    </Note>

    <CardGroup cols={3}>
      <Card title="Intégrer Weave à un agent" icon="plug" href="/fr/products/wandb/weave/agent-integration-quickstart">
        Choisissez l’une des intégrations natives pour votre SDK ou harness d’agent et commencez à tracer les sessions, les tours de conversation, les appels LLM et les appels d’outil dans la vue Agents.
      </Card>

      <Card title="Envoyer des spans OpenTelemetry vers la vue Agents" icon="code" href="/fr/products/wandb/weave/guides/tracking/trace-agents-otel">
        Configurez rapidement votre agent instrumenté avec OTel pour qu’il envoie ses traces au point de terminaison OTLP de Weave. Aucune installation du SDK Weave n’est requise.
      </Card>

      <Card title="Afficher les métriques d’agent dans l’interface Weights & Biases" icon="chart-line" href="/fr/products/wandb/weave/guides/tracking/view-agent-activity">
        Tracez un appel simple à un LLM et examinez les entrées, les sorties et le code dans votre compte CoreWeave Forge.
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Tracer des fonctions avec les ops et les appels">
    <CardGroup cols={3}>
      <Card title="Démarrage rapide : instrumenter et tracer des fonctions" icon="chart-line" href="/fr/products/wandb/weave/quickstart">
        Commencez par tracer un appel simple à un LLM, puis examinez les données dans votre compte CoreWeave Forge.
      </Card>

      <Card title="Premiers pas avec l’évaluation de votre application" icon="clipboard-check" href="/fr/products/wandb/weave/tutorial-eval">
        Découvrez comment créer un pipeline d’évaluation avec les évaluateurs Weave pour tester votre application et suivre ses performances.
      </Card>

      <Card title="Évaluer une application RAG" icon="search" href="/fr/products/wandb/weave/tutorial-rag">
        Créez et évaluez des applications RAG avec Weave, en utilisant des juges LLM pour mesurer la qualité de la récupération.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>

<h2 id="install-weave">
  Installer Weave
</h2>

W\&B Weave fournit des bibliothèques Python et TypeScript. Pour installer la bibliothèque Weave, exécutez la commande suivante :

<Tabs>
  <Tab title="Python">
    ```bash theme={"system"}
    pip install weave
    ```
  </Tab>

  <Tab title="TypeScript">
    ```bash theme={"system"}
    npm install weave
    ```
  </Tab>
</Tabs>

Pour commencer à utiliser la bibliothèque Weave, créez un [compte CoreWeave Forge](https://id.coreweave.com/signup) et une [clé API dans les Paramètres utilisateur](https://forge.coreweave.com/settings). La clé API vous permet de vous authentifier auprès de votre compte CoreWeave Forge et d’y envoyer des données.

<h2 id="limits-and-expected-behaviors">
  Limites et comportements attendus
</h2>

Weave présente les limitations, problèmes connus et comportements attendus suivants. Consultez cette liste si vous obtenez des résultats inattendus ou si vous souhaitez comprendre comment Weave gère les cas limites.

* Pour les requêtes pouvant être relancées, Weave effectue une première nouvelle tentative 1 seconde après la réception de la première erreur, puis double le délai entre chaque tentative, jusqu’à un maximum de 5 minutes. Les requêtes expirent au bout de 36 heures.

* Au lieu de lever les exceptions, [`.call()`](/fr/products/wandb/weave/guides/tracking/tracing#creating-calls) capture les exceptions et les stocke dans `call.exception`. Si vous devez lever des exceptions pendant l’exécution, définissez le [paramètre `__should_raise`](/fr/products/wandb/weave/reference/python-sdk/trace/op#function-call), comme ceci :

  ```python showLineNumbers theme={"system"}
  # Ceci lève des exceptions
  result, call = foo.call(__should_raise=True)
  ```

* Les instances Weave dédiées utilisent une URL d’ingress OpenTelemetry différente. Pour plus d’informations sur les points de terminaison officiels, consultez [Envoyer des traces OpenTelemetry](/fr/products/wandb/weave/guides/tracking/otel).

* Weave tronque parfois les objets de données de trace volumineux. En effet, la sortie de trace par défaut est un objet Python personnalisé brut que Weave ne peut pas sérialiser automatiquement. Pour renvoyer l’intégralité de vos données de trace, définissez un dictionnaire de chaînes, comme ceci :

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

  class MyObj:
      """Un objet doté d’un attribut de type chaîne volumineux."""
      def __init__(self, x: int):
          self.x = x

      def __repr__(self):
          return f"MyObj(x={self.x})"

      def to_dict(self):
          return {"x": self.x}

  @weave.op()
  def make_my_obj():
      x = "a" * 10_000
      return MyObj(x)

  def main():
      weave.init("<entity/project>")

      # Définir une opération traçable qui traite MyObj
      @weave.op()
      def process_obj(obj: MyObj) -> int:
          return len(obj.x)

      # Créer et traiter une instance volumineuse de MyObj
      large_obj = make_my_obj()
      length = process_obj(large_obj)
      print(f"Length of x in MyObj: {length}")
      print("dict:", large_obj.to_dict())

  if __name__ == "__main__":
      main()
  ```
