Valutazione pacchetto (1.50.0)

Documentazione dell'API per il pacchetto evaluation.

Corsi

CustomMetric

La metrica di valutazione personalizzata.

La funzione di valutazione. Deve utilizzare la riga/l'istanza del set di dati come input della funzione metric_function. Restituisce il risultato della metrica per istanza come dizionario. Il punteggio della metrica deve essere mappato a CustomMetric.name come chiave.

EvalResult

Risultato della valutazione.

EvalTask

Una classe che rappresenta un EvalTask.

Un'attività di valutazione viene definita per misurare la capacità del modello di eseguire una determinata attività in risposta a prompt o input specifici. Le attività di valutazione devono contenere un set di dati di valutazione e un elenco di metriche da valutare. Le attività di valutazione aiutano gli sviluppatori a confrontare i modelli suggeriti, a monitorare gli esperimenti, a confrontare i modelli e le relative impostazioni e a valutare la qualità del testo generato del modello.

Dettagli del set di dati: Nomi predefiniti delle colonne del set di dati:

  • content_column_name: "contenuti"
  • nome_colonna_riferimento: "riferimento"
  • response_column_name: "risposta" Requisito per diversi casi d'uso:
    • Integra la tua previsione: è necessaria una colonna response. Il nome della colonna di risposta può essere personalizzato fornendo il parametro response_column_name.
    • Senza modello di prompt: è necessaria una colonna che rappresenta il prompt di input al modello. Se content_column_name non è specificato, il set di dati di valutazione richiede la colonna content per impostazione predefinita. La colonna della risposta non viene utilizzata se presente e le nuove risposte del modello vengono generate con la colonna dei contenuti e utilizzate per la valutazione.
    • Con il modello di prompt: il set di dati deve contenere nomi di colonna corrispondenti ai nomi dei segnaposto nel modello di prompt. Ad esempio, se il modello di prompt è "Instruction: {instruction}, context: {context}", il set di dati deve contenere le colonne instruction e context.

Dettagli sulle metriche: le metriche supportate, le descrizioni dei gruppi di metriche, le griglie di valutazione e i campi di immissione obbligatori sono disponibili nella documentazione pubblica di Vertex AI.

Utilizzo:

  1. Per eseguire la valutazione delle previsioni personalizzate, fornisci le risposte del modello nella colonna della risposta del set di dati. Per impostazione predefinita, il nome della colonna della risposta è "risposta". In alternativa, specifica il parametro response_column_name da personalizzare.

    eval_dataset = pd.DataFrame({
           "reference": [...],
           "response" : [...],
    })
    eval_task = EvalTask(
     dataset=eval_dataset,
     metrics=["bleu", "rouge_l_sum", "coherence", "fluency"],
     experiment="my-experiment",
    )
    eval_result = eval_task.evaluate(
         experiment_run_name="eval-experiment-run"
    )
    
  2. Per eseguire la valutazione con l'inferenza del modello Gemini integrata, specifica il parametro model con un'istanza GenerativeModel. Il nome predefinito della colonna di query per il modello è content.

    eval_dataset = pd.DataFrame({
         "reference": [...],
         "content"  : [...],
    })
    result = EvalTask(
       dataset=eval_dataset,
       metrics=["exact_match", "bleu", "rouge_1", "rouge_2",
       "rouge_l_sum"],
       experiment="my-experiment",
    ).evaluate(
       model=GenerativeModel("gemini-pro"),
       experiment_run_name="gemini-pro-eval-run"
    )
    
  3. Se prompt_template è specificato, la colonna content non è obbligatoria. I prompt possono essere assemblati dal set di dati di valutazione e tutti i nomi dei segnaposto devono essere presenti nelle colonne del set di dati.

    eval_dataset = pd.DataFrame({
       "context"    : [...],
       "instruction": [...],
       "reference"  : [...],
    })
    result = EvalTask(
       dataset=eval_dataset,
       metrics=["summarization_quality"],
    ).evaluate(
       model=model,
       prompt_template="{instruction}. Article: {context}. Summary:",
    )
    
  4. Per eseguire la valutazione con l'inferenza del modello personalizzato, specifica il parametro model con una funzione di previsione personalizzata. La colonna content nel set di dati viene utilizzata per generare previsioni con la funzione del modello personalizzato per la valutazione.

    def custom_model_fn(input: str) -> str:
     response = client.chat.completions.create(
       model="gpt-3.5-turbo",
       messages=[
         {"role": "user", "content": input}
       ]
     )
     return response.choices[0].message.content
    
    eval_dataset = pd.DataFrame({
         "content"  : [...],
         "reference": [...],
    })
    result = EvalTask(
       dataset=eval_dataset,
       metrics=["text_generation_similarity","text_generation_quality"],
       experiment="my-experiment",
    ).evaluate(
       model=custom_model_fn,
       experiment_run_name="gpt-eval-run"
    )
    

PromptTemplate

Un modello di prompt per creare prompt con segnaposto.

La classe PromptTemplate consente agli utenti di definire una stringa modello con segnaposto rappresentati tra parentesi graffe {placeholder}. I nomi dei segnaposto non possono contenere spazi. Questi segnaposto possono essere sostituiti con valori specifici utilizzando il metodo assemble, offrendo flessibilità nella generazione di prompt dinamici.

Esempio di utilizzo:

```
    template_str = "Hello, {name}! Today is {day}. How are you?"
    prompt_template = PromptTemplate(template_str)
    completed_prompt = prompt_template.assemble(name="John", day="Monday")
    print(completed_prompt)
```

Un insieme di nomi di segnaposto dalla stringa di modello.

Funzioni di Packages

make_metric

make_metric(
    name: str,
    metric_function: typing.Callable[
        [typing.Dict[str, typing.Any]], typing.Dict[str, typing.Any]
    ],
) -> vertexai.preview.evaluation.metrics._base.CustomMetric

Crea una metrica personalizzata.

Parametri
Nome Description
name

Il nome della metrica

metric_function

La funzione di valutazione. Deve utilizzare la riga/l'istanza del set di dati come input della funzione metric_function. Restituisce il risultato della metrica per istanza come dizionario. Il punteggio della metrica deve essere mappato a CustomMetric.name come chiave.