Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A ver atualmente:Versão - portal Foundry (clássica)Mudar para a versão do novo portal da Foundry
Note
O SDK Microsoft Foundry para avaliação e o portal Foundry estão em pré-visualização pública, mas as APIs estão geralmente disponíveis para avaliação de modelos e conjuntos de dados (a avaliação do agente permanece em pré-visualização pública). O SDK de Avaliação de IA do Azure e os avaliadores marcados (pré-visualização) neste artigo estão atualmente em pré-visualização pública em todo o lado.
É importante comparar até que ponto a resposta textual gerada pelo seu sistema de IA corresponde à resposta que esperaria. A resposta esperada chama-se verdade de base.
Use uma métrica de juiz LLM como a Similaridade , com foco na semelhança semântica entre a resposta gerada e a verdade fundamentada. Ou, use métricas do campo do processamento de linguagem natural (PLN), incluindo pontuação F1, BLEU, GLEU, ROUGE e METEOR , com foco nas sobreposições de tokens ou n-gramas entre os dois.
Configuração de modelos para avaliadores assistidos por IA
Para referência, nos seguintes excertos de código, os avaliadores assistidos por IA utilizam uma configuração de modelo para o juiz LLM:
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"),
)
Suporte a modelos avaliadores
Suportamos modelos de raciocínio AzureOpenAI ou OpenAI e modelos não raciocínios para o juiz LLM, dependendo dos avaliadores:
| Evaluators | Modelos de Raciocínio como Juiz (exemplo: modelos da série O do Azure OpenAI / OpenAI) | Modelos não raciocínios como o Juiz (exemplo: gpt-4.1, gpt-4o, etc.) | To enable |
|---|---|---|---|
IntentResolution, TaskAdherence, ResponseCompletenessToolCallAccuracy, , Coherence, , RetrievalSimilarityGroundednessFluencyRelevance |
Supported | Supported | Defina um parâmetro is_reasoning_model=True adicional na inicialização dos avaliadores |
| Other evaluators | Not Supported | Supported | -- |
Para avaliações complexas que requerem raciocínio refinado, recomendamos um modelo de raciocínio forte, como 4.1-mini um equilíbrio entre desempenho do raciocínio e eficiência de custos.
Similarity
A similaridade mede os graus de semelhança semântica entre o texto gerado e a sua verdade fundamental relativamente a uma consulta. Comparado com outras métricas de similaridade textual que exigem verdades fundamentais, esta métrica foca-se na semântica de uma resposta, em vez de simples sobreposições em tokens ou n-gramas. Considera também o contexto mais amplo de uma consulta.
Similarity example
from azure.ai.evaluation import SimilarityEvaluator
similarity = SimilarityEvaluator(model_config=model_config, threshold=3)
similarity(
query="Is Marie Curie born in Paris?",
response="According to wikipedia, Marie Curie was not born in Paris but in Warsaw.",
ground_truth="Marie Curie was born in Warsaw."
)
Similarity output
A saída é uma pontuação numérica numa escala de Likert, inteiro de 1 a 5. Uma pontuação mais alta significa um grau maior de semelhança. Dado um limiar numérico (por defeito 3), este exemplo também apresenta aprovação se a pontuação >= limiar, ou reprovar caso contrário. Use o campo razão para perceber porque é que a pontuação é alta ou baixa.
{
"similarity": 4.0,
"gpt_similarity": 4.0,
"similarity_result": "pass",
"similarity_threshold": 3
}
pontuação F1
A pontuação F1 mede a semelhança, através de tokens partilhados, entre o texto gerado e a verdade fundamental. Foca-se tanto na precisão como na recordação. A pontuação F1 calcula a razão entre o número de palavras partilhadas entre a geração do modelo e a verdade fundamental. A razão é calculada sobre as palavras individuais na resposta gerada em relação às palavras da resposta de verdade fundamental. O número de palavras partilhadas entre a geração e a verdade é a base da pontuação F1.
- Precisão é a razão entre o número de palavras partilhadas e o número total de palavras na geração.
- Recordação é a razão entre o número de palavras partilhadas e o número total de palavras na verdade fundamental.
Exemplo de pontuação na F1
from azure.ai.evaluation import F1ScoreEvaluator
f1_score = F1ScoreEvaluator(threshold=0.5)
f1_score(
response="According to wikipedia, Marie Curie was not born in Paris but in Warsaw.",
ground_truth="Marie Curie was born in Warsaw."
)
Resultado da pontuação da F1
A pontuação numérica é um balanço de 0-1. Uma pontuação mais alta é melhor. Dado um limiar numérico (por defeito 0,5), também fornece aprovação se a pontuação >= limiar, ou reprovar caso contrário.
{
"f1_score": 0.631578947368421,
"f1_result": "pass",
"f1_threshold": 0.5
}
BLEU score
A pontuação Bleu calcula a pontuação do Estudante de Avaliação Bilingue (BLEU), comumente utilizada no processamento de linguagem natural e tradução automática. Mede quão próximo é o texto gerado do texto de referência.
BLEU example
from azure.ai.evaluation import BleuScoreEvaluator
bleu_score = BleuScoreEvaluator(threshold=0.3)
bleu_score(
response="According to wikipedia, Marie Curie was not born in Paris but in Warsaw.",
ground_truth="Marie Curie was born in Warsaw."
)
BLEU output
A pontuação numérica é um balanço de 0-1. Uma pontuação mais alta é melhor. Dado um limiar numérico (por defeito 0,5), também fornece aprovação se a pontuação >= limiar, ou reprovar caso contrário.
{
"bleu_score": 0.1550967560878879,
"bleu_result": "fail",
"bleu_threshold": 0.3
}
GLEU score
A pontuação Gleu calcula a pontuação Google-BLEU (GLEU). Mede a semelhança, por n-gramas partilhados, entre o texto gerado e a verdade fundamental. Semelhante à pontuação BLEU, foca-se tanto na precisão como na recordação. Aborda as desvantagens da pontuação BLEU usando um objetivo de recompensa por frase.
Exemplo de pontuação GLEU
from azure.ai.evaluation import GleuScoreEvaluator
gleu_score = GleuScoreEvaluator(threshold=0.2)
gleu_score(
response="According to wikipedia, Marie Curie was not born in Paris but in Warsaw.",
ground_truth="Marie Curie was born in Warsaw."
)
Resultado da pontuação GLEU
A pontuação numérica é um balanço de 0-1. Uma pontuação mais alta é melhor. Dado um limiar numérico (por defeito 0,5), também fornece aprovação se a pontuação >= limiar, ou reprovar caso contrário.
{
"gleu_score": 0.25925925925925924,
"gleu_result": "pass",
"gleu_threshold": 0.2
}
ROUGE score
A pontuação Rouge calcula as pontuações Recall-Oriented Understudy for Gisting Evaluation (ROUGE), um conjunto de métricas usadas para avaliar a sumarização automática e a tradução automática. Mede a sobreposição entre o texto gerado e os resumos de referência. O ROUGE foca-se em medidas orientadas para a recordação para avaliar quão bem o texto gerado cobre o texto de referência. A pontuação ROUGE é composta por precisão, recordação e pontuação F1.
Exemplo de pontuação ROUGE
from azure.ai.evaluation import RougeScoreEvaluator, RougeType
rouge = RougeScoreEvaluator(rouge_type=RougeType.ROUGE_L, precision_threshold=0.6, recall_threshold=0.5, f1_score_threshold=0.55)
rouge(
response="According to wikipedia, Marie Curie was not born in Paris but in Warsaw.",
ground_truth="Marie Curie was born in Warsaw."
)
Saída da partitura ROUGE
A pontuação numérica é um balanço de 0-1. Uma pontuação mais alta é melhor. Dado um limiar numérico (por defeito 0,5), também fornece aprovação se a pontuação >= limiar, ou reprovar caso contrário.
{
"rouge_precision": 0.46153846153846156,
"rouge_recall": 1.0,
"rouge_f1_score": 0.631578947368421,
"rouge_precision_result": "fail",
"rouge_recall_result": "pass",
"rouge_f1_score_result": "pass",
"rouge_precision_threshold": 0.6,
"rouge_recall_threshold": 0.5,
"rouge_f1_score_threshold": 0.55
}
METEOR score
A pontuação Meteor mede a semelhança, por n-gramas partilhados, entre o texto gerado e a verdade fundamental. Semelhante à pontuação BLEU, foca-se na precisão e na recordação. Aborda limitações de outras métricas, como a pontuação BLEU, considerando sinónimos, stemming e parafraseando o alinhamento do conteúdo.
Exemplo de pontuação METEOR
from azure.ai.evaluation import MeteorScoreEvaluator
meteor_score = MeteorScoreEvaluator(threshold=0.9)
meteor_score(
response="According to wikipedia, Marie Curie was not born in Paris but in Warsaw.",
ground_truth="Marie Curie was born in Warsaw."
)
Saída da pontuação METEOR
A pontuação numérica é um balanço de 0-1. Uma pontuação mais alta é melhor. Dado um limiar numérico (por defeito 0,5), também fornece aprovação se a pontuação >= limiar, ou reprovar caso contrário.
{
"meteor_score": 0.8621140763997908,
"meteor_result": "fail",
"meteor_threshold": 0.9
}