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.
Zurzeit wird folgendes angezeigt:Foundry (klassische) Portalversion - Wechseln zur Version für das neue Foundry-Portal
Note
Das Microsoft Foundry SDK für Die Auswertung und das Gießereiportal befindet sich in der öffentlichen Vorschau, die APIs sind jedoch allgemein für die Modell- und Datasetauswertung verfügbar (die Agentauswertung verbleibt in der öffentlichen Vorschau). Das in diesem Artikel markierte Azure AI Evaluation SDK und Bewerter (Vorschau) befinden sich derzeit überall in der öffentlichen Vorschau.
KI-Systeme können textuelle Antworten erzeugen, die inkohärent sind oder über die minimale grammatikalische Korrektheit hinaus keine allgemeine Schreibqualität aufweisen. Um diese Probleme anzugehen, unterstützt Microsoft Foundry die Bewertung von Kohärenz und Flüssigkeit.
Wenn Sie ein Frage-Antwort-(QA)-Szenario mit sowohl context und ground truth Daten zusätzlich query zu und responsehaben, können Sie auch unseren QAEvalueator verwenden, einen zusammengesetzten Evaluator, der relevante Evaluatoren für die Beurteilung verwendet.
Modellkonfiguration für KI-unterstützte Evaluatoren
Zur Orientierung verwenden die KI-unterstützten Evaluatoren im folgenden Code-Snippet eine folgende Modellkonfiguration:
import os
from azure.ai.evaluation import AzureOpenAIModelConfiguration
from dotenv import load_dotenv
load_dotenv()
model_config = AzureOpenAIModelConfiguration(
azure_endpoint=os.environ["AZURE_ENDPOINT"],
api_key=os.environ.get("AZURE_API_KEY"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
)
Unterstützung für Evaluatormodelle
Foundry unterstützt AzureOpenAI- oder OpenAI-Argumentationsmodelle sowie Nicht-Argumentationsmodelle für den Large Language Model Judge (LLM-judge), je nach Evaluator:
| Evaluators | Reasoning Models as Judge (Beispiel: o-Series Modelle von Azure OpenAI / OpenAI) | Nicht-Reasoning-Modelle als Richter (Beispiel: gpt-4.1, gpt-4o usw.) | To enable |
|---|---|---|---|
IntentResolution, TaskAdherence, , ResponseCompletenessToolCallAccuracy, Coherence, Fluency, Similarity, , , Groundedness, , RetrievalRelevance |
Supported | Supported | Festlegen zusätzlicher Parameter is_reasoning_model=True beim Initialisieren von Evaluatoren |
| Other evaluators | Not Supported | Supported | -- |
Für komplexe Bewertungen, die verfeinertes Schließen erfordern, empfehlen wir ein starkes Denkmodell mit 4.1-mini einem Gleichgewicht zwischen Argumentationsleistung und Kosteneffizienz.
Coherence
Der Kohärenz-Evaluator misst die logische und geordnete Darstellung von Ideen in einer Antwort, die es dem Leser ermöglicht, den Gedankenzug des Schriftstellers leicht zu verfolgen und zu verstehen. Eine kohärente Antwort behandelt die Frage direkt mit klaren Verbindungen zwischen Sätzen und Absätzen unter Verwendung geeigneter Übergänge und einer logischen Abfolge von Ideen. Höhere Bewertungen bedeuten eine bessere Kohärenz.
Coherence example
from azure.ai.evaluation import CoherenceEvaluator
coherence = CoherenceEvaluator(model_config=model_config, threshold=3)
coherence(
query="Is Marie Curie is born in Paris?",
response="No, Marie Curie is born in Warsaw."
)
Coherence output
Der numerische Wert auf einer Likert-Skala (ganzzahlig 1 bis 5). Eine höhere Punktzahl ist besser. Gegeben eine numerische Schwelle (standardmäßig 3), gibt sie auch 'Pass' aus, wenn die Punktzahl >= Schwelle ist, oder ' Nichtbestehen '. Verwenden Sie das Reason-Feld, um zu verstehen, warum die Punktzahl hoch oder niedrig ist.
{
"coherence": 4.0,
"gpt_coherence": 4.0,
"coherence_reason": "The RESPONSE is coherent and directly answers the QUERY with relevant information, making it easy to follow and understand.",
"coherence_result": "pass",
"coherence_threshold": 3
}
Fluency
Der Fluency-Evaluator misst die Wirksamkeit und Klarheit der schriftlichen Kommunikation. Diese Maßnahme konzentriert sich auf grammatikalische Genauigkeit, Vokabularbereich, Satzkomplexität, Kohärenz und allgemeine Lesbarkeit. Es bewertet, wie reibungslos Ideen vermittelt werden und wie einfach der Leser den Text verstehen kann.
Fluency example
from azure.ai.evaluation import FluencyEvaluator
fluency = FluencyEvaluator(model_config=model_config, threshold=3)
fluency(
response="No, Marie Curie is born in Warsaw."
)
Fluency output
Der numerische Wert auf einer Likert-Skala (ganzzahlig 1 bis 5). Eine höhere Punktzahl ist besser. Gegeben eine numerische Schwelle (standardmäßig 3), gibt sie auch 'Pass' aus, wenn die Punktzahl >= Schwelle ist, oder ' Nichtbestehen '. Verwenden Sie das Reason-Feld, um zu verstehen, warum die Punktzahl hoch oder niedrig ist.
{
"fluency": 3.0,
"gpt_fluency": 3.0,
"fluency_reason": "The response is clear and grammatically correct, but it lacks complexity and variety in sentence structure, which is why it fits the \"Competent Fluency\" level.",
"fluency_result": "pass",
"fluency_threshold": 3
}
Frage zur Beantwortung von Composite Evaluator
QAEvaluator Misst umfassend verschiedene Aspekte in einem Frage-Antwort-Szenario:
- Relevance
- Groundedness
- Fluency
- Coherence
- Similarity
- F1 score
QA example
from azure.ai.evaluation import QAEvaluator
qa_eval = QAEvaluator(model_config=model_config, threshold=3)
qa_eval(
query="Where was Marie Curie born?",
context="Background: 1. Marie Curie was a chemist. 2. Marie Curie was born on November 7, 1867. 3. Marie Curie is a French scientist.",
response="According to wikipedia, Marie Curie was not born in Paris but in Warsaw.",
ground_truth="Marie Curie was born in Warsaw."
)
QA output
Während der F1-Wert eine numerische Wertzahl auf einer 0-1-Gleitwertskala ausgibt, geben die anderen Bewerter numerische Werte auf einer Likert-Skala (ganzzahlig 1 bis 5) aus. Eine höhere Punktzahl ist besser. Gegeben eine numerische Schwelle (standardmäßig 3), gibt sie auch 'Pass' aus, wenn die Punktzahl >= Schwelle ist, oder ' Nichtbestehen '. Verwenden Sie das Reason-Feld, um zu verstehen, warum die Punktzahl hoch oder niedrig ist.
{
"f1_score": 0.631578947368421,
"f1_result": "pass",
"f1_threshold": 3,
"similarity": 4.0,
"gpt_similarity": 4.0,
"similarity_result": "pass",
"similarity_threshold": 3,
"fluency": 3.0,
"gpt_fluency": 3.0,
"fluency_reason": "The input Data should get a Score of 3 because it clearly conveys an idea with correct grammar and adequate vocabulary, but it lacks complexity and variety in sentence structure.",
"fluency_result": "pass",
"fluency_threshold": 3,
"relevance": 3.0,
"gpt_relevance": 3.0,
"relevance_reason": "The RESPONSE does not fully answer the QUERY because it fails to explicitly state that Marie Curie was born in Warsaw, which is the key detail needed for a complete understanding. Instead, it only negates Paris, which does not fully address the question.",
"relevance_result": "pass",
"relevance_threshold": 3,
"coherence": 2.0,
"gpt_coherence": 2.0,
"coherence_reason": "The RESPONSE provides some relevant information but lacks a clear and logical structure, making it difficult to follow. It does not directly answer the question in a coherent manner, which is why it falls into the \"Poorly Coherent Response\" category.",
"coherence_result": "fail",
"coherence_threshold": 3,
"groundedness": 3.0,
"gpt_groundedness": 3.0,
"groundedness_reason": "The response attempts to answer the query about Marie Curie's birthplace but includes incorrect information by stating she was not born in Paris, which is irrelevant. It does provide the correct birthplace (Warsaw), but the misleading nature of the response affects its overall groundedness. Therefore, it deserves a score of 3.",
"groundedness_result": "pass",
"groundedness_threshold": 3
}