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 champhistory
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 |
✓ |