Pular para o conteúdo principal

Construindo MLflow Conjunto de dados de avaliação

Este guia mostra as várias maneiras de criar um conjunto de dados de avaliação para testar sistematicamente e melhorar a qualidade do seu aplicativo GenAI. O senhor aprenderá várias abordagens para criar um conjunto de dados que possibilite uma avaliação consistente e repetível à medida que o aplicativo for sendo desenvolvido.

O conjunto de dados de avaliação ajuda o senhor:

  • Corrija problemas conhecidos : adicione exemplos problemáticos da produção para testar repetidamente as correções
  • Evite regressões : crie um conjunto dourado " " de exemplos que sempre devem funcionar corretamente
  • Compare versões : teste diferentes prompts, modelos ou lógica do aplicativo com os mesmos dados
  • Recurso específico de destino : criar um conjunto de dados especializado para segurança, conhecimento de domínio ou casos extremos

Comece com um único conjunto de dados bem selecionado dataset e depois expanda para vários conjuntos de dados à medida que suas necessidades de teste aumentarem.

O que você aprenderá:

  • Criar um conjunto de dados a partir de traços de produção para testar cenários do mundo real
  • Criar um conjunto de dados do zero para testes direcionados de recursos específicos
  • Importar dados de avaliação existentes de CSV, JSON ou outros formatos
  • Gere dados de teste sintéticos para expandir a cobertura
  • Adicionar rótulo de verdade do feedback do especialista no domínio
nota

Este guia mostra como usar o conjunto de dados de avaliação MLflow-gerenciar, que fornece histórico de versões e acompanhamento de linhagens. Para uma prototipagem rápida, o senhor também pode fornecer sua avaliação dataset como um dicionário Python ou um quadro de dados Pandas/Spark que segue o mesmo esquema do MLflow-gerenciar dataset. Para saber mais sobre o esquema do dataset de avaliação, consulte a página de referência do conjunto de dados de avaliação.

Pré-requisitos

  1. Instale o site MLflow e o pacote necessário

    Bash
    pip install --upgrade "mlflow[databricks]>=3.1.0"
  2. Crie um experimento MLflow seguindo o início rápido de configuração do ambiente.

  3. Acesso a um esquema Unity Catalog com permissões CREATE TABLE para criar um conjunto de dados de avaliação.

Abordagens para criar seu conjunto de dados

MLflow oferece várias maneiras flexíveis de construir uma avaliação dataset adaptada às suas necessidades:

Escolha o método ou a combinação de métodos que melhor se adapte à sua fonte de dados atual e às metas de avaliação.

Etapa 1: Criar um dataset

Independentemente do método que escolher, primeiro o senhor deve criar uma avaliação do MLflow-gerenciar dataset. Essa abordagem permite que o senhor acompanhe as mudanças no site dataset ao longo do tempo e vincule os resultados da avaliação individual a esse site dataset.

Siga a gravação abaixo para usar a interface do usuário para criar uma avaliação dataset

trace

Etapa 2: Adicione registros ao seu dataset

Abordagem 1: criar a partir de traços existentes

Uma das maneiras mais eficazes de criar uma avaliação relevante dataset é selecionar exemplos diretamente das interações históricas do seu aplicativo capturadas por MLflow Tracing. O senhor pode criar um conjunto de dados a partir de traços usando a UI de monitoramento MLflow ou o SDK.

Siga a gravação abaixo para usar a interface do usuário para adicionar traços de produção existentes ao dataset

trace

Abordagem 2: Criar a partir do rótulo do especialista em domínio

Aproveite o feedback de especialistas de domínio capturado em MLflow rótulo Sessions para enriquecer seu conjunto de dados de avaliação com rótulo de verdade. Antes de executar essas etapas, siga o guia de coleta de feedback de especialista em domínio para criar uma sessão de rótulo.

Python
import mlflow.genai.labeling as labeling

# Get a labeling sessions
all_sessions = labeling.get_labeling_sessions()
print(f"Found {len(all_sessions)} sessions")

for session in all_sessions:
print(f"- {session.name} (ID: {session.labeling_session_id})")
print(f" Assigned users: {session.assigned_users}")

# Sync from the labeling session to the dataset

all_sessions[0].sync(dataset_name=f"{uc_schema}.{evaluation_dataset_table_name}")

Abordagem 3: Crie do zero ou importe o existente

O senhor pode importar um site existente dataset ou selecionar exemplos do zero. Seus dados devem corresponder (ou ser transformados para corresponder) ao esquema de avaliação dataset.

Python
# Define comprehensive test cases
evaluation_examples = [
{
"inputs": {"question": "What is MLflow?"},
"expected": {
"expected_response": "MLflow is an open source platform for managing the end-to-end machine learning lifecycle.",
"expected_facts": [
"open source platform",
"manages ML lifecycle",
"experiment tracking",
"model deployment"
]
},
},
]

eval_dataset.merge_records(evaluation_examples)

Abordagem 4: Semeie usando dados sintéticos

A geração de dados sintéticos pode expandir seus esforços de teste criando rapidamente diversas entradas e cobrindo casos extremos. Para saber mais, visite a referência do conjunto de dados de avaliação synthesize.

Próximas etapas

Continue sua jornada com estas ações recomendadas e o tutorial.

Guia de referência

Explore a documentação detalhada dos conceitos e recursos mencionados neste guia.