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.
Atualmente a ver:versão do portal Foundry (clássica) - Trocar para a versão do novo portal Foundry
Importante
Os itens marcados (pré-visualização) neste artigo encontram-se atualmente em pré-visualização pública. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e não a recomendamos para cargas de trabalho em produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos de Utilização Suplementares para Microsoft Azure Pré-visualizações.
Neste artigo, aprende como executar avaliações na cloud (pré-visualização) para testes de pré-implementação num conjunto de dados de teste. O Azure AI Evaluation SDK permite-lhe executar avaliações localmente na sua máquina e na cloud. Por exemplo, execute avaliações locais em pequenos dados de teste para avaliar os seus protótipos de aplicações de IA generativa, e depois passe para testes pré-implementação para realizar avaliações num grande conjunto de dados.
Use avaliações na cloud para a maioria dos cenários — especialmente ao testar em escala, integrar avaliações em pipelines de integração contínua e entrega contínua (CI/CD), ou realizar testes pré-implementação. Executar avaliações na cloud elimina a necessidade de gerir a infraestrutura de computação local e suporta fluxos de trabalho de testes automatizados e em grande escala. Após a implantação, pode optar por avaliar continuamente os seus agentes para monitorização pós-implantação.
Quando utiliza o SDK Foundry, regista os resultados das avaliações no seu projeto Foundry para melhor observabilidade. Esta funcionalidade suporta todos os avaliadores integrados selecionados pela Microsoft. e os seus próprios avaliadores personalizados. Os seus avaliadores podem estar localizados na biblioteca de avaliadores e ter o mesmo âmbito de projeto, controlo de acesso baseado em funções.
Pré-requisitos
- Um projeto da Foundry.
- Uma implementação Azure OpenAI com um modelo GPT que suporta a conclusão de chat (por exemplo,
gpt-5-mini). - Utilizador de IA do Azure função no projeto Foundry.
- Opcionalmente, pode usar a sua própria conta de armazenamento para fazer avaliações.
Nota
Algumas funcionalidades de avaliação têm restrições regionais. Consulte as regiões suportadas para mais detalhes.
Introdução
Instale o cliente do projeto Microsoft Foundry SDK para executar avaliações na cloud:
pip install azure-ai-projects azure-identityDefina variáveis de ambiente para os seus recursos da Foundry:
import os # Required environment variables: endpoint = os.environ["PROJECT_ENDPOINT"] # https://<account>.services.ai.azure.com/api/projects/<project> model_endpoint = os.environ["MODEL_ENDPOINT"] # https://<account>.services.ai.azure.com model_api_key = os.environ["MODEL_API_KEY"] model_deployment_name = os.environ["MODEL_DEPLOYMENT_NAME"] # E.g. gpt-5-mini # Optional: Reuse an existing dataset. dataset_name = os.environ.get("DATASET_NAME", "dataset-test") dataset_version = os.environ.get("DATASET_VERSION", "1.0")Defina um cliente para executar avaliações na cloud:
import os from azure.identity import DefaultAzureCredential from azure.ai.projects import AIProjectClient # Create the project client (Foundry project and credentials): project_client = AIProjectClient( endpoint=endpoint, credential=DefaultAzureCredential(), )
Preparar os dados de entrada
# Upload a local JSONL file. Skip this step if you already have a dataset registered.
data_id = project_client.datasets.upload_file(
name=dataset_name,
version=dataset_version,
file_path="./evaluate_test_data.jsonl",
).id
Para saber mais sobre formatos de dados de entrada para avaliação de aplicações de IA generativa, veja:
Para saber mais sobre formatos de dados de entrada para avaliação de agentes, consulte Avaliar Azure agentes de IA e Avaliar outros agentes.
Especificar avaliadores
from azure.ai.projects.models import (
EvaluatorConfiguration,
EvaluatorIds,
)
# Built-in evaluator configurations:
evaluators = {
"relevance": EvaluatorConfiguration(
id=EvaluatorIds.RELEVANCE.value,
init_params={"deployment_name": model_deployment_name},
data_mapping={
"query": "${data.query}",
"response": "${data.response}",
},
),
"violence": EvaluatorConfiguration(
id=EvaluatorIds.VIOLENCE.value,
init_params={"azure_ai_project": endpoint},
),
"bleu_score": EvaluatorConfiguration(
id=EvaluatorIds.BLEU_SCORE.value,
),
}
Crie uma avaliação
Finalmente, submeta a execução remota de avaliação:
from azure.ai.projects.models import (
Evaluation,
InputDataset
)
# Create an evaluation with the dataset and evaluators specified.
evaluation = Evaluation(
display_name="Cloud evaluation",
description="Evaluation of dataset",
data=InputDataset(id=data_id),
evaluators=evaluators,
)
# Run the evaluation.
evaluation_response = project_client.evaluations.create(
evaluation,
headers={
"model-endpoint": model_endpoint,
"api-key": model_api_key,
},
)
print("Created evaluation:", evaluation_response.name)
print("Status:", evaluation_response.status)
Especificar avaliadores personalizados
Nota
Projetos Foundry não são suportados para esta funcionalidade. Utilize em vez disso um projeto Hub da Foundry.
Avaliadores personalizados baseados em código
Registe os seus avaliadores personalizados no seu projeto Azure AI Hub e obtenha os IDs dos avaliadores:
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Model
from promptflow.client import PFClient
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# Load the evaluator from the module.
from answer_len.answer_length import AnswerLengthEvaluator
# Convert it to an evaluation flow, and save it locally.
pf_client = PFClient()
local_path = "answer_len_local"
pf_client.flows.save(entry=AnswerLengthEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "AnswerLenEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="Evaluator calculating answer length.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
Depois de registar o seu avaliador personalizado, veja-o no seu catálogo de avaliadores. No seu projeto Foundry, selecione Avaliação e depois selecione catálogo avaliador.
Avaliadores personalizados baseados em prompts
Use este exemplo para registar uma implementação personalizada FriendlinessEvaluator como descrito em avaliadores baseados em prompts:
# Import your prompt-based custom evaluator.
from friendliness.friend import FriendlinessEvaluator
# Define your deployment.
model_config = dict(
azure_endpoint=os.environ.get("AZURE_ENDPOINT"),
azure_deployment=os.environ.get("AZURE_DEPLOYMENT_NAME"),
api_version=os.environ.get("AZURE_API_VERSION"),
api_key=os.environ.get("AZURE_API_KEY"),
type="azure_openai"
)
# Define ml_client to register the custom evaluator.
ml_client = MLClient(
subscription_id=os.environ["AZURE_SUBSCRIPTION_ID"],
resource_group_name=os.environ["AZURE_RESOURCE_GROUP"],
workspace_name=os.environ["AZURE_PROJECT_NAME"],
credential=DefaultAzureCredential()
)
# # Convert the evaluator to evaluation flow and save it locally.
local_path = "friendliness_local"
pf_client = PFClient()
pf_client.flows.save(entry=FriendlinessEvaluator, path=local_path)
# Specify the evaluator name that appears in the evaluator catalog.
evaluator_name = "FriendlinessEvaluator"
# Register the evaluator to the evaluator catalog.
custom_evaluator = Model(
path=local_path,
name=evaluator_name,
description="prompt-based evaluator measuring response friendliness.",
)
registered_evaluator = ml_client.evaluators.create_or_update(custom_evaluator)
print("Registered evaluator id:", registered_evaluator.id)
# Registered evaluators have versioning. You can always reference any version available.
versioned_evaluator = ml_client.evaluators.get(evaluator_name, version=1)
print("Versioned evaluator id:", registered_evaluator.id)
Depois de registar o seu avaliador personalizado, pode consultá-lo no seu catálogo de avaliadores. No seu projeto Foundry, selecione Avaliação e depois selecione catálogo avaliador.
Obtenha resultados
Resolução de problemas
Conteúdo relacionado
- Avalie localmente as suas aplicações de IA generativa
- Monitorize as suas aplicações de IA generativa
- Aprenda sobre a simulação de conjuntos de dados de teste para avaliação
- Consulte os resultados das avaliações no portal da Fundição
- Comece com a Foundry
- Comece com amostras de avaliação
- Documentação de Referência da API REST