Creare un prompt per un parametro personalizzato - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creare un prompt per un parametro personalizzato

I processi di valutazione RAG consentono di creare parametri personalizzati per caratterizzare meglio le prestazioni dei modelli per il caso aziendale specifico. È possibile definire fino a 10 parametri personalizzati per ogni processo di valutazione.

Per creare un parametro di valutazione personalizzato, è necessario fornire gli elementi seguenti:

  • Un prompt contenente istruzioni dettagliate per l’utilizzo da parte del modello giudice

  • Il modello di valutazione da utilizzare per le tue metriche personalizzate

Si può anche specificare un sistema di punteggio (schema di output) che il modello di valutazione può utilizzare per valutare gli output del sistema RAG.

Le sezioni seguenti descrivono come creare un prompt per il modello di valutatore quando si utilizzano parametri personalizzati, incluse le best practice. Definiscono inoltre lo schema da utilizzare se si crea un parametro utilizzando un file JSON.

Per informazioni su come creare un processo di valutazione con un parametro personalizzato con il prompt, consulta Creare un processo di valutazione RAG di solo recupero utilizzando metriche personalizzate e Creare un processo di valutazione RAG di recupero e generazione utilizzando metriche personalizzate.

Creazione di prompt e best practice

Quando si crea un prompt per un parametro personalizzato, è necessario strutturare il prompt con i seguenti elementi:

  1. Definizione del ruolo (facoltativo): indica al modello di valutatore di adottare un’identità o un ruolo specifico

  2. Descrizione dell’attività: fornisce istruzioni dettagliate sull’attività di valutazione

  3. Criterio e rubrica (facoltativo): fornisce linee guida dettagliate per il punteggio e rubriche per la valutazione

  4. Variabili di input: definisce le variabili da valutare, come il prompt e la risposta

Includi questi elementi nel prompt nell’ordine indicato nell’elenco. Le seguenti sezioni descrivono ognuno di questi elementi in maggiore dettaglio.

Definizione di ruolo

Fornire una definizione di ruolo è facoltativo, ma può aiutare a inquadrare la valutazione. Ad esempio, se creai un parametro per valutare lo stile in prosa degli output finali del sistema RAG, potresti prendere in considerazione l’utilizzo di un ruolo come “tutor di scrittura”. A seconda degli obiettivi della valutazione, potrebbero essere appropriati anche ruoli come “verificatore dell’accuratezza dei fatti” o “esperto in materia”.

Se scegli di includere una definizione di ruolo, dovrebbe essere la prima sezione del prompt. L’esempio seguente mostra una definizione di ruolo di esempio.

Esempio definizione di ruolo
You are a professional editor who is familiar with the requirements of commonly-used style manuals.

Definizione di attività

La definizione di attività è la sezione più importante del prompt e definisce l’attività che deve essere eseguita dal modello di valutatore. La definizione di attività deve fornire istruzioni dettagliate sull’attività di valutazione (consigliamo un minimo di 15 parole) ed essere specifica sugli aspetti su cui concentrarsi e su come strutturare la valutazione.

La definizione di attività deve essere immediatamente successiva alla definizione di ruolo, se scegli di includerne una.

Per indicazioni più generali su come strutturare i prompt per i modelli LLM, consulta Progettare un prompt.

L’esempio seguente mostra una definizione di attività per un parametro incentrata sull’aderenza delle risposte del sistema RAG a una particolare guida di stile.

Esempio definizione di task
You are provided a prompt and a response from a RAG system. The prompt asks the RAG system to follow the Chicago Manual of Style when generating its responses. Your task is to assess how closely the text in the response adheres to the style guide. Focus in particular on grammar, prose style, and citation requirements.

Criterio e rubrica

Questa sezione è facoltativa e può essere utilizzata per definire più rubriche di valutazione o fornire linee guida dettagliate per il punteggio del parametro. Questa sezione deve essere aggiunta tra la definizione di attività e le variabili di input. Gli esempi seguenti mostrano una rubrica di valutazione e linee guida per il punteggio per l’attività specificata nella definizione di attività di esempio fornita. È possibile includere uno o entrambi questi tipi di informazioni in questa sezione del prompt.

Esempio rubrica di valutazione
When evaluating the response quality, consider the following: - Grammar: Does the grammar in the response follow the requirements of the style guide - Style consistency: Does the response maintain consistent capitalization, punctuation, and paragraph formatting - Citations: Does the response use the correct citation style for in-text citations and endnotes
Esempio linee guida per il punteggio
Please rate the quality of the response on the following scale: - Poor: Response includes errors in citation, grammar, or usage - Acceptable: Response includes only minor formatting errors - Good: Response meets all requirements of the style guide

Quando crei un processo di valutazione che utilizza LLM-as-a-judge, nella Console di gestione AWS o utilizzando l’AWS CLI o uno degli SDK AWS, puoi specificare uno schema di output per Amazon Bedrock per valutare le risposte dal modello di generatore. Assicurati che le definizioni specificate per lo schema di output siano coerenti con le linee guida per il punteggio definite nel prompt. Ad esempio, nell’esempio precedente specificheresti le definizioni per lo schema di output come “Poor”, “Acceptable” e “Good”. Per ulteriori indicazioni sulla definizione degli schemi di output, consulta Definizione di uno schema di output (scala di valutazione).

Variabili input

La sezione finale del prompt specifica le variabili necessarie al modello di valutazione per eseguire la valutazione. È necessario specificare le variabili di input per ultime: se fornisci ulteriori istruzioni nel prompt dopo le variabili di input, il modello di valutazione potrebbe non valutare correttamente i parametri.

Le variabili di input minime da specificare dipendono dal tipo di processo di valutazione che si crea. Per un processo di solo recupero, è necessario fornire {{context}}, mentre per un processo di recupero e generazione, è necessario fornire {{prediction}}. In entrambi i casi, consigliamo di includere anche il prompt fornito al modello di generatore {{prompt}}. La tabella seguente definisce le variabili che è possibile utilizzare nel prompt e il modo in cui corrispondono alle proprietà del set di dati di prompt.

Variabile di input Definizione Obbligatoria (solo recupero) Obbligatoria (recupero e generazione) Proprietà del set di dati di prompt
{{prompt}} Prompt fornito al sistema RAG No No "prompt"
{{prediction}} Risposta fornita dal modello di generatore di risposte (disponibile solo per i processi di recupero e generazione) No "output" -> "text" (applicabile solo ai processi in cui l’utente fornisce i propri dati di inferenza)
{{ground_truth}} Risposta di riferimento per il prompt No No "referenceResponses" -> "content" -> "text"
{{context}} Passaggi RAG ricevuti per la generazione della risposta No "retrievalResults" -> "content" -> "text"
{{reference_contexts}} Passaggi Ground Truth che ti aspetteresti di recuperare No No referenceContexts -> "content" -> "text"

L’esempio seguente illustra come specificare le variabili di input in un prompt.

Esempio definizione delle variabili di input
Here is the actual task: Prompt: {{prompt}} Response: {{prediction}}

Per completezza, l’intero prompt per questo caso d’uso è fornito nell’esempio seguente. Un prompt completo può avere una lunghezza massima di 5.000 caratteri.

Esempio prompt di metriche personalizzate
You are a professional editor who is familiar with the requirements of commonly-used style manuals. You are provided a prompt and a response from a RAG system. The prompt asks the RAG system to follow the Chicago manual of style when generating its responses. Your task is to assess how closely the text in the response adheres to the style guide. Focus in particular on grammar, prose style, and citation requirements. When evaluating the response quality, consider the following: - Grammar: Does the grammar in the response follow the requirements of the style guide - Style consistency: Does the response maintain consistent capitalization, punctuation, and paragraph formatting - Citations: Does the response use the correct citation style for in-text citations and endnotes Please rate the quality of the response on the following scale: - Poor: Response includes errors in citation, grammar, or usage - Acceptable: Response includes only minor formatting errors - Good: Response meets all requirements of the style guide Here is the actual task: Prompt: {{prompt}} Response: {{prediction}}

Definizione di uno schema di output (scala di valutazione)

Oltre alle linee guida di valutazione contenute nel prompt, quando crei un processo di valutazione con un parametro personalizzato, puoi definire una scala di valutazione per il parametro specificando uno schema di output. Questo schema è composto da valori di scala e dalle definizioni corrispondenti. I valori di scala possono essere valori numerici o stringhe, ma non una combinazione di entrambi.

Si consiglia di definire una scala di valutazione. In caso contrario, Amazon Bedrock potrebbe non essere in grado di analizzare correttamente gli output del modello di valutatore per visualizzare i risultati graficamente nella console o per calcolare i punteggi medi. Puoi definire una scala di valutazione quando crei un parametro utilizzando la console o la proprietà ratingScale se crei il parametro utilizzando un componente SDK AWS o la AWS CLI.

Quando definisci una scala di valutazione, Amazon Bedrock aggiunge istruzioni di output strutturate al prompt del modello di valutatore. Poiché il formato per l’output strutturato è diverso tra i modelli valutatori, è importante definire la scala di valutazione separatamente e non includerla come parte del prompt principale. Se crei il parametro e definisci una scala di valutazione nella console, puoi visualizzare il prompt finale che include le istruzioni di output strutturato nell’area di testo di anteprima.

Quando fornisci la definizione per ogni valore di scala, assicurati che le definizioni utilizzate nella definizione dello schema di output corrispondano esattamente al modo in cui hai definito le linee guida per il punteggio nel prompt. Queste definizioni devono contenere un massimo di 5 parole e sono limitate a 100 caratteri. Evita di utilizzare articoli (determinativi e indeterminativi) nella definizione. È possibile utilizzare il testo esplicativo nel prompt per fornire al modello di valutazione una definizione più dettagliata di come valutare le risposte.

La tabella seguente illustra come descrivere le linee guida per il punteggio nel prompt e come definire la definizione di scala corrispondente nello schema di output.

Linee guida per il punteggio di prompt Valore della scala dello schema Definizione della scala dello schema
- Poor: The response fails to meet the basic requirements of the prompt and contains significant errors and omissions 0 Poor
- Good: The response adequately meets the basic requirements of the prompt but may contain minor errors or omissions 1 Good
- Excellent: The response fully meets the prompt with comprehensive, accurate, and valuable information 2 Excellent

Questo esempio utilizza valori interi per la scala, ma è possibile utilizzare anche stringhe.

Per informazioni su come specificare lo schema quando si crea un processo di valutazione, consulta Creare un processo di valutazione dei modelli utilizzando metriche personalizzate.

Creazione di un file JSON per creare un parametro personalizzato

Quando crei un processo di valutazione che utilizza parametri personalizzati nella console, hai la possibilità di caricare un file JSON dal tuo computer locale che definisce il parametro. Se scegli di utilizzare un file JSON per creare un parametro personalizzato utilizzando la console, non puoi definire una scala di valutazione utilizzando le aree di testo nell’interfaccia utente della console, quindi devi includerla nella definizione JSON. Consigliamo di definire sempre una scala di valutazione quando crei parametri personalizzati.

Gli esempi seguenti mostrano i formati di file JSON per la creazione di un parametro personalizzato con una scala di valutazione numerica o di stringa oppure senza scala di valutazione. In ogni caso, aggiungi il prompt completo come stringa nella proprietà "instructions".

Quando crei un processo di valutazione con uno o più parametri personalizzati, Amazon Bedrock archivia le definizioni dei parametri come file JSON nel bucket S3 di output specificato. Puoi accedere a questi file dal percorso s3://S3-output-bucket-name/job-name/job-uuid/custom_metrics.

Definition with numerical scale
{ "customMetricDefinition": { "metricName": "my_custom_metric", "instructions": "Your complete custom metric prompt including at least one {{input variable}}", "ratingScale": [ { "definition": "first rating definition", "value": { "floatValue": 3 } }, { "definition": "second rating definition", "value": { "floatValue": 2 } }, { "definition": "third rating definition", "value": { "floatValue": 1 } } ] } }
Definition with string scale
{ "customMetricDefinition": { "metricName": "my_custom_metric", "instructions": "Your complete custom metric prompt including at least one {{input variable}}", "ratingScale": [ { "definition": "first rating definition", "value": { "stringValue": "first value" } }, { "definition": "second rating definition", "value": { "stringValue": "second value" } }, { "definition": "third rating definition", "value": { "stringValue": "third value" } } ] } }
Definition with no scale
{ "customMetricDefinition": { "metricName": "my_custom_metric", "instructions": "Your complete custom metric prompt including at least one {{input variable}}" } }