Demonstração de 10 minutos: Coletar feedback humano
Este tutorial holístico mostra como coletar feedback do usuário final, adicionar anotações do desenvolvedor, criar sessões de revisão de especialistas e usar esse feedback para avaliar a qualidade do seu aplicativo GenAI.
O que você vai conseguir
Ao final deste tutorial, você:
- Instrumentar um aplicativo GenAI com rastreamento MLflow
- Coletar feedback do usuário final, simulado usando o SDK neste exemplo
- Adicione feedback do desenvolvedor interativamente por meio da interface do usuário
- veja o feedback junto com seus rastros
- Colete feedback de especialistas criando uma sessão de rótulo para revisão estruturada de especialistas
Todo o código desta página está incluído no Notebook de exemplo.
Pré-requisitos
-
Instale o pacote necessário:
Python%pip install -q --upgrade "mlflow[databricks]>=3.1.0" openai
dbutils.library.restartPython() -
Crie um experimento MLflow. Se você estiver usando um Databricks Notebook, pode pular esta etapa e usar o experimento default do Notebook. Caso contrário, siga o início rápido de configuração do ambiente para criar o experimento e conectar-se ao servidor de acompanhamento MLflow .
Etapa 1: criar e rastrear um aplicativo simples
Primeiro, crie um aplicativo GenAI simples usando um LLM com rastreamento de MLflow.
- Inicialize um cliente OpenAI para se conectar a LLMs hospedados pela Databricks ou LLMs hospedados pela OpenAI.
- Databricks-hosted LLMs
- OpenAI-hosted LLMs
Use o MLflow para obter um cliente OpenAI que se conecta aos LLMs hospedados pela Databricks. Selecione um modelo dentre os modelos de base disponíveis.
import mlflow
from databricks.sdk import WorkspaceClient
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/docs-demo")
# Create an OpenAI client that is connected to Databricks-hosted LLMs
w = WorkspaceClient()
client = w.serving_endpoints.get_open_ai_client()
# Select an LLM
model_name = "databricks-claude-sonnet-4"
Use o SDK nativo do OpenAI para se conectar a modelos hospedados pelo OpenAI. Selecione um modelo dentre os modelos OpenAI disponíveis.
import mlflow
import os
import openai
# Ensure your OPENAI_API_KEY is set in your environment
# os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>" # Uncomment and set if not globally configured
# Enable auto-tracing for OpenAI
mlflow.openai.autolog()
# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/docs-demo")
# Create an OpenAI client connected to OpenAI SDKs
client = openai.OpenAI()
# Select an LLM
model_name = "gpt-4o-mini"
-
Defina seu aplicativo de chatbot:
Python# Create a RAG app with tracing
@mlflow.trace
def my_chatbot(user_question: str) -> str:
# Retrieve relevant context
context = retrieve_context(user_question)
# Generate response using LLM with retrieved context
response = client.chat.completions.create(
model=model_name, # If using OpenAI directly, use "gpt-4o" or "gpt-3.5-turbo"
messages=[
{"role": "system", "content": "You are a helpful assistant. Use the provided context to answer questions."},
{"role": "user", "content": f"Context: {context}\n\nQuestion: {user_question}"}
],
temperature=0.7,
max_tokens=150
)
return response.choices[0].message.content
@mlflow.trace(span_type="RETRIEVER")
def retrieve_context(query: str) -> str:
# Simulated retrieval - in production, this would search a vector database
if "mlflow" in query.lower():
return "MLflow is an open-source platform for managing the end-to-end machine learning lifecycle. It provides tools for experiment tracking, model packaging, and deployment."
return "General information about machine learning and data science."
# Run the app to generate a trace
response = my_chatbot("What is MLflow?")
print(f"Response: {response}")
# Get the trace ID for the next step
trace_id = mlflow.get_last_active_trace_id()
print(f"Trace ID: {trace_id}")
Etapa 2: coletar feedback do usuário final
Quando os usuários interagem com seu aplicativo, eles podem fornecer feedback por meio de elementos da interface, como botões de polegar para cima/para baixo. Este início rápido simula um usuário final dando feedback negativo usando o SDK diretamente.
import mlflow
from mlflow.entities.assessment import AssessmentSource, AssessmentSourceType
# Simulate end-user feedback from your app
# In production, this would be triggered when a user clicks thumbs down in your UI
mlflow.log_feedback(
trace_id=trace_id,
name="user_feedback",
value=False, # False for thumbs down - user is unsatisfied
rationale="Missing details about MLflow's key features like Projects and Model Registry",
source=AssessmentSource(
source_type=AssessmentSourceType.HUMAN,
source_id="enduser_123", # Would be actual user ID in production
),
)
print("End-user feedback recorded!")
# In a real app, you would:
# 1. Return the trace_id with your response to the frontend
# 2. When user clicks thumbs up/down, call your backend API
# 3. Your backend would then call mlflow.log_feedback() with the trace_id
Etapa 3: visualizar o feedback na UI
Inicie a interface de usuário do MLflow para ver seus traços com feedback:
- Navegue até seu experimento MLflow.
- Acesse a tab registros .
- Clique no seu rastreamento.
- A caixa de diálogo de detalhes do rastreamento é exibida. Em Avaliações , no lado direito da caixa de diálogo, o
user_feedbackmostrafalse, indicando que o usuário marcou a resposta com o polegar para baixo.

