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 parametroresponse_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 colonnacontent
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
econtext
.
- Integra la tua previsione: è necessaria una colonna
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:
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" )
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" )
Se
prompt_template
è specificato, la colonnacontent
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:", )
Per eseguire la valutazione con l'inferenza del modello personalizzato, specifica il parametro
model
con una funzione di previsione personalizzata. La colonnacontent
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. |