Introdução à avaliação cloud com o Microsoft Foundry SDK

Utilize avaliações na cloud para testar aplicações de IA generativa em larga escala, sem gerir computação local. Este artigo configura o cliente SDK partilhado e ajuda-o a escolher um fluxo de trabalho para pré-implementação ou avaliação em produção.

Pré-requisitos

  • Um projeto da Foundry.

  • Uma implementação do Azure OpenAI com um modelo GPT que suporta a conclusão de chats, como gpt-5-mini.

  • A função Foundry User no projeto Foundry.

    Importante

    As funções RBAC do Foundry foram recentemente renomeadas. Foundry User, Foundry Owner, Foundry Account Owner e Foundry Project Manager foram anteriormente nomeados Azure AI User, Azure AI Owner, Azure AI Account Owner e Azure AI Project Manager. Poderá ainda ver os nomes anteriores em alguns locais enquanto esta alteração de nome está a ser implementada. Os IDs das funções e as permissões principais não são alterados por esta mudança de nome.

  • Para todos os requisitos de funções de avaliação, consulte Configurar permissões para fluxos de trabalho de avaliação.

  • Opcionalmente, a sua própria conta de armazenamento para dados de avaliação.

Algumas funcionalidades de avaliação têm restrições regionais. Revise as regiões suportadas antes de começar.

Configurar o cliente SDK

Instala o SDK para a tua língua. Defina estas variáveis de ambiente partilhadas:

  • AZURE_AI_PROJECT_ENDPOINT: O endpoint do seu projeto Foundry, por exemplo, https://<account_name>.services.ai.azure.com/api/projects/<project_name>.
  • AZURE_AI_MODEL_DEPLOYMENT_NAME: A implementação do modelo utilizada por avaliadores assistidos por IA.
  • DATASET_NAME e DATASET_VERSION: Valores opcionais para conjuntos de dados reutilizáveis.

Autentica com DefaultAzureCredential, cria o cliente do projeto e faz com que o cliente OpenAI seja usado pela API de avaliação.

pip install "azure-ai-projects>=2.2.0"
import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import TestingCriterionAzureAIEvaluator
from openai.types.eval_create_params import DataSourceConfigCustom
from openai.types.evals.create_eval_jsonl_run_data_source_param import (
    CreateEvalJSONLRunDataSourceParam,
    SourceFileContent,
    SourceFileContentContent,
    SourceFileID,
)

endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]
model_deployment_name = os.environ.get(
    "AZURE_AI_MODEL_DEPLOYMENT_NAME", ""
)
dataset_name = os.environ.get("DATASET_NAME", "")
dataset_version = os.environ.get("DATASET_VERSION", "1")

project_client = AIProjectClient(
    endpoint=endpoint,
    credential=DefaultAzureCredential(),
)
openai_client = project_client.get_openai_client()

Referência: AIProjectClient, DefaultAzureCredential

Para usar um modelo ligado através de ligações administrativas como alvo, modelo de juízo ou simulador de conversa, veja Utilizar modelos ligados ao administrador em avaliações na cloud.

Compreenda o fluxo de trabalho de avaliação

Uma avaliação na nuvem tem três passos:

  1. Defina a forma dos dados e os avaliadores que a avaliam.
  2. Faça a avaliação com o cliente de avaliação.
  3. Inicie uma corrida, faça uma sondagem até terminar e recupere os resultados pontuados.

Os resultados das avaliações na cloud são armazenados no seu projeto Foundry. Pode obtê-los através do SDK, revê-los no portal ou encaminhá-los para o Application Insights quando este estiver ligado.

Escolha avaliadores

Os avaliadores associam campos nos seus dados através de mapeamentos de colunas. Os fluxos de trabalho do conjunto de dados expõem campos de itens, enquanto os fluxos de trabalho gerados pelo destino também expõem a saída do modelo ou do agente através do esquema da amostra.

Revise os avaliadores incorporados e os avaliadores personalizados antes de configurar os critérios de teste.

Escolhe o teu ponto de partida

Unidade de avaliação Ponto de partida Workflow
Turno individual Tem dados de teste em JSONL ou CSV com um pedido e uma resposta. Avaliar conjuntos de dados de consulta e resposta
Turno individual Tens dúvidas e queres um modelo ou agente para gerar respostas. Avaliar as respostas do modelo e do agente
Turno individual Tem respostas ou vestígios armazenados de interações individuais com um modelo ou agente implementado. Avaliar as interações entre modelos e agentes implementados
Turno individual Tem de gerar consultas sintéticas. Gerar consultas sintéticas
Conversa completa Tens um conjunto de dados de conversas completas. Avaliar conjuntos de dados de conversação
Conversa completa Tens rastreios que capturam conversas completas com um modelo ou agente implementado. Avaliar conversas entre modelos e agentes implementados
Conversa completa Precisa de gerar e avaliar conversas simuladas com agentes. Simular conversas com agentes
Qualquer unidade de avaliação Precisas de questionar, interpretar, cancelar ou resolver problemas numa execução. Obtenha os resultados das avaliações

Para testes adversariais de segurança, use red teaming com IA. Para criar um conjunto de dados autónomo, veja Gerar um conjunto de dados de avaliação sintética.