Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Exibição no momento:Versão do portal - do Foundry (clássico)Alternar para a versão do novo portal do Foundry
Note
O SDK do Microsoft Foundry para avaliação e o portal do Foundry estão em versão prévia pública, mas as APIs geralmente estão disponíveis para avaliação de modelo e conjunto de dados (a avaliação do agente permanece em versão prévia pública). O SDK de Avaliação de IA do Azure e os avaliadores marcados (versão prévia) neste artigo estão atualmente em versão prévia pública em todos os lugares.
Os avaliadores internos fornecem uma maneira fácil de monitorar a qualidade das gerações do aplicativo. Para personalizar suas avaliações, você pode criar seus próprios avaliadores baseados em código ou prompt.
Code-based evaluators
Você não precisa de um modelo de linguagem grande para certas métricas de avaliação. Avaliadores baseados em código oferecem flexibilidade para definir métricas baseadas em funções ou classes chamáveis. Você pode construir seu próprio avaliador baseado em código, por exemplo, criando uma classe Python simples que calcula o comprimento de uma resposta em answer_length.py sob o diretório answer_len/, como no exemplo a seguir.
Exemplo de avaliador baseado em código: Comprimento da resposta
class AnswerLengthEvaluator:
def __init__(self):
pass
# A class is made callable by implementing the special method __call__
def __call__(self, *, answer: str, **kwargs):
return {"answer_length": len(answer)}
Execute o avaliador em uma linha de dados importando uma classe chamável:
from answer_len.answer_length import AnswerLengthEvaluator
answer_length_evaluator = AnswerLengthEvaluator()
answer_length = answer_length_evaluator(answer="What is the speed of light?")
Saída do avaliador baseada em código: Comprimento da resposta
{"answer_length":27}
Prompt-based evaluators
Para construir seu próprio avaliador de grandes modelos de linguagem baseado em prompts ou anotador assistido por IA, crie um avaliador personalizado baseado em um arquivo Prompty .
Prompty é um arquivo com extensão .prompty para desenvolver templates de prompts. O ativo Prompty é um arquivo de desconto com uma matéria inicial modificada. A matéria inicial está no formato YAML. Ele contém campos de metadados que definem a configuração do modelo e as entradas esperadas do Prompty.
Para medir a amizade de uma resposta, crie um avaliador personalizado chamado FriendlinessEvaluator:
Exemplo de avaliador baseado em prompts: Avaliador de simpatia
Primeiro, crie um friendliness.prompty arquivo que defina a métrica de amizade e sua rubrica de avaliação:
---
name: Friendliness Evaluator
description: Friendliness Evaluator to measure warmth and approachability of answers.
model:
api: chat
configuration:
type: azure_openai
azure_endpoint: ${env:AZURE_OPENAI_ENDPOINT}
azure_deployment: gpt-4o-mini
parameters:
model:
temperature: 0.1
inputs:
response:
type: string
outputs:
score:
type: int
explanation:
type: string
---
system:
Friendliness assesses the warmth and approachability of the answer. Rate the friendliness of the response between one to five stars using the following scale:
One star: the answer is unfriendly or hostile
Two stars: the answer is mostly unfriendly
Three stars: the answer is neutral
Four stars: the answer is mostly friendly
Five stars: the answer is very friendly
Please assign a rating between 1 and 5 based on the tone and demeanor of the response.
**Example 1**
generated_query: I just don't feel like helping you! Your questions are getting very annoying.
output:
{"score": 1, "reason": "The response is not warm and is resisting to be providing helpful information."}
**Example 2**
generated_query: I'm sorry this watch is not working for you. Very happy to assist you with a replacement.
output:
{"score": 5, "reason": "The response is warm and empathetic, offering a resolution with care."}
**Here the actual conversation to be scored:**
generated_query: {{response}}
output:
Depois, crie uma classe FriendlinessEvaluator para carregar o arquivo Prompty e processe as saídas com formato JSON:
import os
import json
import sys
from promptflow.client import load_flow
class FriendlinessEvaluator:
def __init__(self, model_config):
current_dir = os.path.dirname(__file__)
prompty_path = os.path.join(current_dir, "friendliness.prompty")
self._flow = load_flow(source=prompty_path, model={"configuration": model_config})
def __call__(self, *, response: str, **kwargs):
llm_response = self._flow(response=response)
try:
response = json.loads(llm_response)
except Exception as ex:
response = llm_response
return response
Agora, crie seu próprio avaliador baseado em Prompty e o execute em uma linha de dados:
from friendliness.friend import FriendlinessEvaluator
friendliness_eval = FriendlinessEvaluator(model_config)
friendliness_score = friendliness_eval(response="I will not apologize for my behavior!")
Resultado do avaliador baseado em prompts: Avaliador de amizade
{
'score': 1,
'reason': 'The response is hostile and unapologetic, lacking warmth or approachability.'
}