Allmänna utvärderare (klassiska)

Visar för närvarande:Foundry-portalversion - (klassisk)Växla till version för den nya Foundry-portalen

Note

Microsoft Foundry SDK för utvärdering och Foundry-portalen är i offentlig förhandsversion, men API:erna är allmänt tillgängliga för utvärdering av modell och datauppsättning (agentutvärderingen finns kvar i offentlig förhandsversion). Azure AI Evaluation SDK och utvärderare markerade (förhandsversion) i den här artikeln finns för närvarande i offentlig förhandsversion överallt.

AI-system kan generera textsvar som är osammanhängande eller sakna den allmänna skrivkvaliteten utöver minimal grammatisk korrekthet. För att hantera dessa problem stödjer Microsoft Foundry utvärdering av sammanhållning och flyt.

Om du har ett fråge-svar-scenario (QA) med både context och ground truth data utöver query och response, kan du också använda vår QAEvalueraator, som är en sammansatt utvärderare som använder relevanta utvärderare för bedömning.

Modellkonfiguration för AI-assisterade utvärderare

Som referens i följande kodutdrag använder AI-assisterade utvärderare en modellkonfiguration enligt följande:

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"),
)

Stöd för utvärderarmodellen

Foundry stöder AzureOpenAI eller OpenAI resonemangsmodeller och icke-resonerande modeller för den stora språkmodell-domaren (LLM-judge) beroende på utvärderarna:

Evaluators Resonemangsmodeller som domare (exempel: o-seriemodeller från Azure OpenAI/OpenAI) Icke-resonemangsmodeller som Domare (exempel: gpt-4.1, gpt-4o osv.) To enable
IntentResolution, TaskAdherence, ToolCallAccuracy, ResponseCompleteness, Coherence, Fluency, , Similarity, Groundedness, , RetrievalRelevance Supported Supported Ange ytterligare parameter is_reasoning_model=True för att initiera utvärderare
Other evaluators Not Supported Supported --

För komplex utvärdering som kräver förfinat resonemang rekommenderar vi en stark resonemangsmodell med 4.1-mini en balans mellan resonemangsprestation och kostnadseffektivitet.

Coherence

Konsekvensutvärderingen mäter den logiska och ordnade presentationen av idéer i ett svar, vilket gör det möjligt för läsaren att enkelt följa och förstå författarens tanketåg. Ett sammanhängande svar tar direkt upp frågan med tydliga kopplingar mellan meningar och stycken, med lämpliga övergångar och en logisk sekvens av idéer. Högre poäng innebär bättre sammanhållning.

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

Det numeriska poängresultatet på en Likert-skala (heltal 1 till 5). Ett högre resultat är bättre. Givet en numerisk tröskel (standard 3) ger den också godkänt om poängen >= tröskel, eller underkänt annars. Använd anledningsfältet för att förstå varför poängen är hög eller låg.

{
    "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

Fluency-utvärderaren mäter effektiviteten och tydligheten i skriftlig kommunikation. Det här måttet fokuserar på grammatisk noggrannhet, vokabulärintervall, meningskomplexitet, enhetlighet och övergripande läsbarhet. Den utvärderar hur smidigt idéer förmedlas och hur enkelt läsaren kan förstå texten.

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

Det numeriska poängresultatet på en Likert-skala (heltal 1 till 5). Ett högre resultat är bättre. Givet en numerisk tröskel (standard 3) ger den också godkänt om poängen >= tröskel, eller underkänt annars. Använd anledningsfältet för att förstå varför poängen är hög eller låg.

{
    "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
}

Fråga som svarar på sammansatt utvärderare

QAEvaluator Mäter omfattande olika aspekter i ett fråge-svar-scenario:

  • 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

Medan F1-poängen ger ett numeriskt resultat på 0-1 flyttalskalan, ger de andra utvärderarna numeriska poäng på en Likert-skala (heltal 1 till 5). Ett högre resultat är bättre. Givet en numerisk tröskel (standard 3) ger den också godkänt om poängen >= tröskel, eller underkänt annars. Använd anledningsfältet för att förstå varför poängen är hög eller låg.

{
    "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
}