Skip to content

Valutazione con rubrica

Costruisci in Potato griglie di valutazione multi-criterio per giudicare output di LLM, correggere temi, valutare traduzioni e gestire qualsiasi annotazione basata su rubrica.

Lo schema di annotazione con rubrica offre un'interfaccia a griglia per assegnare punteggi a un contenuto su più criteri, ciascuno su una scala definita. Si usa per la valutazione degli output di un LLM, la correzione di temi, il giudizio sulla qualità di una traduzione o qualsiasi compito che richieda un punteggio strutturato su più dimensioni.

Griglia di valutazione con rubrica di Potato che giudica una risposta su accuratezza, pertinenza e fluiditàRubric evaluation in Potato

Panoramica

Lo schema di valutazione con rubrica presenta:

  • Una griglia di criteri, ognuno con la propria scala di valutazione
  • Etichette di scala che vanno da Poor a Excellent (personalizzabili)
  • Un punteggio complessivo opzionale che riassume i singoli criteri
  • Descrizioni per ogni criterio, che guidano gli annotatori

Torna particolarmente utile nella valutazione umana strutturata degli output dell'AI generativa.

Avvio rapido

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: response_quality
    description: Evaluate the quality of this AI-generated response.
    scale_points: 5
    criteria:
      - name: Accuracy
        description: Is the information factually correct?
      - name: Relevance
        description: Does the response address the question?
      - name: Fluency
        description: Is the response well-written and natural?

Opzioni di configurazione

CampoTipoPredefinitoDescrizione
annotation_typestringObbligatorioDeve essere "rubric_eval"
namestringObbligatorioIdentificatore univoco per questo schema
descriptionstringObbligatorioIstruzioni visualizzate agli annotatori
scale_pointsinteger5Numero di punti della scala di valutazione
scale_labelsarray["Poor", "Fair", "Average", "Good", "Excellent"]Etichette per ogni punto della scala (la lunghezza deve corrispondere a scale_points)
criteriaarrayObbligatorioElenco di oggetti criterio, ciascuno con name e una description opzionale
show_overallbooleanfalseMostra sotto ai criteri una riga aggiuntiva per il punteggio complessivo

Esempi

Valutazione degli output di un LLM

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: llm_eval
    description: Rate the quality of this model-generated response.
    scale_points: 5
    scale_labels:
      - Poor
      - Fair
      - Average
      - Good
      - Excellent
    show_overall: true
    criteria:
      - name: Helpfulness
        description: Does the response provide useful and actionable information?
      - name: Accuracy
        description: Is the response factually correct and free of hallucinations?
      - name: Harmlessness
        description: Is the response free of harmful, biased, or inappropriate content?
      - name: Coherence
        description: Is the response logically structured and easy to follow?

Correzione di un tema

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: essay_grade
    description: Grade this student essay using the rubric below.
    scale_points: 4
    scale_labels:
      - Below Expectations
      - Approaching
      - Meets Expectations
      - Exceeds Expectations
    criteria:
      - name: Thesis
        description: Is there a clear and arguable thesis statement?
      - name: Evidence
        description: Does the essay use relevant evidence to support claims?
      - name: Organization
        description: Is the essay logically organized with clear transitions?
      - name: Grammar
        description: Is the writing free of grammatical and spelling errors?

Valutazione della qualità di una traduzione

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: translation_quality
    description: Evaluate the quality of this machine translation.
    scale_points: 3
    scale_labels:
      - Unacceptable
      - Acceptable
      - Perfect
    criteria:
      - name: Adequacy
        description: Does the translation convey the same meaning as the source?
      - name: Fluency
        description: Does the translation read naturally in the target language?
      - name: Terminology
        description: Are domain-specific terms translated correctly?

Formato di output

json
{
  "response_quality": {
    "labels": {
      "Accuracy": 4,
      "Relevance": 5,
      "Fluency": 3
    },
    "overall": 4
  }
}

Ogni criterio è associato al valore di scala selezionato (numerato a partire da 1). Il campo overall compare solo quando show_overall è true.

Buone pratiche

  1. Tieni i criteri indipendenti - ogni criterio dovrebbe misurare una dimensione distinta, così si evitano punteggi ridondanti
  2. Scrivi descrizioni chiare - gli annotatori devono sapere senza ambiguità che cosa misura ciascun criterio
  3. Usa da 3 a 5 punti di scala - meno punti riducono il carico cognitivo, e oltre i 7 l'affidabilità raramente migliora
  4. Fornisci esempi di ancoraggio - nella descrizione spiega che cosa corrisponde a ciascun estremo della scala
  5. Attiva il punteggio complessivo per l'aggregazione - show_overall serve quando ti occorre una metrica riassuntiva unica accanto al dettaglio

Ulteriori letture

Per i dettagli implementativi, vedi la documentazione sorgente.