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

# Créer une évaluation

> Découvrez comment créer un pipeline d’évaluation avec les modèles et les évaluations Weave

export const GitHubLink = ({url, compact = false}) => <a href={url} target="_blank" rel="noopener noreferrer" className={compact ? "source-link" : "github-source-link"}>
    {compact ? "View source" : <>
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
    </svg>
    GitHub source
      </>}
  </a>;

export const ColabLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="colab-link">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01.21.03zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z" />
    </svg>
    Try in Colab
  </a>;

<div style={{ display: 'flex', gap: '12px', flexWrap: 'wrap' }}>
  <ColabLink url="https://colab.research.google.com/github/wandb/docs/blob/main/weave/cookbooks/source/tutorial-eval.ipynb" />

  <GitHubLink url="https://github.com/wandb/docs/blob/main/weave/cookbooks/source/tutorial-eval.ipynb" />
</div>

Ce tutoriel vous guide dans la création d’un pipeline d’évaluation de bout en bout dans Weave, afin de mesurer et de suivre la qualité d’une application LLM au fil de vos itérations. Les évaluations vous permettent de comparer vos modifications à un ensemble stable d’exemples et de détecter les régressions avant qu’elles n’affectent les utilisateurs. Ce tutoriel s’adresse aux développeurs qui créent des applications basées sur des LLM et souhaitent disposer d’une méthode reproductible pour les tester.

Weave fournit une prise en charge intégrée du suivi des évaluations grâce aux classes [`Model`](/fr/products/wandb/weave/guides/core-types/models) et [`Evaluation`](/fr/products/wandb/weave/guides/core-types/evaluations). Ces API reposent sur un minimum d’hypothèses, ce qui leur permet de s’adapter à de nombreux cas d’usage.

<img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/weave/_media/images-evals-hero.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=fa65ccc8aa05294f37b3eba5e061ac16" alt="Illustration des évaluations" width="3975" height="2160" data-path="products/wandb/weave/_media/images-evals-hero.png" />

<h2 id="what-youll-learn">
  Ce que vous allez apprendre
</h2>

Ce guide vous montre comment :

* Configurer un `Model`.
* Créer un dataset sur lequel tester les réponses d'un LLM.
* Définir une fonction de score pour comparer la sortie du modèle aux sorties attendues.
* Exécuter une évaluation qui teste le modèle sur le dataset à l'aide de la fonction de score et d'un évaluateur intégré supplémentaire.
* Afficher les résultats de l'évaluation dans l'interface de Weights & Biases.

À la fin de ce guide, vous disposerez d'un pipeline d'évaluation fonctionnel qui attribue un score à un modèle d'exemple sur un dataset et journalise les résultats dans Weave.

<h2 id="prerequisites">
  Prérequis
</h2>