o passo 4: Adicionar anotação do desenvolvedor usando a UI
Como desenvolvedor, você também pode adicionar seus próprios comentários e notas diretamente na interface do usuário:
-
Na tab de registros , clique em um rastreamento para abri-lo.
-
Clique em qualquer extensão (escolha a extensão raiz para feedback em nível de rastreamento).
-
Em Assessments (Avaliações ) tab, à direita, clique em Add new assessment (Adicionar nova avaliação ) e preencha os dados a seguir:
- Tipo :
Feedback. - Nome :
accuracy_score. - Valor :
.75. - Justificativa :
This answer includes the core elements of ML lifecycle management, experiment tracking, packaging, and deployment. However, it does not mention the model registry, project packaging, integration with Generative AI and LLMs, or unique features available in Databricks-managed MLflow, which are now considered essential to a complete description of the platform.
- Tipo :
-
Clique em Criar .
Após refresh a página, as colunas referentes às novas avaliações aparecerão na tabela de registros.
Etapa 5: enviar rastreamento para análise de um especialista
O feedback negativo do usuário final da Etapa 2 indica um possível problema de qualidade, mas somente especialistas do domínio podem confirmar se realmente há um problema e fornecer a resposta correta. Crie uma sessão de rótulo para obter feedback de especialistas autorizados:
import mlflow
from mlflow.genai.label_schemas import create_label_schema, InputCategorical, InputText
from mlflow.genai.labeling import create_labeling_session
# Define what feedback to collect
accuracy_schema = create_label_schema(
name="response_accuracy",
type="feedback",
title="Is the response factually accurate?",
input=InputCategorical(options=["Accurate", "Partially Accurate", "Inaccurate"]),
overwrite=True
)
ideal_response_schema = create_label_schema(
name="expected_response",
type="expectation",
title="What would be the ideal response?",
input=InputText(),
overwrite=True
)
# Create a labeling session
labeling_session = create_labeling_session(
name="quickstart_review",
label_schemas=[accuracy_schema.name, ideal_response_schema.name],
)
# Add your trace to the session
# Get the most recent trace from the current experiment
traces = mlflow.search_traces(
max_results=1 # Gets the most recent trace
)
labeling_session.add_traces(traces)
# Share with reviewers
print(f"Trace sent for review!")
print(f"Share this link with reviewers: {labeling_session.url}")

Os revisores especialistas agora podem fazer o seguinte:
-
Abra o URL do aplicativo de avaliação.
-
Veja seu rastreamento com a pergunta e a resposta (incluindo qualquer feedback do usuário final).
-
Avalie se a resposta é realmente precisa.
-
Forneça a resposta correta em
expected_responsepara a pergunta "O que é MLflow?":MLflow is an open-source platform for managing the machine learning lifecycle, including experiment tracking, model registry, packaging, deployment, and evaluation. It supports classical ML, deep learning, and generative AI workflows. On Databricks, MLflow provides managed, secure, and scalable integration for easy collaboration and governance -
Envie suas avaliações de especialistas como verdade fundamental.
O senhor também pode usar a interface de usuário do MLflow 3 para criar uma sessão de rótulo, como segue:
- Na página do experimento, clique no rótulo tab.
- À esquerda, use a guia Sessions and Schemas para adicionar um novo esquema de rótulo e criar uma nova sessão.

Etapa 6: use o feedback para avaliar seu aplicativo
Depois que os especialistas fornecerem feedback, use o expected_response rótulo deles para avaliar seu aplicativo com o Corretor de Correção do MLflow:
Este exemplo usa diretamente os rastreamentos para avaliação. Em seu aplicativo, o site Databricks recomenda adicionar traços de rótulo a um conjunto de dados de avaliação MLflow que fornece acompanhamento e linhagem de versão. Consulte o guia de criação de sets de avaliação.
import mlflow
from mlflow.genai.scorers import Correctness
# Get traces from the labeling session
labeled_traces = mlflow.search_traces(
run_id=labeling_session.mlflow_run_id, # Labeling Sessions are MLflow Runs
)
# Evaluate your app against expert expectations
eval_results = mlflow.genai.evaluate(
data=labeled_traces,
predict_fn=my_chatbot, # The app we created in Step 1
scorers=[Correctness()] # Compares outputs to expected_response
)
O marcador de correção compara os resultados do seu aplicativo com o expected_response fornecido por especialistas, fornecendo feedback quantitativo sobre o alinhamento com as expectativas dos especialistas.

Exemplo de notebook
O Notebook a seguir inclui todo o código desta página.
Caderno de início rápido de feedback humano
Próximas etapas
Saiba mais detalhes sobre a coleta de diferentes tipos de feedback humano:
- rótulo during development - Aprenda técnicas avançadas de anotação para desenvolvimento
- Colete feedback de especialistas do domínio - Configure processos sistemáticos de revisão de especialistas
- Verificação de vibração com especialistas do domínio - Teste seu aplicativo interativamente com especialistas
referências de recurso
Para detalhes sobre conceitos e recursos neste guia, consulte:
- Criar um conjunto de dados de avaliação - Criar um conjunto de dados de teste abrangente a partir do feedback da produção
- rótulo Sessions - Saiba como funcionam as sessões de avaliação de especialistas
- rótulo Schemas - Explore a estrutura e os tipos de feedback