View a markdown version of this page

Preparazione dei dati per SFT su Amazon Nova 2 - Amazon Nova

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à.

Preparazione dei dati per SFT su Amazon Nova 2

SFT su Amazon Nova 2 supporta la comprensione di testo, immagini, video e documenti, nonché la chiamata agli strumenti, con o senza supporto di motivazione. Questa pagina descrive i vincoli, i formati supportati e le best practice per la preparazione dei dati di formazione SFT per i modelli Amazon Nova 2 Understanding.

Suggerimento

Per convalidare il formato del set di dati prima di iniziare un processo di formazione, consulta. Strumenti di convalida

Formato dei dati

I dati SFT di Amazon Nova 2 utilizzano lo stesso formato API Converse di Amazon Nova 1, con l'aggiunta di campi opzionali di ragionamento.

Ogni riga del file di training JSONL è un oggetto JSON con i seguenti campi di primo livello. Espandi una sezione per saperne di più:

Obbligatorio. Il messages campo è una serie di oggetti messaggio, ognuno dei quali definisce una svolta nella conversazione. Un oggetto messaggio contiene i seguenti campi:

  • ruolo — Obbligatorio. Definisce se il messaggio proviene da user (il prompt inviato al modello) o assistant (la risposta del modello). Il primo turno deve essereuser, l'ultimo deve essere e assistant i turni devono alternarsi.

  • contenuto: obbligatorio. Una serie di blocchi di contenuto per questo turno.

Il content campo è mappato a una serie di blocchi di contenuto. I dati SFT di Amazon Nova 2 supportano i seguenti blocchi:

text

Una stringa che specifica il contenuto testuale. Supportata in entrambi user i assistant turni.

Quanto segue mostra un esempio di oggetto messaggio con un content array contenente solo un blocco di text contenuto:

{ "role": "user", "content": [ { "text": "string" } ] }
image

Un oggetto immagine che ne specifica il formato e la posizione S3. Supportato solo a turni. user

Quanto segue mostra un esempio di oggetto messaggio con un array di contenuti contenente solo un blocco di contenuto di immagini:

{ "role": "user", "content": [ { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-image.jpg", "bucketOwner": "account-id" } } } } ] }
video

Un oggetto video che ne specifica il formato e la posizione S3. Supportato solo a turni. user

Quanto segue mostra un esempio di oggetto messaggio con un array di contenuti contenente solo un blocco di contenuto video:

{ "role": "user", "content": [ { "video": { "format": "mp4", "source": { "s3Location": { "uri": "s3://your-bucket/your-video.mp4", "bucketOwner": "account-id" } } } } ] }
document

Un oggetto documento che ne specifica il formato e la posizione S3. Supportato solo a turni. user

Di seguito viene mostrato un esempio di oggetto messaggio con un array di contenuti contenente solo un blocco di contenuto del documento:

{ "role": "user", "content": [ { "document": { "format": "pdf", "source": { "s3Location": { "uri": "s3://your-bucket/your-document.pdf", "bucketOwner": "account-id" } } } } ] }
reasoningContent

Un oggetto di traccia che ragiona. Supportato solo a assistant turni. È supportato solo il ragionamento basato su testo; il contenuto di ragionamento basato su immagini non è supportato.

Quanto segue mostra un esempio di oggetto message con un array di contenuti contenente solo un blocco di contenuto razionalizzato:

{ "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "string" } } }, { "text": "final answer" } ] }
toolUse

Un oggetto di invocazione di uno strumento. Supportato solo a turni. assistant toolUseIdDeve essere univoco per conversazione e name deve corrispondere a uno strumento definito intoolConfig.

Di seguito viene mostrato un esempio di oggetto messaggio con un array di contenuti contenente solo un blocco di contenuto che utilizza uno strumento:

{ "role": "assistant", "content": [ { "toolUse": { "toolUseId": "unique-id", "name": "tool-name", "input": { ... } } } ] }
toolResult

Un oggetto risultato dello strumento. Supportato solo a user turni. Ciascuno toolUseId deve fare riferimento a un precedente toolUse ed essere utilizzato esattamente una volta. Il contenuto deve essere solo testo o JSON.

Di seguito viene mostrato un esempio di oggetto messaggio con un array di contenuti contenente solo un blocco di contenuto dei risultati dello strumento:

{ "role": "user", "content": [ { "toolResult": { "toolUseId": "matching-id", "content": [ { "text": "result" } ] } } ] }

Un array opzionale che definisce un prompt di sistema: istruzioni o contesto per il modello sull'attività che deve eseguire o sulla persona che deve adottare. Utilizzate lo stesso prompt di sistema sia durante l'addestramento che durante l'inferenza per ottenere i migliori risultati.

"system": [ { "text": "You are a helpful assistant." } ]

Un oggetto opzionale che definisce gli strumenti disponibili per il modello da utilizzare durante la conversazione. Ogni strumento è definito con un nome, una descrizione e uno schema JSON per i suoi parametri di input.

"toolConfig": { "tools": [ { "toolSpec": { "name": "tool-name", "description": "tool-description", "inputSchema": { "json": { "type": "object", "properties": { "param": { "type": "string", "description": "param-description" } }, "required": ["param"] } } } } ] }

Obbligatorio. Un campo stringa che identifica la versione dello schema. Può essere qualsiasi valore di stringa.

"schemaVersion": "bedrock-conversation-2024"

Convalida dei dati

Prima di inviare il lavoro di formazione, convalida il set di dati per individuare tempestivamente i problemi di formattazione. Per gli strumenti di convalida disponibili, vedere. Strumenti di convalida

Input di esempio

I seguenti sono oggetti JSON di esempio completi che mostrano come combinare i campi e i blocchi di contenuto per diverse modalità.

Text-only (Nova 1.0 compatible)
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What country is right next to Australia?" } ] }, { "role": "assistant", "content": [ { "text": "The closest country is New Zealand" } ] } ] }
Image + text input
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a helpful assistant." } ], "messages": [ { "role": "user", "content": [ { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } }, { "text": "Which country is highlighted in the image?" } ] }, { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "I will determine the highlighted country by examining its location on the map and using my geographical knowledge" } } }, { "text": "The highlighted country is New Zealand" } ] } ] }
Video + text input
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a helpful assistant." } ], "messages": [ { "role": "user", "content": [ { "video": { "format": "mp4", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-video.mp4", "bucketOwner": "your-aws-account-id" } } } }, { "text": "What is shown in this video?" } ] }, { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "I will analyze the video content to identify key elements" } } }, { "text": "The video shows a map with New Zealand highlighted" } ] } ] }
Document + text input
{ "schemaVersion": "bedrock-conversation-2024", "messages": [ { "role": "user", "content": [ { "text": "What are the ways in which a customer can experience issues during checkout on Amazon?" }, { "document": { "format": "pdf", "source": { "s3Location": { "uri": "s3://my-bucket-name/path/to/documents/customer_service_debugging.pdf", "bucketOwner": "123456789012" } } } } ] }, { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "I need to find the relevant section in the document to answer the question." } } }, { "text": "Customers can experience issues with 1. Data entry, 2. Payment methods, 3. Connectivity while placing the order. Which one would you like to dive into?" } ] } ] }
Text with tool calling
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an expert in composing function calls." } ], "toolConfig": { "tools": [ { "toolSpec": { "name": "getItemAvailability", "description": "Retrieve whether an item is available in a given location", "inputSchema": { "json": { "type": "object", "properties": { "zipcode": { "type": "string", "description": "The zipcode of the location to check in" }, "quantity": { "type": "integer", "description": "The number of items to check availability for" }, "item_id": { "type": "string", "description": "The ASIN of item to check availability for" } }, "required": ["item_id", "zipcode"] } } } } ] }, "messages": [ { "role": "user", "content": [ { "text": "I need to check whether there are twenty pieces of the following item available. Here is the item ASIN on Amazon: id-123. Please check for the zipcode 94086" } ] }, { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "The user wants to check how many pieces of the item with ASIN id-123 are available in the zipcode 94086" } } }, { "toolUse": { "toolUseId": "getItemAvailability_0", "name": "getItemAvailability", "input": { "zipcode": "94086", "quantity": 20, "item_id": "id-123" } } } ] }, { "role": "user", "content": [ { "toolResult": { "toolUseId": "getItemAvailability_0", "content": [ { "text": "[{\"name\": \"getItemAvailability\", \"results\": {\"availability\": true}}]" } ] } } ] }, { "role": "assistant", "content": [ { "text": "Yes, there are twenty pieces of item id-123 available at 94086. Would you like to place an order or know the total cost?" } ] } ] }
Text with reasoning
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What country is right next to Australia?" } ] }, { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "I need to use my world knowledge of geography to answer this question" } } }, { "text": "The closest country to Australia is New Zealand, located to the southeast across the Tasman Sea." } ] } ] }

Funzionalità supportate

La tabella seguente confronta il supporto delle funzionalità per SFT tra le versioni del modello Nova.

Supporto delle funzionalità SFT per versione del modello
Funzionalità SFT su Nova 2.0
Comprensione del testo Supportato su Nova 2.0 Lite. Consulta General/Text comprensione.
Comprensione delle immagini Supportato su Nova 2.0 Lite. Consulta Comprensione delle immagini.
Comprensione dei video Supportato su Nova 2.0 Lite. Consulta Comprensione dei video.
Comprensione dei documenti Supportato su Nova 2.0 Lite. Consulta Comprensione dei documenti.
Chiamata tramite strumenti Supportato su Nova 2.0 Lite. Consulta Chiamata dello strumento.
Ragionamento Supportato su Nova 2.0 Lite. Consulta Ragionamento.

General/Text comprensione

Questa sezione riassume i vincoli generali per la preparazione dei dati di formazione SFT su Amazon Nova 2.

Vincoli

Vincoli generali dei set di dati
Vincolo Informazioni
Formato del set di dati JSONL (un oggetto JSON per riga). I nomi dei file possono essere composti solo da caratteri alfanumerici, trattini bassi, trattini, barre e punti.
Numero minimo di campioni 8
Numero massimo di campioni 20.000
Lunghezza del contesto 32.000
Omogeneità del set di dati Un set di dati non può combinare diverse modalità multimediali. Usa testo con immagini, testo con video o testo con documenti, ma non una combinazione.
Parole chiave riservate User:,Bot:,Assistant:,System:,<image>,<video>,[EOS]. I prompt contenenti queste parole chiave causeranno il fallimento del processo di formazione. Sostituiscili con parole chiave diverse con significati simili.

Best practice

  • La dimensione minima dei dati per l'ottimizzazione dipende dall'attività (complessa o semplice), ma ti consigliamo di avere almeno 200 campioni per ogni attività che desideri che il modello apprenda.

  • Ti consigliamo di utilizzare il prompt ottimizzato con un’impostazione zero-shot durante l’addestramento e l’inferenza per ottenere i migliori risultati.

  • Dai priorità alla qualità rispetto alla quantità. Alcune centinaia di esempi coerenti e di alta qualità in genere superano migliaia di esempi rumorosi o contraddittori.

Esempio di input

  • schemaVersion può essere qualsiasi valore di stringa

  • I ruoli supportati sono user e assistant. Il turno system (opzionale) può essere un prompt di sistema personalizzato fornito dal cliente.

  • Il primo turno in messages deve sempre iniziare con "role": "user". L'ultimo turno è la risposta del bot, indicata con"role": "assistant".

{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What country is right next to Australia?" } ] }, { "role": "assistant", "content": [ { "text": "The closest country is New Zealand" } ] } ] }

Comprensione delle immagini

SFT supporta la formazione su attività basate su immagini, consentendo al modello di imparare ad analizzare e rispondere alle domande sulle immagini.

Vincoli

Vincoli relativi all'immagine
Vincolo Informazioni
Formati supportati PNG, JPEG, GIF, WebP
Numero massimo di immagini per campione 10
Dimensione massima dei file di immagine 10 MB
Omogeneità del set di dati Un campione può contenere immagini e testo, ma non può avere immagini combinate con altre modalità (video, documenti).
Percorso S3 image.source.s3Location.uriDeve trovarsi nello stesso bucket Amazon S3 del set di dati. Ad esempio, se il set di dati si trova in s3://amzn-s3-demo-bucket/train/train.jsonl, le immagini o i video devono essere in s3://amzn-s3-demo-bucket

Best practice

  • Assicurati che le immagini siano di alta qualità e pertinenti all'attività.

  • Fornisci diversi esempi riguardanti diversi tipi di immagini e formati di domande.

  • Includi domande chiare che facciano riferimento ad aspetti specifici del contenuto dell'immagine.

Esempio di input

{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a helpful assistant." } ], "messages": [ { "role": "user", "content": [ { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } }, { "text": "Which country is highlighted in the image?" } ] }, { "role": "assistant", "content": [ { "text": "The highlighted country is New Zealand" } ] } ] }

Comprensione dei video

SFT supporta la formazione su attività basate su video, consentendo al modello di imparare ad analizzare e rispondere alle domande sui contenuti video.

Vincoli

Vincoli relativi ai video
Vincolo Informazioni
Formati supportati MOV, MKV, MP4, WebM
Numero massimo di video per campione 1
Dimensione massima dei file video 50 MB
Durata massima del video 15 minuti
Omogeneità del set di dati Un campione può contenere video e testo, ma non può avere video combinato con altre modalità (immagini, documenti).
Percorso S3 video.source.s3Location.uriDeve trovarsi nello stesso bucket Amazon S3 del set di dati. Ad esempio, se il tuo set di dati è presentes3://amzn-s3-demo-bucket/train/train.jsonl, allora i tuoi video devono esserci s3://amzn-s3-demo-bucket

Best practice

  • Mantieni i video concisi e concentrati sui contenuti pertinenti alla tua attività.

  • Assicurati che la qualità video sia sufficiente per consentire al modello di estrarre informazioni significative.

  • Fornisci domande chiare che facciano riferimento ad aspetti specifici del contenuto video.

  • Includi diversi esempi riguardanti diversi tipi di video e formati di domande.

Esempio di input

{ "schemaVersion": "bedrock-conversation-2024", "messages": [ { "role": "user", "content": [ { "text": "What are the ways in which a customer can experience issues during checkout on Amazon?" }, { "video": { "format": "mp4", "source": { "s3Location": { "uri": "s3://my-bucket-name/path/to/videos/customer_service_debugging.mp4", "bucketOwner": "123456789012" } } } } ] }, { "role": "assistant", "content": [ { "text": "Customers can experience issues with 1. Data entry, 2. Payment methods, 3. Connectivity while placing the order. Which one would you like to dive into?" } ] } ] }

Comprensione dei documenti

SFT supporta la formazione sulle attività basate sui documenti, consentendo al modello di imparare ad analizzare e rispondere alle domande sui documenti PDF.

Vincoli

Vincoli relativi ai documenti
Vincolo Informazioni
Formato supportato PDF
Dimensione massima del documento 10 MB
Omogeneità del set di dati Un campione può contenere documenti e testo, ma non può contenere documenti mescolati con altre modalità (immagini, video).
Percorso S3 document.source.s3Location.uriDeve trovarsi nello stesso bucket Amazon S3 del set di dati. Ad esempio, se il tuo set di dati è presentes3://amzn-s3-demo-bucket/train/train.jsonl, i tuoi documenti devono essere presenti s3://amzn-s3-demo-bucket

Best practice

  • Assicurati che i documenti siano formattati in modo chiaro e che il testo sia estraibile.

  • Fornisci diversi esempi riguardanti diversi tipi di documenti e formati di domande.

  • Includi contenuti di ragionamento per aiutare il modello ad apprendere i modelli di analisi dei documenti.

Esempio di input

{ "schemaVersion": "bedrock-conversation-2024", "messages": [ { "role": "user", "content": [ { "text": "What are the ways in which a customer can experience issues during checkout on Amazon?" }, { "document": { "format": "pdf", "source": { "s3Location": { "uri": "s3://my-bucket-name/path/to/documents/customer_service_debugging.pdf", "bucketOwner": "123456789012" } } } } ] }, { "role": "assistant", "content": [ { "text": "Customers can experience issues with 1. Data entry, 2. Payment methods, 3. Connectivity while placing the order. Which one would you like to dive into?" } ] } ] }

Chiamata dello strumento

SFT supporta i modelli di addestramento sui modelli di chiamata degli strumenti, consentendo al modello di apprendere quando e come richiamare strumenti o funzioni esterni.

Vincoli

Vincoli di chiamata agli strumenti
Vincolo Informazioni
Formati supportati Testo o JSON per i contenuti ToolResult
ToolUse posizionamento ToolUse deve comparire solo nei turni di assistente
ToolResult collocamento ToolResult deve apparire solo nei turni dell'utente
Formato InputSchema L'InputSchema all'interno di ToolSpec deve essere un oggetto JSON Schema valido
UseId corrispondenza degli strumenti Ciascuno ToolResult deve fare riferimento a uno strumento valido fornito UseId dall'assistente ToolUse precedente e ogni strumento deve UseId essere utilizzato esattamente una volta per conversazione

Best practice

  • Assicurati che le definizioni degli strumenti siano coerenti in tutti gli esempi di formazione.

  • Il modello apprende i modelli di richiamo degli strumenti dalle dimostrazioni fornite.

  • Includi diversi esempi di quando usare ogni strumento e quando non usarlo.

Esempio di input

{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an expert in composing function calls." } ], "toolConfig": { "tools": [ { "toolSpec": { "name": "getItemAvailability", "description": "Retrieve whether an item is available in a given location", "inputSchema": { "json": { "type": "object", "properties": { "zipcode": { "type": "string", "description": "The zipcode of the location to check in" }, "quantity": { "type": "integer", "description": "The number of items to check availability for" }, "item_id": { "type": "string", "description": "The ASIN of item to check availability for" } }, "required": ["item_id", "zipcode"] } } } } ] }, "messages": [ { "role": "user", "content": [ { "text": "I need to check whether there are twenty pieces of the following item available. Here is the item ASIN on Amazon: id-123. Please check for the zipcode 94086" } ] }, { "role": "assistant", "content": [ { "toolUse": { "toolUseId": "getItemAvailability_0", "name": "getItemAvailability", "input": { "zipcode": "94086", "quantity": 20, "item_id": "id-123" } } } ] }, { "role": "user", "content": [ { "toolResult": { "toolUseId": "getItemAvailability_0", "content": [ { "text": "[{\"name\": \"getItemAvailability\", \"results\": {\"availability\": true}}]" } ] } } ] }, { "role": "assistant", "content": [ { "text": "Yes, there are twenty pieces of item id-123 available at 94086. Would you like to place an order or know the total cost?" } ] } ] }

Ragionamento

Il contenuto del ragionamento (chiamato anche catena di pensiero) cattura le fasi di pensiero intermedie del modello prima di generare una risposta definitiva.

Vincoli

Vincoli di ragionamento
Vincolo Informazioni
Formato supportato Solo testo. Image-based i contenuti di ragionamento non sono supportati.
Placement L'assistente si limita a turni, tramite il reasoningContent campo.
Formattazione Usa testo semplice. Evita i tag di markup come <thinking> e </thinking> a meno che non siano specificamente richiesti dalla tua attività.

Best practice

  • High-quality il contenuto del ragionamento dovrebbe includere pensieri intermedi, deduzioni logiche, approcci dettagliati per la risoluzione dei problemi e connessioni esplicite tra fasi e conclusioni.

  • Puoi includere più turni di assistente in conversazioni a più turni. reasoningContent

  • Se il tuo set di dati è privo di tracce di ragionamento, puoi crearle utilizzando un modello in grado di ragionare come Nova Premier.

Esempio di input

{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What country is right next to Australia?" } ] }, { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "I need to use my world knowledge of geography to answer this question" } } }, { "text": "The closest country to Australia is New Zealand, located to the southeast across the Tasman Sea." } ] } ] }

Note aggiuntive

Come viene calcolata la perdita:

  • Con contenuti di ragionamento: la perdita di formazione include sia i token di ragionamento che i token di output finale.

  • Senza contenuti di ragionamento: la perdita di formazione viene calcolata solo sui token di output finali.

Imposta reasoning_enabled: true nella tua configurazione di addestramento quando i dati di addestramento contengono token di ragionamento, vuoi che il modello generi token di pensiero prima di produrre i risultati finali o hai bisogno di prestazioni migliorate in attività di ragionamento complesse.

Imposta reasoning_enabled: false quando i tuoi dati di allenamento non dispongono di token di ragionamento, ti stai allenando su attività semplici che non traggono beneficio da passaggi di ragionamento espliciti, oppure desideri ottimizzare la velocità e ridurre l'uso dei token.

È consentito addestrare Nova su un set di dati non razionale con. reasoning_enabled = true Tuttavia, ciò potrebbe far perdere al modello le sue capacità di ragionamento, poiché Nova impara principalmente a generare le risposte presentate nei dati senza applicare il ragionamento. In generale, abilita il ragionamento sia per l'addestramento che per l'inferenza quando si utilizzano set di dati di ragionamento e disabilitalo per entrambi quando si utilizzano set di dati non di ragionamento.

Progettazione di esempi di formazione efficaci

I dati di addestramento dovrebbero dimostrare il comportamento che desideri che il modello mostri. SFT insegna al modello come rispondere, non cosa sapere. Se ti ritrovi a creare esempi di formazione principalmente per inserire conoscenze fattuali (ad esempio, «Cosa significa codice di errore?» E-45 con la risposta "E-45 indica un timeout del sensore»), valutate se RAG o Prompt Engineering potrebbero ottenere lo stesso risultato senza una messa a punto.

Quando converti i dati di origine nel formato conversazionale, segui questi principi:

  1. Inizia da domande di utenti reali. L'utente di scrittura fa sì che rispecchi il modo in cui gli utenti finali richiederanno effettivamente il modello in produzione. Evita domande artificiali o eccessivamente semplificate che non riflettono modelli di utilizzo reali.

  2. Scrivi risposte di assistenza all'avanguardia. Ogni turno dell'assistente dovrebbe essere la risposta ideale che desideri che il modello produca: corretta, ben formattata e coerente nel tono e nella struttura in tutti gli esempi.

  3. Usa il prompt del sistema in modo strategico. Inserisci istruzioni permanenti come il formato di output, la persona e il contesto del dominio nel turno di sistema. Utilizzate lo stesso prompt di sistema sia durante l'addestramento che durante l'inferenza per ottenere i migliori risultati.

  4. Mantieni gli esempi concentrati su un'abilità per campione. Se hai bisogno del modello per classificare, rispondere alle domande e riepilogare, crea set di esempi separati per ciascuna abilità anziché combinare più competenze in un unico campione.

  5. Dai priorità alla qualità rispetto alla quantità. Alcune centinaia di esempi coerenti e di alta qualità in genere superano migliaia di esempi rumorosi o contraddittori. Deduplica e rivedi i tuoi dati prima dell'allenamento.

Schemi comuni di trasformazione dei dati

I modelli seguenti illustrano come convertire i formati di dati aziendali comuni in efficaci esempi di formazione SFT.

Modello 1: record strutturati per la classificazione o la ricerca

Quando i dati di origine sono una tabella o un database di record con campi quali, e issue causeresolution, inquadra ogni record come una domanda dell'utente con i campi di input pertinenti e la risposta dell'assistente come campi di output di destinazione.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a technical support assistant. Given an issue description, identify the most likely root cause and recommended resolution." } ], "messages": [ { "role": "user", "content": [ { "text": "A user reports: 'Application crashes on startup after the latest update.' What is the likely cause and resolution?" } ] }, { "role": "assistant", "content": [ { "text": "Cause: Incompatible configuration file from the previous version.\nResolution: Delete the local configuration cache and restart the application to regenerate default settings." } ] } ] }
Schema 2: dati gerarchici o tassonomici su Q A strutturato &amp;

Quando i dati di origine sono una gerarchia di codice o una tassonomia, ad esempio alberi di categorie di prodotti o sistemi di classificazione, genera domande che chiedano al modello di navigare nella gerarchia. Includete il contesto di classificazione nel prompt del sistema o nel turno dell'utente.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a product catalog assistant. Answer questions about product categories and classifications accurately." } ], "messages": [ { "role": "user", "content": [ { "text": "What top-level category does product code 'EL-4520' belong to, and what subcategories does it include?" } ] }, { "role": "assistant", "content": [ { "text": "Product code EL-4520 belongs to the Electronics category. It includes the subcategories: Audio Equipment, Portable Speakers, and Wireless Accessories." } ] } ] }
Schema 3: dai documenti procedurali al dialogo didattico

Quando i dati di origine sono costituiti da procedure operative standard, runbook o guide dettagliate, converti le procedure in domande orientate alle attività. L'utente chiede come eseguire un'operazione e l'assistente fornisce i passaggi in un formato coerente.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an IT operations assistant. Provide step-by-step instructions based on approved runbooks and standard operating procedures." } ], "messages": [ { "role": "user", "content": [ { "text": "How do I reset a user's multi-factor authentication when they have lost access to their device?" } ] }, { "role": "assistant", "content": [ { "text": "Follow these steps to reset a user's multi-factor authentication:\n1. Verify the user's identity using the approved verification procedure.\n2. Disable the existing MFA configuration in the identity management console.\n3. Generate a new temporary access code and send it to the user's verified email.\n4. Instruct the user to log in with the temporary code and re-enroll their new device.\n5. Confirm the new MFA device is working by requesting a test authentication.\n6. Document the reset in the support ticket." } ] } ] }
Nota

Nei modelli 1 e 2, se il contenuto fattuale (come codici, categorie o risoluzioni) non è già presente nei dati di pre-addestramento del modello, valuta la possibilità di utilizzare RAG per fornire queste informazioni al momento dell'inferenza anziché affidarsi esclusivamente a SFT per memorizzarle. La SFT è più efficace per insegnare al modello il formato di risposta e il modello di ragionamento, mentre RAG si occupa della base fattuale.