* Un [compte CoreWeave Forge](https://id.coreweave.com/signup)
* Python 3.10+ ou Node.js 18+
* Les paquets requis installés :
  * **Python** : `pip install weave openai`
  * **TypeScript** : `npm install weave openai`
* Une [clé API OpenAI](https://platform.openai.com/api-keys) définie dans une variable d’environnement.

<h2 id="import-the-necessary-libraries-and-functions">
  Importer les bibliothèques et fonctions nécessaires
</h2>

Importez les bibliothèques suivantes dans votre script :

<Tabs>
  <Tab title="Python">
    ```python lines theme={"system"}
    import json
    import openai
    import asyncio
    import weave
    from weave.scorers import MultiTaskBinaryClassificationF1
    ```
  </Tab>

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

<h2 id="build-a-model">
  Créer un `Model`
</h2>

Une fois les bibliothèques en place, l’étape suivante consiste à définir le modèle que vous souhaitez évaluer.

Dans Weave, les [`Models` sont des objets](/fr/products/wandb/weave/guides/core-types/models) qui capturent à la fois le comportement de votre modèle ou agent (logique, prompt, paramètres) et ses métadonnées versionnées (paramètres, code, micro-configuration), afin que vous puissiez suivre, comparer, évaluer et itérer de manière fiable.

Lorsque vous instanciez un `Model`, Weave capture automatiquement sa configuration et ses comportements, et met à jour la version à chaque modification. Vous pouvez ainsi suivre l’évolution de ses performances au fil de vos itérations.

Pour déclarer un `Model`, créez une sous-classe de `Model` et implémentez une fonction `predict` qui prend un exemple en paramètre et renvoie la réponse.

L’exemple de modèle suivant utilise OpenAI pour extraire le nom, la couleur et la saveur de fruits extraterrestres à partir des phrases fournies en entrée.

<Tabs>
  <Tab title="Python">
    ```python lines {1,5} theme={"system"}
    class ExtractFruitsModel(weave.Model):
        model_name: str
        prompt_template: str

        @weave.op()
        async def predict(self, sentence: str) -> dict:
            client = openai.AsyncClient()

            response = await client.chat.completions.create(
                model=self.model_name,
                messages=[
                    {"role": "user", "content": self.prompt_template.format(sentence=sentence)}
                ],
            )
            result = response.choices[0].message.content
            if result is None:
                raise ValueError("No response from model")
            parsed = json.loads(result)
            return parsed
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript twoslash lines {9} theme={"system"}
    // @noErrors
    // Remarque : weave.Model n’est pas encore pris en charge en TypeScript.
    // Encapsulez plutôt votre fonction de type modèle avec weave.op

    import * as weave from 'weave';
    import OpenAI from 'openai';

    const openaiClient = new OpenAI();

    const model = weave.op(async function myModel({datasetRow}) {
      const prompt = `Extract fields ("fruit": <str>, "color": <str>, "flavor") from the following text, as json: ${datasetRow.sentence}`;
      const response = await openaiClient.chat.completions.create({
        model: 'gpt-3.5-turbo',
        messages: [{ role: 'user', content: prompt }],
        response_format: { type: 'json_object' }
      });
      return JSON.parse(response.choices[0].message.content);
    });
    ```
  </Tab>
</Tabs>

La classe `ExtractFruitsModel` hérite de `weave.Model` (elle en est une sous-classe) afin que Weave puisse suivre l’objet instancié. Le décorateur `@weave.op` appliqué à la fonction `predict` permet de suivre ses entrées et ses sorties.

Vous pouvez instancier des objets `Model` comme suit :

<Tabs>
  <Tab title="Python">
    ```python lines theme={"system"}
    # Définissez le nom de votre équipe et de votre projet
    weave.init('[YOUR-TEAM]/eval_pipeline_quickstart')

    model = ExtractFruitsModel(
        model_name='gpt-3.5-turbo-1106',
        prompt_template='Extract fields ("fruit": <str>, "color": <str>, "flavor": <str>) from the following text, as json: {sentence}'
    )

    sentence = "There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy."

    print(asyncio.run(model.predict(sentence)))
    # si vous êtes dans un Jupyter Notebook, exécutez :
    # await model.predict(sentence)
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript twoslash theme={"system"}
    // @noErrors
    await weave.init('eval_pipeline_quickstart');

    const sentence = "There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy.";

    const result = await model({ datasetRow: { sentence } });

    console.log(result);
    ```
  </Tab>
</Tabs>

<h2 id="create-a-dataset">
  Créer un dataset
</h2>

Maintenant que votre `Model` est défini, il vous faut un dataset sur lequel l’évaluer. Un [`Dataset`](/fr/products/wandb/weave/guides/core-types/datasets) est une collection d’exemples stockée sous forme d’objet Weave. Publier le dataset vers Weave permet de le versionner et de le réutiliser d’un run d’évaluation à l’autre.

L’exemple de dataset suivant définit trois phrases d’entrée et leurs réponses attendues (`labels`), puis les met en forme dans un tableau JSON exploitable par les fonctions de score.

Cet exemple construit une liste d’exemples directement dans le code, mais vous pouvez également les journaliser un par un depuis votre application en cours d’exécution.

<Tabs>
  <Tab title="Python">
    ```python lines theme={"system"}
    sentences = ["There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy.",
    "Pounits are a bright green color and are more savory than sweet.",
    "Finally, there are fruits called glowls, which have a very sour and bitter taste which is acidic and caustic, and a pale orange tinge to them."]
    labels = [
        {'fruit': 'neoskizzles', 'color': 'purple', 'flavor': 'candy'},
        {'fruit': 'pounits', 'color': 'bright green', 'flavor': 'savory'},
        {'fruit': 'glowls', 'color': 'pale orange', 'flavor': 'sour and bitter'}
    ]
    examples = [
        {'id': '0', 'sentence': sentences[0], 'target': labels[0]},
        {'id': '1', 'sentence': sentences[1], 'target': labels[1]},
        {'id': '2', 'sentence': sentences[2], 'target': labels[2]}
    ]
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript twoslash theme={"system"}
    // @noErrors
    const sentences = [
      "There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy.",
      "Pounits are a bright green color and are more savory than sweet.",
      "Finally, there are fruits called glowls, which have a very sour and bitter taste which is acidic and caustic, and a pale orange tinge to them."
    ];
    const labels = [
      { fruit: 'neoskizzles', color: 'purple', flavor: 'candy' },
      { fruit: 'pounits', color: 'bright green', flavor: 'savory' },
      { fruit: 'glowls', color: 'pale orange', flavor: 'sour and bitter' }
    ];
    const examples = sentences.map((sentence, i) => ({
      id: i.toString(),
      sentence,
      target: labels[i]
    }));
    ```
  </Tab>
</Tabs>

Créez ensuite votre dataset à l’aide de la classe `weave.Dataset()`, puis publiez-le :

<Tabs>
  <Tab title="Python">
    ```python lines {2} theme={"system"}
    weave.init('eval_pipeline_quickstart')
    dataset = weave.Dataset(name='fruits', rows=examples)
    weave.publish(dataset)
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript twoslash lines {3-6} theme={"system"}
    // @noErrors
    import * as weave from 'weave';
    await weave.init('eval_pipeline_quickstart');
    const dataset = new weave.Dataset({
      name: 'fruits',
      rows: examples
    });
    await dataset.save();
    ```
  </Tab>
</Tabs>

<h2 id="define-custom-scoring-functions">
  Définir des fonctions de score personnalisées
</h2>

Maintenant que vous disposez d’un modèle et d’un dataset, il vous faut un moyen de mesurer les performances du modèle sur chaque exemple. Les fonctions de score comparent la sortie du modèle à la cible attendue et produisent les métriques présentées dans les résultats d’une évaluation.

Lorsque vous utilisez les évaluations Weave, Weave attend une `target` à laquelle comparer `output`. La fonction de score suivante prend deux dictionnaires (`target` et `output`) et renvoie un dictionnaire de valeurs booléennes qui indiquent si la sortie correspond à la cible. Le décorateur `@weave.op()` permet à Weave de suivre l’exécution de la fonction de score.

<Tabs>
  <Tab title="Python">
    ```python lines theme={"system"}
    @weave.op()
    def fruit_name_score(target: dict, output: dict) -> dict:
        return {'correct': target['fruit'] == output['fruit']}
    ```
  </Tab>

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

    const fruitNameScorer = weave.op(
      function fruitNameScore({target, output}) {
        return { correct: target.fruit === output.fruit };
      }
    );
    ```
  </Tab>
</Tabs>

Pour plus d’informations sur la création de votre propre fonction de score, consultez le guide [Évaluateurs](/fr/products/wandb/weave/guides/evaluation/scorers).

Dans certaines applications, il peut être utile de créer des classes `Scorer` personnalisées. Vous pouvez par exemple créer une classe `LLMJudge` standardisée avec des paramètres spécifiques (comme le modèle de chat ou le prompt), une logique de score propre à chaque ligne et un calcul de score agrégé. Pour plus d’informations, consultez le tutoriel sur la définition d’une classe `Scorer` dans [Évaluation d’applications RAG basée sur un modèle](/fr/products/wandb/weave/tutorial-rag#optional-defining-a-scorer-class).

<h2 id="use-a-built-in-scorer-and-run-the-evaluation">
  Utiliser un évaluateur intégré et exécuter l’évaluation
</h2>

Maintenant que le modèle, le dataset et un évaluateur personnalisé sont en place, vous pouvez tout assembler dans un run d’évaluation.

Outre les fonctions de score personnalisées, vous pouvez également utiliser les [évaluateurs intégrés de Weave](/fr/products/wandb/weave/guides/evaluation/builtin_scorers). Dans l’évaluation suivante, `weave.Evaluation()` utilise la fonction `fruit_name_score` définie dans la section précédente ainsi que l’évaluateur intégré `MultiTaskBinaryClassificationF1`, qui calcule des [scores F1](https://en.wikipedia.org/wiki/F-score).

L’exemple suivant évalue `ExtractFruitsModel` sur le dataset `fruits` à l’aide des deux fonctions de score, puis journalise les résultats dans Weave.

<Tabs>
  <Tab title="Python">
    ```python lines {3-10} theme={"system"}
    weave.init('eval_pipeline_quickstart')

    evaluation = weave.Evaluation(
        name='fruit_eval',
        dataset=dataset, 
        scorers=[
            MultiTaskBinaryClassificationF1(class_names=["fruit", "color", "flavor"]), 
            fruit_name_score
        ],
    )
    print(asyncio.run(evaluation.evaluate(model)))
    # si vous êtes dans un Jupyter Notebook, exécutez :
    # await evaluation.evaluate(model)
    ```
  </Tab>

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

    await weave.init('eval_pipeline_quickstart');

    const evaluation = new weave.Evaluation({
      name: 'fruit_eval',
      dataset: dataset,
      scorers: [fruitNameScorer],
    });
    const results = await evaluation.evaluate(model);
    console.log(results);
    ```
  </Tab>
</Tabs>

<Note>
  Si vous exécutez le code depuis un script Python, vous devez utiliser `asyncio.run`. En revanche, depuis un notebook Jupyter, vous pouvez utiliser `await` directement.
</Note>

<h3 id="complete-example">
  Exemple complet
</h3>

<Accordion title="Pipeline d’évaluation complet dans un seul script :">
  <Tabs>
    <Tab title="Python">
      ```python lines theme={"system"}
      import json
      import asyncio
      import openai
      import weave
      from weave.scorers import MultiTaskBinaryClassificationF1

      # Initialiser Weave une seule fois
      weave.init('eval_pipeline_quickstart')

      # 1. Définir le modèle
      class ExtractFruitsModel(weave.Model):
          model_name: str
          prompt_template: str

          @weave.op()
          async def predict(self, sentence: str) -> dict:
              client = openai.AsyncClient()
              response = await client.chat.completions.create(
                  model=self.model_name,
                  messages=[{"role": "user", "content": self.prompt_template.format(sentence=sentence)}],
              )
              result = response.choices[0].message.content
              if result is None:
                  raise ValueError("No response from model")
              return json.loads(result)

      # 2. Instancier le modèle
      model = ExtractFruitsModel(
          model_name='gpt-3.5-turbo-1106',
          prompt_template='Extract fields ("fruit": <str>, "color": <str>, "flavor": <str>) from the following text, as json: {sentence}'
      )

      # 3. Créer le jeu de données
      sentences = ["There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy.",
      "Pounits are a bright green color and are more savory than sweet.",
      "Finally, there are fruits called glowls, which have a very sour and bitter taste which is acidic and caustic, and a pale orange tinge to them."]
      labels = [
          {'fruit': 'neoskizzles', 'color': 'purple', 'flavor': 'candy'},
          {'fruit': 'pounits', 'color': 'bright green', 'flavor': 'savory'},
          {'fruit': 'glowls', 'color': 'pale orange', 'flavor': 'sour and bitter'}
      ]
      examples = [
          {'id': '0', 'sentence': sentences[0], 'target': labels[0]},
          {'id': '1', 'sentence': sentences[1], 'target': labels[1]},
          {'id': '2', 'sentence': sentences[2], 'target': labels[2]}
      ]

      dataset = weave.Dataset(name='fruits', rows=examples)
      weave.publish(dataset)

      # 4. Définir la fonction de score
      @weave.op()
      def fruit_name_score(target: dict, output: dict) -> dict:
          return {'correct': target['fruit'] == output['fruit']}

      # 5. Lancer l’évaluation
      evaluation = weave.Evaluation(
          name='fruit_eval',
          dataset=dataset,
          scorers=[
              MultiTaskBinaryClassificationF1(class_names=["fruit", "color", "flavor"]),
              fruit_name_score
          ],
      )
      print(asyncio.run(evaluation.evaluate(model)))
      ```
    </Tab>

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

      // Initialiser Weave une seule fois
      await weave.init('eval_pipeline_quickstart');

      // 1. Définir le modèle
      // Remarque : weave.Model n'est pas encore pris en charge en TypeScript.
      // Encapsulez plutôt votre fonction faisant office de modèle avec weave.op
      const openaiClient = new OpenAI();

      const model = weave.op(async function myModel({datasetRow}) {
        const prompt = `Extract fields ("fruit": <str>, "color": <str>, "flavor": <str>) from the following text, as json: ${datasetRow.sentence}`;
        const response = await openaiClient.chat.completions.create({
          model: 'gpt-3.5-turbo',
          messages: [{ role: 'user', content: prompt }],
          response_format: { type: 'json_object' }
        });
        return JSON.parse(response.choices[0].message.content);
      });

      // 2. Créer le jeu de données
      const sentences = [
        "There are many fruits that were found on the recently discovered planet Goocrux. There are neoskizzles that grow there, which are purple and taste like candy.",
        "Pounits are a bright green color and are more savory than sweet.",
        "Finally, there are fruits called glowls, which have a very sour and bitter taste which is acidic and caustic, and a pale orange tinge to them."
      ];
      const labels = [
        { fruit: 'neoskizzles', color: 'purple', flavor: 'candy' },
        { fruit: 'pounits', color: 'bright green', flavor: 'savory' },
        { fruit: 'glowls', color: 'pale orange', flavor: 'sour and bitter' }
      ];
      const examples = sentences.map((sentence, i) => ({
        id: i.toString(),
        sentence,
        target: labels[i]
      }));

      const dataset = new weave.Dataset({
        name: 'fruits',
        rows: examples
      });
      await dataset.save();

      // 3. Définir la fonction de score
      const fruitNameScorer = weave.op(
        function fruitNameScore({target, output}) {
          return { correct: target.fruit === output.fruit };
        }
      );

      // 4. Exécuter l'évaluation
      const evaluation = new weave.Evaluation({
        name: 'fruit_eval',
        dataset: dataset,
        scorers: [fruitNameScorer],
      });
      const results = await evaluation.evaluate(model);
      console.log(results);
      ```
    </Tab>
  </Tabs>
</Accordion>

<h2 id="view-your-evaluation-results">
  Afficher les résultats de votre évaluation
</h2>

Une fois l’évaluation terminée, vous pouvez examiner chaque prédiction et chaque résultat d’évaluateur dans l’interface de Weights & Biases. Weave capture automatiquement les traces de chaque prédiction et de chaque score. Pour consulter les résultats, cliquez sur le lien affiché par l’évaluation.

<img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/weave/_media/images-evals-hero.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=fa65ccc8aa05294f37b3eba5e061ac16" alt="Résultats de l’évaluation" width="3975" height="2160" data-path="products/wandb/weave/_media/images-evals-hero.png" />

<h2 id="learn-more-about-weave-evaluations">
  En savoir plus sur les évaluations Weave
</h2>

Vous disposez désormais d’un pipeline d’évaluation complet. Pour aller plus loin avec les fonctionnalités d’évaluation de Weave, consultez les ressources suivantes :

* Découvrez comment [créer et utiliser des évaluateurs](/fr/products/wandb/weave/guides/evaluation/scorers).
* Consultez les [fonctions de score intégrées](/fr/products/wandb/weave/guides/evaluation/builtin_scorers) de Weave.
* Découvrez l’[évaluation basée sur des modèles](/fr/products/wandb/weave/guides/evaluation/scorers#model-based-evaluation), qui utilise des LLM comme juges.

<h2 id="next-steps">
  Étapes suivantes
</h2>

[Créez une application RAG](/fr/products/wandb/weave/tutorial-rag) pour découvrir comment évaluer la génération augmentée par récupération.


## Related topics

- [Créer une évaluation](/fr/products/wandb/weave/reference/service-api/evaluations/evaluation-create.md)
