Partager via


Schéma d’entrée d’évaluation de l’agent

Important

Cette fonctionnalité est disponible en préversion publique.

Cet article explique le schéma d’entrée requis par l’évaluation de l’agent pour évaluer la qualité, le coût et la latence de votre application.

  • Pendant le développement, l’évaluation a lieu hors connexion et un jeu d’évaluation est une entrée requise pour l’évaluation de l’agent.
  • Lorsqu’une application est en production, toutes les entrées de l’évaluation de l’agent proviennent de vos tables d’inférence ou journaux de production.

Le schéma d’entrée est identique pour les évaluations en ligne et hors connexion.

Pour plus d’informations générales sur les jeux d’évaluation, consultez Jeux d’évaluation.

Schéma d’entrée d’évaluation

Le tableau suivant montre le schéma d’entrée de l’évaluation de l’agent.

Colonne Type de données Description Application passée en tant qu’argument d’entrée Sorties générées précédemment fournies
request_id string Identificateur unique de la requête. Facultatif Facultatif
requête Consultez Schéma pour la requête. Entrée dans l’application à évaluer, question ou requête de l’utilisateur. Par exemple, {'messages': [{"role": "user", "content": "What is RAG"}]} ou « Qu’est-ce que RAG ? ». Lorsqu’elle request est fournie sous forme de chaîne, elle sera transformée messages avant son passage à votre agent. Requis Requis
response string Réponse générée par l’application en cours d’évaluation. Générée par l’évaluation de l’agent facultatif. Si non disponible, alors dérivée de la Trace. Soit response ou trace est nécessaire.
expected_facts tableau de chaînes Liste des faits attendus dans la sortie du modèle. Consultez les instructions expected_facts. Facultatif Facultatif
expected_response string Réponse de référence (correcte) pour la requête d’entrée. Consultez les instructions expected_response. Facultatif Facultatif
expected_retrieved_context tableau Tableau d’objets contenant le contexte récupéré attendu pour la requête (si l’application inclut une étape de récupération). Schéma de tableau Facultatif Facultatif
retrieved_context tableau Résultats de récupération générés par le récupérateur dans la chaîne en cours d’évaluation. Si l’application contient plusieurs étapes de récupération, il s’agit des résultats de récupération de la dernière étape (chronologiquement dans la trace). Schéma de tableau Générée par l’évaluation de l’agent facultatif. Si non disponible, alors dérivée de la Trace fournie.
trace Chaîne JSON de Trace MLflow La trace MLflow de l’exécution de l’application sur la requête correspondante. Générée par l’évaluation de l’agent facultatif. Soit response ou trace est nécessaire.

Instructions expected_facts

Le expected_facts champ doit inclure la liste minimale des faits qui doivent être présents dans une réponse de modèle correcte.

L’inclusion uniquement des faits requis et l’abandon des faits qui ne sont pas strictement requis dans la réponse permet à l’évaluation de l’agent de fournir un signal plus robuste sur la qualité de la sortie.

Instructions expected_response

La vérité de base expected_response doit uniquement comprendre l’ensemble minimal de faits nécessaires à une réponse exacte. Si vous copiez une réponse provenant d’une autre source, veillez à modifier la réponse afin de supprimer tout texte qui n’est pas nécessaire pour qu’une réponse soit considérée comme exacte.

Inclure uniquement les informations nécessaires et laisser de côté celles qui ne sont pas strictement requises dans la réponse permet à l’évaluation des agents de fournir un signal plus solide sur la qualité de la sortie.

Schéma pour la requête

Le schéma de requête peut être l’un des suivants :

  • Un champ messages qui suit le schéma d’achèvement du chat de l’OpenAI et peut encoder la conversation complète.
  • Une chaîne simple. Ce format prend uniquement en charge les conversations à tour unique. Les chaînes simples sont converties au messages format avant d’être passées à votre agent.
  • Un champ de chaîne query pour la demande la plus récente et un champ history facultatif qui encode les tours précédents de la conversation.

Pour les applications de conversation multitours, utilisez la deuxième ou la troisième option ci-dessus.

L’exemple suivant montre les trois options de la même colonne request du jeu de données d’évaluation :

import pandas as pd

data = {
  "request": [

      # Plain string. Plain strings are transformed to the `messages` format before being passed to your agent.
      "What is the difference between reduceByKey and groupByKey in Spark?",

      # Using the `messages` field for a single- or multi-turn chat
      {
          "messages": [
              {
                  "role": "user",
                  "content": "How can you minimize data shuffling in Spark?"
              }
          ]
      },

      # Using the query and history fields for a single- or multi-turn chat
      {
          "query": "Explain broadcast variables in Spark. How do they enhance performance?",
          "history": [
              {
                  "role": "user",
                  "content": "What are broadcast variables?"
              },
              {
                  "role": "assistant",
                  "content": "Broadcast variables allow the programmer to keep a read-only variable cached on each machine."
              }
          ]
      }
  ],

  "expected_response": [
    "expected response for first question",
    "expected response for second question",
    "expected response for third question"
  ]
}

eval_dataset = pd.DataFrame(data)

Schéma pour les tableaux dans l’entrée d’évaluation

Le schéma des tableaux expected_retrieved_context et retrieved_context est présenté dans le tableau suivant :

Colonne Type de données Description Application passée en tant qu’argument d’entrée Sorties générées précédemment fournies
content string Contenu du contexte récupéré. Chaîne dans n’importe quel format, tel que HTML, texte brut ou Markdown. Facultatif Facultatif
doc_uri string Identificateur unique (URI) du document parent d’où provient le bloc. Requis Requis

Métriques calculées

Les colonnes du tableau suivant indiquent les données incluses dans l’entrée et indiquent que la métrique est prise en charge lorsque ces données sont fournies.

Pour plus d’informations sur la mesure de ces métriques, consultez Comment la qualité, le coût et la latence sont évalués par l’évaluation de l’agent.

Mesures calculées request request et expected_response request, expected_response et expected_retrieved_context
response/llm_judged/relevance_to_query/rating
response/llm_judged/safety/rating
response/llm_judged/groundedness/rating
retrieval/llm_judged/chunk_relevance_precision
agent/total_token_count
agent/input_token_count
agent/output_token_count
response/llm_judged/correctness/rating
retrieval/llm_judged/context_sufficiency/rating
retrieval/ground_truth/document_recall