Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Jede Zeile in einer JSONL-Auswertungsdatei enthält einen Auswertungstestfall. Das Auswertungsszenario bestimmt seine primäre erforderliche Spalte, während die ausgewählten Auswertungen unterstützende Spalten erfordern können.
| Auswertungsszenario | Primäre erforderliche Spalte | Zusätzliche Spalten hängen von |
|---|---|---|
| Auswerten einer vorhandenen Interaktion | messages |
Die ausgewählten Evaluatoren. |
| Auswerten einer gespeicherten separaten Eingabe und Ausgabe |
query, response |
Die ausgewählten Evaluatoren. |
| Bewerten Sie ein Modell- oder Agentenziel | Eingabe, die in der Spalte query oder messages erfasst wurde; Foundry generiert die Antwort |
Die ausgewählten Evaluatoren. |
| Auswerten simulierter Unterhaltungen | test_case_description |
Optionale Anleitung zur Simulation, wie desired_num_turns. |
Zusätzliche Anforderungen hängen von den ausgewählten Bewertern ab. Zum Beispiel kann ein Evaluator für Textähnlichkeit ground_truth erfordern, Faktentreue kann context erfordern, wenn query und response Zeichenfolgen sind, und ein Agent-Evaluator kann tool_definitions erfordern. Informationen zu Evaluatoranforderungen finden Sie unter integrierten Bewertungen.
Auswertungen, die auf vorhandenen Ablaufverfolgungen, Antwort-IDs oder generierten synthetischen Abfragen basieren, erfordern kein Eingabedatensatz.
Standardspalten
Die Standardspalten hängen davon ab, ob bei der Auswertung Modell- oder Agentinteraktionsdaten oder eine Konversationssimulation verwendet werden.
Spalten für Modell- und Agentenbewertung
Verwenden Sie für jeden Testfall ein Interaktionsformat: entweder die Spalte messages oder die separaten Spalten query und response.
| Spalte | Erforderlich, wenn | Was es enthält |
|---|---|---|
messages |
Verwenden des messages Formats für eine gespeicherte Interaktion oder ein gespeichertes Modell oder eine Agent-Zieleingabe |
Für gespeicherte Interaktionen, Eingabe- und Ausgabemeldungen. Geben Sie für ein Modell- oder Agentziel Meldungen ein, die Foundry an das Ziel sendet, um eine Antwort zu generieren. Nachrichten können Systemanweisungen, Unterhaltungsverlauf, eingegebene Textinhalte, Toolaufrufe und Toolergebnisse enthalten. |
query |
Verwenden des separaten Abfrage- und Antwortformats | Die Eingabe und der Interaktionsverlauf, die als Zeichenfolge oder Nachrichtenarray bereitgestellt werden, werden beim Bewerten responseals Kontext verwendet. |
response |
Auswerten einer gespeicherten Antwort; für ein Modell- oder Agentziel nicht erforderlich | Die Antwort, die ausgewertet wird. |
ground_truth |
Ein Auswerter vergleicht die Ausgabe mit einer Referenzantwort. | Die erwartete oder als Referenz dienende Antwort. |
tool_definitions |
Ein Evaluator benötigt die Schemata der dem Agenten verfügbaren Tools. | Toolnamen, Beschreibungen und Parameterschemas. Diese Spalte ist für die meisten Auswertungen optional. |
context |
Ein bestimmter Evaluator erfordert einen separaten unterstützenden Kontext. | Zusätzliche Informationen, die hauptsächlich zusammen mit den Zeichenfolgenwerten query und response verwendet werden, wenn der erforderliche Kontext nicht bereits in den Nachrichten enthalten ist. |
Spalten für Konversationssimulationen
| Spalte | Erforderlich | Was es enthält |
|---|---|---|
test_case_description |
Yes | Die Situation, das Ziel, die Einschränkungen und das Verhalten des Benutzers, die der Simulator ausführen sollte. |
desired_num_turns |
No | Anleitung für die erwartete Länge der simulierten Unterhaltung. |
Nachrichtenformat
Die messages Spalte ist ein Array. Jede Nachricht identifiziert eine Rolle und deren Inhalt. Eine Zeile kann einen einzelnen Austausch oder eine vollständige mehrteilige Konversation enthalten.
Das folgende ausgeführte Beispiel enthält eine kurze Interaktion zur Kontounterstützung:
{
"messages": [
{"role": "system", "content": "You are an account support assistant."},
{"role": "user", "content": "I can't sign in to my account."},
{"role": "assistant", "content": "What error message do you see?"},
{"role": "user", "content": "It says my password is incorrect."},
{"role": "assistant", "content": "Use the password-reset link on the sign-in page. If the reset email doesn't arrive, check your spam folder or contact account support."}
]
}
Dieses Beispiel enthält eine gespeicherte Agentantwort, sodass die endgültige Nachricht über die assistant Rolle verfügt. Beenden Sie bei einem Ziel für ein Modell oder einen Agenten das messages-Array mit einer user-Nachricht. Foundry sendet die Nachrichten an das Ziel, generiert die nächste Assistentenantwort und wertet diese Antwort aus.
Bei der Turn-Level-Bewertung stellen frühere Nachrichten Kontext für die Bewertung der Antwort bereit. In diesem Beispiel kann ein Evaluator den endgültigen Leitfaden für die Kennwortzurücksetzung bewerten, indem die vorherigen Nachrichten als Kontext verwendet werden. Bei der Auswertung auf Unterhaltungsebene bewertet ein Evaluator die vollständige Interaktion.
Die evaluation_level Einstellung für die Ausführung wählt die Bewertungsstufe aus. Die messages Zeile bleibt gleich.
Weitere Informationen finden Sie unter Auswählen einer Auswertungsstufe.
Nachrichtenstruktur
Jede Nachricht verfügt über eine role und content. Der content Wert kann eine Zeichenfolge oder ein Array von typierten Inhaltselementen sein. Meldungen zu Tool-Ergebnissen verwenden ebenfalls tool_call_id, um den entsprechenden Toolaufruf zu identifizieren.
Textnachrichten werden an der OpenAI-Antwortnachrichtenstruktur ausgerichtet.
Eingabenachrichten können input_text verwenden, und die Ausgabe des Assistenten kann output_text verwenden. Die Foundry-Auswertung unterstützt auch die in diesem Artikel gezeigte Kurzform text sowie normalisierte Inhaltselemente tool_call und tool_result.
[
{
"role": "developer" | "system" | "user" | "assistant" | "tool",
"tool_call_id": "string", // For role "tool"
"content": "string" | [ // String or content-item array
{
"type": "text" | "input_text" | "output_text" | "tool_call" | "tool_result",
"text": "string", // For text content
"tool_call_id": "string", // When type is tool_call
"name": "string", // Tool name for tool_call
"arguments": { ... }, // Tool arguments for tool_call
"tool_result": { ... } // Result for tool_result
}
]
}
]
| Role | Beschreibung |
|---|---|
developer |
Anwendungsanweisungen, die Vorrang vor Benutzernachrichten haben. |
system |
Agent-Anweisungen. |
user |
Benutzernachrichten und Anforderungen. |
assistant |
Antworten des Agenten, einschließlich Tool-Aufrufen. |
tool |
Ergebnisse der Toolausführung. |
Nachrichten mit Inhalts-Arrays
Der content Wert kann auch ein Array von typierten Inhaltselementen anstelle einer Zeichenfolge sein. In diesem Beispiel werden die Antwort-API input_text und output_text -Typen verwendet:
{
"messages": [
{
"role": "developer",
"content": [
{"type": "input_text", "text": "You are an account support assistant."}
]
},
{
"role": "user",
"content": [
{"type": "input_text", "text": "I can't sign in to my account."}
]
},
{
"role": "assistant",
"content": [
{"type": "output_text", "text": "What error message do you see?"}
]
}
]
}
Nachrichten mit Toolaufrufen
Diese Variante des ausgeführten Beispiels enthält einen Toolaufruf und sein Ergebnis:
{
"messages": [
{"role": "system", "content": "You are an account support assistant."},
{"role": "user", "content": "I can't sign in to my account."},
{"role": "assistant", "content": [{"type": "tool_call", "tool_call_id": "call_123", "name": "get_sign_in_guidance", "arguments": {"error": "incorrect password"}}]},
{"role": "tool", "tool_call_id": "call_123", "content": [{"type": "tool_result", "tool_result": {"recommended_action": "password reset"}}]},
{"role": "assistant", "content": [{"type": "text", "text": "Use the password-reset link on the sign-in page. If the reset email doesn't arrive, check your spam folder or contact account support."}]}
]
}
Evaluatorspezifische Spalten
Die meisten Auswertungen benötigen nur die primäre Interaktionsspalte. Fügen Sie unterstützende Spalten hinzu, wenn für einen ausgewählten Evaluator diese erforderlich sind.
Grundwahrheit
ground_truth ist eine Zeichenfolge, die die erwartete Antwort oder referenziert.
Schließen Sie ihn ein, wenn ein Evaluator die Modell- oder Agentausgabe mit einer bekannten Antwort vergleicht.
{
"messages": [
{"role": "user", "content": "I can't sign in to my account."},
{"role": "assistant", "content": "Use the password-reset link on the sign-in page."}
],
"ground_truth": "Direct the user to reset their password from the sign-in page."
}
Tooldefinitionen
tool_definitions beschreibt die tools, die für den Agent verfügbar sind. Das messages Array zeigt, was der Agent aufgerufen hat.
tool_definitions stellt die Namen, Beschreibungen und Parameterschemas aller Tools bereit, die der Agent verwenden kann.
Schließen Sie diese Spalte ein, wenn ein Evaluator das Toolverhalten mit den verfügbaren Tools vergleichen muss.
{
"messages": [
{"role": "user", "content": "I can't sign in to my account."},
{"role": "assistant", "content": [{"type": "tool_call", "tool_call_id": "call_123", "name": "get_sign_in_guidance", "arguments": {"error": "incorrect password"}}]},
{"role": "tool", "tool_call_id": "call_123", "content": [{"type": "tool_result", "tool_result": {"recommended_action": "password reset"}}]},
{"role": "assistant", "content": "Use the password-reset link on the sign-in page."}
],
"tool_definitions": [
{
"name": "get_sign_in_guidance",
"description": "Get troubleshooting guidance for a sign-in error.",
"parameters": {
"type": "object",
"properties": {
"error": {"type": "string"}
},
"required": ["error"]
}
}
]
}
Das vollständige Schema finden Sie im Tooldefinitionsformat.
Kontext
context enthält unterstützende Informationen, die zum Auswerten einer Antwort verwendet werden. Diese Spalte ist vor allem bei Zeichenfolgenwerten query und response nützlich, wenn die benötigten Informationen nicht bereits im Nachrichtenverlauf enthalten sind. Ausführliche Informationen zu dieser Darstellung finden Sie unter Separates Abfrage- und Antwortformat.
Zum Beispiel kann ein Groundedness-Evaluator context als Quellmaterial verwenden, das als Grundlage für die Antwort dienen soll:
{
"query": "How can I reset my password?",
"response": "Use the password-reset link on the sign-in page.",
"context": "Users can reset their password from the sign-in page."
}
Dialogsimulation
Ein Simulationskern, auch als Testfallszenario bezeichnet, beschreibt eine Situation, in der der Simulator als Benutzer agieren sollte.
test_case_description ist die einzige erforderliche Spalte.
desired_num_turns ist optionaler Simulationsleitfaden.
Der folgende Seed setzt das Kontoanmeldungsbeispiel fort:
{
"test_case_description": "Act as a user who can't sign in and initially provides little detail. After the agent asks a clarifying question, explain that your password is being rejected. Continue until the agent gives clear password-reset guidance.",
"desired_num_turns": 4
}
Foundry verwendet einen Simulator, um die Rolle des Benutzers zu spielen und mit dem Ziel-Agent zu interagieren. Bewerter auf Konversationsebene bewerten dann die simulierte Konversation, nicht die Seed-Zeile.
Informationen zum Simulationsvorgang finden Sie unter "Simulieren von Unterhaltungen". Um Seed-Zeilen zu generieren, anstatt sie manuell zu erstellen, siehe Ein Seed-Dataset für eine Simulation generieren.
Separates Abfrage- und Antwortformat
Einige Auswertungen und Workflows verwenden separate query Und response Spalten.
Dieses Format wird weiterhin unterstützt. Beide Spalten können Zeichenfolgen oder Arrays von Nachrichten enthalten, die die gleiche Struktur wie messages verwenden.
Verwenden Sie Zeichenfolgenwerte für einen einfachen Einzeltestfall, der keine Unterhaltungsverlaufs- oder Toolanrufdetails benötigt:
{"query":"I can't sign in to my account.","response":"Use the password-reset link on the sign-in page."}
Wenn query es sich um ein Nachrichtenarray handelt, kann es Systemanweisungen, vorherige Wendungen, Toolaufrufe und Toolergebnisse enthalten. Evaluatoren verwenden diesen Verlauf beim Bewerten responseals Kontext.
{
"query": [
{"role": "system", "content": "You are an account support assistant."},
{"role": "user", "content": "I can't sign in."},
{"role": "assistant", "content": "What error do you see?"},
{"role": "user", "content": "It says my password is incorrect."}
],
"response": [
{"role": "assistant", "content": "Use the password-reset link on the sign-in page."}
]
}
Wenn Zeichenfolgen query und response Werte separate unterstützende Informationen benötigen, fügen Sie eine context Spalte hinzu.
Wenn eine Auswertung ein Modell- oder Agentziel aufruft, generiert Foundry für jede Eingabe eine neue Antwort. Jedes bereits in der Zeile gespeicherte response wird ignoriert.
CSV wird auch für einfache Zeichenfolgenbasierte query und response Zeilen unterstützt. Siehe "Auswerten eines CSV-Datasets".
Wenn Sie eine Datenzuordnung benötigen
Sie können weglassen data_mapping , wenn ein kompatibler Evaluator die Standardspalten in Ihrem Dataset verwendet. Fügen Sie in den folgenden Fällen eine Zuordnung hinzu:
- Ihr Datensatz verwendet einen anderen Namen, wie zum Beispiel
questionanstelle vonquery. - Ein Modell- oder Agentziel generiert zur Laufzeit Text, und der Evaluator erfordert eine Textantwort. Beispielsweise erfordert Coherence, dass die Antwort aus
{{sample.output_text}}abgeleitet wird. - Ein Agent-Ziel erzeugt eine strukturierte Ausgabe, und der Bewerter setzt Toolaufrufe oder andere strukturierte Elemente voraus. Zum Beispiel erfordert die Aufgabentreue, die Antwort aus
{{sample.output_items}}zuzuordnen. - Eine CSV-Datei verwendet nicht standardmäßige Spaltenüberschriften.
Informationen zur Zuordnungssyntax für {{item.*}} und {{sample.*}} mit ausführbaren Beispielen finden Sie unter Einrichten von Auswertern und Datenzuordnungen.
Informationen zum Auswählen eines allgemeinen Workflows finden Sie unter Ausführen von Auswertungen aus dem SDK.
Nächster Schritt
Konfigurieren Sie einen Auswertungslauf, der Ihr Dataset verwendet: