Condividi tramite


Giudici personalizzati

I giudici LLM personalizzati consentono di definire linee guida di assegnazione dei punteggi complesse e sfumate per le applicazioni GenAI usando il linguaggio naturale.

Mentre i giudici LLM predefiniti di MLflow offrono punti di partenza eccellenti per le dimensioni di qualità comuni, i giudici personalizzati creati usando make_judge() offrono il controllo completo sui criteri di valutazione.

Richieste e variabili di modello

Per creare un giudice, fornisci un prompt con istruzioni in linguaggio naturale su come valutare la qualità dell'agente. make_judge() accetta variabili modello per accedere agli input, agli output, agli output o ai comportamenti previsti dell'agente e persino a tracce complete.

Le istruzioni devono includere almeno una variabile di modello, ma non è necessario usarle tutte.

  • {{ inputs }} - Dati di input forniti all'agente
  • {{ outputs }} - Dati di output generati dall'agente
  • {{ expectations }} - Verità sul terreno o risultati previsti
  • {{ trace }} - La traccia di esecuzione completa dell'agente

Queste sono le uniche variabili consentite. Le variabili personalizzate come {{ question }} genereranno errori di convalida per garantire un comportamento coerente e prevenire problemi di inserimento dei modelli.

Giudici basati sulla traccia

I giudici basati su traccia analizzano le tracce di esecuzione per comprendere cosa è accaduto durante l'esecuzione dell'agente. Esplorano in modo autonomo le tracce usando gli strumenti MCP (Model Context Protocol) e possono:

  • Convalidare i modelli di utilizzo degli strumenti
  • Identificare i colli di bottiglia in termini di prestazioni
  • Analizzare gli errori di esecuzione
  • Verificare i flussi di lavoro in più passaggi

L'esempio seguente definisce un giudice che valuta la correttezza dell'invocazione dello strumento analizzando le tracce.

from mlflow.genai.judges import make_judge
from typing import Literal

# Agent judge for tool calling correctness
tool_usage_judge = make_judge(
    name="tool_usage_validator",
    instructions=(
        "Analyze the {{ trace }} to verify correct tool usage.\n\n"
        "Check that the agent selected appropriate tools for the user's request "
        "and called them with correct parameters."
    ),
    feedback_value_type=Literal["correct", "incorrect"],
    model="databricks:/databricks-gpt-5-mini"  # Required for trace-based judges
)

Affinché i giudici basati su traccia analizzino la traccia completa, l'argomento model deve essere specificato in make_judge().

Per un'esercitazione completa, vedere Creare un giudice personalizzato usando make_judge().

Requisiti del modello per i giudici basati su tracce

I giudici basati sulla traccia richiedono un modello in grado di eseguire l'analisi delle tracce. Il modello può essere distribuito da:

Modelli consigliati:

  • databricks:/databricks-gpt-5-mini
  • databricks:/databricks-gpt-5
  • databricks:/databricks-gpt-oss-120b
  • databricks:/databricks-claude-opus-4-1

Procedure consigliate per la scrittura di istruzioni del giudice

Specificare il formato di output previsto. Le istruzioni devono specificare chiaramente il formato che il giudice deve restituire:

  • Risposte categoriche: elencare valori specifici (ad esempio, 'completamente_risolto', 'parzialmente_risolto', 'necessita_segmento_di_seguimento')
  • Risposte booleane: dichiarare in modo esplicito il giudice deve restituire true o false
  • Punteggi numerici: specificare l'intervallo di punteggio e il significato di ogni punteggio

Suddividere valutazioni complesse. Per attività di valutazione complesse, strutturare le istruzioni in sezioni chiare:

  • Cosa valutare
  • Quali informazioni esaminare
  • Come fare il giudizio
  • Quale formato restituire

Allineare i giudici agli esperti umani

Il giudice di base è un punto di partenza. Quando si raccolgono feedback di esperti sugli output dell'applicazione, è possibile allineare i giudici LLM al feedback per migliorare ulteriormente l'accuratezza del giudice. Vedi Allineare i giudici agli esseri umani.

Passaggi successivi

Consulta Creare un giudice personalizzato per un'esercitazione pratica che illustra i giudici sia standard che basati su tracce.