Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Préparation de votre jeu de données d’entrée
Note
Des exemples complets et des carnets de notes sont disponibles sur Amazon Bedrock Samples. GitHub
Format de fichier
Le fichier d'entrée utilise le format JSONL : un objet JSON par ligne. Chaque ligne représente un modèle d'invite à optimiser et ses champs associés. Vous fournissez un fichier d'entrée par tâche.
Référence du schéma
Dans cet ensemble de données rapide, vous allez également choisir la méthode d'évaluation pour piloter l'optimisation. Pour plus d'informations sur le choix d'une méthode d'évaluation, consultezDéfinition des méthodes d’évaluation.
{ "version": "bedrock-2026-05-14", "templateId": "string", "promptTemplate": "string", "steeringCriteria": ["string"], "customEvaluationMetricLabel": "string", "customLLMJConfig": { "customLLMJPrompt": "string", "customLLMJModelId": "string" }, "evaluationMetricLambdaArn": "string", "evaluationSamples": [ { "inputVariables": [ {"variableName1": "string"} ], "referenceResponse": "string", "inputVariablesMultimodal": [ { "Arbitrary_Name": { "type": "string", "s3Uri": "string" } } ] } ] }
Descriptions des champs
| # | Champ | Type | Obligatoire | Description |
|---|---|---|---|---|
| 1 | version | chaîne | Oui | Valeur fixe :"bedrock-2026-05-14". |
| 2 | templateId | chaîne | Oui | Identifiant unique pour ce modèle d'invite. Utilisé pour corréler les entrées et les sorties. |
| 3 | promptTemplate | chaîne | Oui | Le modèle rapide à optimiser. Utilisez {{variableName}} la syntaxe pour les espaces réservés aux variables. Vous pouvez éventuellement inclure des <advpo:exclude> balises <advpo:optimize> et pour contrôler les sections que l'optimiseur réécrit. Pour de plus amples informations, veuillez consulter Optimisation sélective. |
| 4 | steeringCriteria | liste de chaînes | Non | High-level critères d'optimisation (par exemple,["PROFESSIONAL"]). |
| 5 | customEvaluationMetricLabel | chaîne | Oui (si CustomLLMJConfig ou une évaluation MetricLambdaArn est utilisée) | Nom de votre métrique d'évaluation. |
| 6 | customLLMJConfig | objet | Non | LLM-as-Judge Configuration personnalisée. |
| 7 | customLLMJConfig.customLLMJPrompt | chaîne | Oui (si CustomLLMJConfig est présent) | L'invite du juge utilisée pour évaluer les réponses. Utilisez {{prompt}}{{response}}, {{referenceResponse}} comme espaces réservés. |
| 8 | customLLMJConfig.customLLMJModelId | chaîne | Oui (si CustomLLMJConfig est présent) | Identifiant du modèle Bedrock pour le modèle de juge. |
| 9 | evaluationMetricLambdaArn | chaîne | Non | ARN d'une fonction Lambda pour une évaluation personnalisée. |
| 10 | evaluationSamples | liste | Oui | Échantillons d'évaluation avec variables d'entrée et réponses de référence. |
| 11 | evaluationSamples[].inputVariables | liste d'objets | Oui (si vous ne l'utilisez pasinputVariablesMultimodal) | Single-key objets correspondant à des {{variableName}} espaces réservés. Au moins l'un inputVariables d'entre eux inputVariablesMultimodal doit être présent par échantillon. |
| 12 | evaluationSamples[].referenceResponse | chaîne | Non | Réponse de référence de base facultative. Recommandé pour de meilleurs résultats d'optimisation. |
| 13 | evaluationSamples[].inputVariablesMultimodal | liste d'objets | Oui (si vous ne l'utilisez pasinputVariables) | Entrées de fichiers multimodales. Au moins l'un inputVariables d'entre eux inputVariablesMultimodal doit être présent par échantillon. |
| 14 | evaluationSamples[].inputVariablesMultimodal[].Arbitrary_Name | objet | Oui (en cas de présence de modes multimodaux) | Donnez un nom à votre variable multimodale. Il s'agit d'un nom choisi arbitrairement par l'utilisateur. |
| 15 | evaluationSamples[].inputVariablesMultimodal[].Arbitrary_Name.type | chaîne | Oui (en cas de présence de modes multimodaux) | « IMAGE » ou « PDF ». IMAGE accepte les formats JPG, JPEG, PNG, GIF et WebP. |
| 16 | evaluationSamples[].inputVariablesMultimodal[].Arbitrary_Name.s3Uri | chaîne | Oui (en cas de présence de modes multimodaux) | Chemin d'URI S3 vers le fichier multimodal. |
Champs obligatoires
version: valeur fixe"bedrock-2026-05-14"templateId: identifiant de chaîne unique pour ce modèle d'invitepromptTemplate: l'invite à optimiser, en utilisant{{variableName}}pour les espaces réservésevaluationSamples: tableau de 1 à 100 échantillons
Variables d'espace réservé
Utilisez {{variableName}} la syntaxe (crochets doubles) pour les espaces réservés dans votre modèle d'invite. Les clés saisies inputVariables doivent correspondre exactement aux noms des espaces réservés. Chaque clé doit se trouver dans son propre objet de la liste. Maximum de 20 variables d'espace réservé au texte par modèle. Les variables d'espace réservé ne doivent pas être utilisées pour pointer vers l'emplacement S3 d'un fichier multimodal. Les variables d'espace réservé concernent uniquement le texte. Si vous avez des fichiers multimodaux, ils seront envoyés au modèle dans la charge utile avec l'invite de texte.
Exemples d'évaluation
Fournissez inputVariables sous forme de liste d'objets à clé unique :[{"variable1": "value1"}, {"variable2": "value2"}]. Ne mettez PAS plusieurs clés dans un seul objet. Fournissez éventuellement referenceResponse comme réponse de base pour de meilleurs résultats d'optimisation. Pour les entrées multimodales, utilisez le inputVariablesMultimodal tableau contenant Arbitrary_Name des objets. Les fichiers multimodaux sont envoyés au modèle dans la charge utile avec l'invite de texte. Les types pris en charge sont IMAGE (JPG, JPEG, PNG, GIF, WebP) et PDF, avec un maximum de 100 fichiers multimodaux par échantillon. Les entrées multimodales (images et PDF) sont envoyées dans la charge utile au modèle en même temps que l'invite, mais ne doivent pas être référencées dans une variable à double parenthèse. {{placeholder}}
Stratégie d'évaluation
Choisissez UNE méthode d'évaluation par modèle ou omettez tous les champs d'évaluation facultatifs pour la valeur par défaut du système (qui combine précision, exhaustivité des réponses et évaluation subjective du style d'écriture). Nous vous recommandons de définir votre propre méthode d'évaluation pour obtenir les meilleurs résultats. Vous pouvez utiliser différentes méthodes selon les modèles d'une même tâche. Consultez Définition des méthodes d’évaluation pour plus de détails.
Restrictions
Pour la liste complète des quotas, voirRégions, modèles et quotas pris en charge. Principales limites de la préparation des fichiers d'entrée :
Maximum de 10 modèles par tâche
Maximum de 100 échantillons d'évaluation par modèle
Maximum de 5 modèles par tâche
Maximum de 20 variables de texte par modèle
Maximum de 100 fichiers multimodaux par échantillon
Maximum de 5 critères de pilotage par modèle
Erreurs courantes
Fournissant à la fois
steeringCriteriaETcustomLLMJConfig/evaluationMetricLambdaArn= ValidationExceptionManquant
customEvaluationMetricLabellors de l'utilisation de LLMJ ou =evaluationMetricLambdaArnValidationExceptionPlusieurs clés dans un seul
inputVariablesobjet = échec silencieuxUtiliser des crochets simples comme
{variable}au lieu de crochets doubles comme{{variable}}Les
inputVariablesclés doivent correspondre aux{{variableName}}espaces réservés danspromptTemplateModèles LLMJ autorisés : anthropic.claude-opus-4-6-v1, anthropic.claude-sonnet-4-5-20250929-v 1:0, anthropic.claude-sonnet-4-6
Utiliser des entrées multimodales
Types de fichiers pris en charge : IMAGE (JPG, JPEG, PNG, GIF, WebP) et PDF.
Astuce
Pour les fichiers GIF et WebP, les modèles qui prennent en charge ces formats utilisent généralement uniquement la première image d'un fichier multi-images animé. Pour utiliser plusieurs images d'un fichier animé, divisez les images manuellement et incluez-les en tant que fichiers multimodaux distincts dans l'échantillon d'évaluation.
Comment inclure : utilisez le inputVariablesMultimodal tableau avec Arbitrary_Name les objets contenant type ets3Uri.
Limites : 100 fichiers multimodaux maximum par échantillon d'évaluation. Vous pouvez les mélanger pour obtenir jusqu'à 20 variables de texte et 100 fichiers multimodaux par enregistrement d'échantillon d'évaluation.
Mélanger du texte et du multimodal : vous pouvez avoir les deux inputVariables (texte) et les inclure inputVariablesMultimodal dans le même échantillon. Les doubles crochets {{placeholders}} sont réservés au texte en clair uniquement. Vous ne pouvez pas référencer des fichiers multimodaux via des espaces réservés. Les variables d'espace réservé ne doivent pas être utilisées pour pointer vers l'emplacement S3 d'un fichier multimodal. Si vous avez des fichiers multimodaux, ils seront envoyés au modèle dans la charge utile avec l'invite de texte.
Conseils relatifs aux ensembles de
Mélangez des exemples simples et concrets et faites correspondre ce que vous voyez dans le monde réel. All-easy les données n'incitent pas à l'amélioration ; les données complètes ne laissent rien à apprendre.
Couvrez les cas qui vous intéressent : le système généralise au-delà de ce qu'il voit, mais une distribution de données représentative lui permet de mieux généraliser aux entrées du monde réel.
Après une optimisation rapide, effectuez un test sur des données que l'optimiseur n'a pas vues avec un ensemble de données conservé, afin de confirmer que les gains sont réels et pas simplement mémorisés.
Exemples
Exemple 1 : modèle unique, variables multiples, échantillon d'évaluation unique, critères de pilotage
{ "version": "bedrock-2026-05-14", "templateId": "customer-support-v1", "promptTemplate": "You are a customer support agent.\n\nProduct info:\n{{productInfo}}\n\nQuestion:\n{{customerQuestion}}\n\nProvide a helpful response.", "steeringCriteria": ["PROFESSIONAL"], "evaluationSamples": [{ "inputVariables": [{"productInfo": "Product: Sony WH-1000XM5. Battery: 30 hours."}, {"customerQuestion": "How long does the battery last?"}], "referenceResponse": "The battery lasts up to 30 hours on a single charge." }] }
Exemple 2 : modèle unique, variables multiples, échantillons d'évaluation multiples, critères de pilotage
{ "version": "bedrock-2026-05-14", "promptTemplate": "You are a customer support agent for an electronics store.\n\nGiven the following product information:\n{{productInfo}}\n\nAnswer the customer's question:\n{{customerQuestion}}\n\nProvide a helpful, accurate, and concise response.", "templateId": "template-support-1", "steeringCriteria": ["PROFESSIONAL", "CONCISE"], "evaluationSamples": [ {"inputVariables": [{"productInfo": "Product: Sony WH-1000XM5 Headphones. Price: $349.99. Battery Life: 30 hours. Noise Cancellation: Yes, adaptive. Connectivity: Bluetooth 5.2, 3.5mm jack. Weight: 250g."}, {"customerQuestion": "How long does the battery last and can I use them wired?"}], "referenceResponse": "The Sony WH-1000XM5 headphones have a battery life of up to 30 hours on a single charge. And yes, they do come with a 3.5mm jack, so you can use them in wired mode as well."}, {"inputVariables": [{"productInfo": "Product: Sony WH-1000XM5 Headphones. Price: $349.99. Battery Life: 30 hours. Noise Cancellation: Yes, adaptive. Connectivity: Bluetooth 5.2, 3.5mm jack. Weight: 250g."}, {"customerQuestion": "Do these have noise cancellation?"}], "referenceResponse": "Yes, the Sony WH-1000XM5 headphones feature adaptive noise cancellation, which automatically adjusts the level of noise cancellation based on your environment."}, {"inputVariables": [{"productInfo": "Product: Apple MacBook Air M3. Price: $1,099. RAM: 8GB. Storage: 256GB SSD. Display: 13.6-inch Liquid Retina. Battery Life: Up to 18 hours."}, {"customerQuestion": "Is 8GB of RAM enough for video editing?"}], "referenceResponse": "The MacBook Air M3 comes with 8GB of unified memory. It can handle light video editing but you may want more RAM for heavy work."} ] }
Exemple 3 : deux modèles, une seule variable par invite, plusieurs échantillons, critères de pilotage
Cet exemple montre deux lignes dans le fichier JSONL (deux modèles d'invite dans une tâche).
{"version": "bedrock-2026-05-14", "promptTemplate": "You are a helpful assistant. Answer the following: {{question}}", "templateId": "template-qa-1", "steeringCriteria": ["ACCURATE"], "evaluationSamples": [{"inputVariables": [{"question": "What is 2+2?"}], "referenceResponse": "4"}, {"inputVariables": [{"question": "What is the largest planet in our solar system?"}], "referenceResponse": "Jupiter is the largest planet in our solar system."}]} {"version": "bedrock-2026-05-14", "promptTemplate": "Translate the following to French: {{text}}", "templateId": "template-translate-1", "steeringCriteria": ["PRECISE"], "evaluationSamples": [{"inputVariables": [{"text": "Hello, how are you?"}], "referenceResponse": "Bonjour, comment allez-vous?"}, {"inputVariables": [{"text": "Thank you very much."}], "referenceResponse": "Merci beaucoup."}]}
Exemple 4 : modèle unique, variables multiples, échantillons multiples, LLM-as-a-judge
{ "version": "bedrock-2026-05-14", "promptTemplate": "You are a customer support agent for an electronics store.\n\nGiven the following product information:\n{{productInfo}}\n\nAnswer the customer's question:\n{{customerQuestion}}\n\nProvide a helpful, accurate, and concise response.", "templateId": "template-llmj-1", "customEvaluationMetricLabel": "responseaccuracy", "evaluationSamples": [ {"inputVariables": [{"productInfo": "Product: Sony WH-1000XM5 Headphones. Price: $349.99. Battery Life: 30 hours. Noise Cancellation: Yes, adaptive."}, {"customerQuestion": "How long does the battery last?"}], "referenceResponse": "The Sony WH-1000XM5 headphones have a battery life of up to 30 hours on a single charge."}, {"inputVariables": [{"productInfo": "Product: Apple MacBook Air M3. Price: $1,099. RAM: 8GB. Storage: 256GB SSD."}, {"customerQuestion": "Is 8GB of RAM enough for video editing?"}], "referenceResponse": "The MacBook Air M3 comes with 8GB of unified memory. It can handle light video editing but you may want more RAM for heavy work."} ], "customLLMJConfig": { "customLLMJPrompt": "Evaluate how accurate the response is to the customer question. Consider whether the response uses only the provided product information and does not hallucinate details. Here is the information you are supposed to evaluate: \n\nPrompt: {{prompt}}\nResponse: {{response}}\n\n \n\n ground truth answer: {{referenceResponse}}. Grading scale: Rate the response on a scale of 1-5. 1 means the answer is full of hallucinations and does not answer the question. 5 means the answer does not hallucinate at all and perfectly answers the question with no extra information. Interpolate the rest of the grading scale", "customLLMJModelId": "anthropic.claude-sonnet-4-5-20250929-v1:0" } }
Exemple 5 : modèle unique, variables multiples, échantillons multiples, aucune méthode d'évaluation (par défaut du système)
Comme aucune évaluation ou pilotage n'est fourni, l'optimiseur rapide utilisera un générique intégré LLM-as-a-judge qui combine précision, exhaustivité et style d'écriture.
{ "version": "bedrock-2026-05-14", "promptTemplate": "You are a customer support agent for an electronics store.\n\nGiven the following product information:\n{{productInfo}}\n\nAnswer the customer's question:\n{{customerQuestion}}\n\nProvide a helpful, accurate, and concise response.", "templateId": "template-default-llmj-1", "evaluationSamples": [ {"inputVariables": [{"productInfo": "Product: Sony WH-1000XM5 Headphones. Price: $349.99. Battery Life: 30 hours. Noise Cancellation: Yes, adaptive."}, {"customerQuestion": "How long does the battery last?"}], "referenceResponse": "The Sony WH-1000XM5 headphones have a battery life of up to 30 hours on a single charge."}, {"inputVariables": [{"productInfo": "Product: Apple MacBook Air M3. Price: $1,099. RAM: 8GB. Storage: 256GB SSD."}, {"customerQuestion": "Is 8GB of RAM enough for video editing?"}], "referenceResponse": "The MacBook Air M3 comes with 8GB of unified memory. It can handle light video editing but you may want more RAM for heavy work."} ] }
Exemple 6 : modèle unique, variable unique, échantillons multiples, évaluateur Lambda
{ "version": "bedrock-2026-05-14", "promptTemplate": "You are a helpful assistant. Answer the following: {{question}}", "templateId": "template-byo-1", "customEvaluationMetricLabel": "accuracygraderlambda", "evaluationSamples": [ {"inputVariables": [{"question": "What is the capital of France?"}], "referenceResponse": "The capital of France is Paris."}, {"inputVariables": [{"question": "What is 2+2?"}], "referenceResponse": "4"} ], "evaluationMetricLambdaArn": "arn:aws:lambda:us-west-2:<YOUR_ACCOUNT_ID>:function:<YOUR_EVAL_FUNCTION>" }
Exemple 7 : modèle unique, aucune variable de texte, multimodal uniquement, LLM-as-judge
Il s'agit d'une entrée acceptable même sans aucun, {{variables}} car une entrée multimodale est incluse.
{ "version": "bedrock-2026-05-14", "templateId": "multimodal_only_01", "promptTemplate": "Does this image contain a dog? Respond yes or no", "customEvaluationMetricLabel": "binarydogjudge", "customLLMJConfig": { "customLLMJPrompt": "Determine if the model response matches the ground truth. Grading scale: 0 if the response does not match the ground truth, 1 if the response matches the ground truth. Here is the input: \n\n input: {{prompt}} \n\n model response: {{response}} \n\n ground truth: {{referenceResponse}}.", "customLLMJModelId": "anthropic.claude-sonnet-4-5-20250929-v1:0" }, "evaluationSamples": [ {"inputVariablesMultimodal": [{"dogimage": {"type": "IMAGE", "s3Uri": "s3://my-bucket/images/dog-photo.jpeg"}}], "referenceResponse": "Yes"}, {"inputVariablesMultimodal": [{"catimage": {"type": "IMAGE", "s3Uri": "s3://my-bucket/images/cat-photo.png"}}], "referenceResponse": "No"} ] }
Exemple 8 : modèle unique, variables multiples LLM-as-judge, texte mixte et multimodal
{ "version": "bedrock-2026-05-14", "templateId": "multimodal_with_text_01", "promptTemplate": "Given the context in attached documents and the user question, provide a short answer. User question: {{question}}", "customEvaluationMetricLabel": "documentinfograder", "customLLMJConfig": { "customLLMJPrompt": "Evaluate whether the response correctly answers the question using information from the provided document. Score 1-5 where 5 means fully correct and grounded in the source material, and 1 means the answer was completely hallucinated and inaccurate. Here's the information: \n Prompt: {{prompt}}, Model response: {{response}}, ground truth: {{referenceResponse}}", "customLLMJModelId": "anthropic.claude-sonnet-4-5-20250929-v1:0" }, "evaluationSamples": [ { "inputVariables": [{"question": "What is the total revenue for Q1?"}], "inputVariablesMultimodal": [ {"Q1report": {"type": "PDF", "s3Uri": "s3://my-bucket/docs/quarterly-report.pdf"}}, {"revenuechart": {"type": "IMAGE", "s3Uri": "s3://my-bucket/images/revenue-chart.png"}} ], "referenceResponse": "The total revenue for Q1 was $4.2M." } ] }
Exemple 9 : modèle unique, optimisation sélective avec advpo:optimize, critères de pilotage
Cet exemple utilise des <advpo:optimize> balises pour optimiser uniquement les instructions de réponse aux plaintes. La déclaration d'identité et la contrainte de politique sont préservées.
{ "version": "bedrock-2026-05-14", "templateId": "selective-optimize-v1", "promptTemplate": "You are a customer service agent for Acme Corp. Always be polite and professional.\n\n<advpo:optimize>When responding to a complaint, acknowledge the customer's frustration, summarize the issue, and propose exactly one concrete resolution. Use bullet points for clarity.</advpo:optimize>\n\nNever disclose internal pricing or employee information.", "steeringCriteria": ["PROFESSIONAL", "CONCISE"], "evaluationSamples": [ {"inputVariables": [{"customerComplaint": "I was charged twice for my order #12345"}], "referenceResponse": "I understand your frustration about being charged twice for order #12345. Let me look into this for you.\n\n- Issue: Duplicate charge on your account\n- Resolution: I will process a refund for the duplicate charge within 3-5 business days."}, {"inputVariables": [{"customerComplaint": "My package arrived damaged"}], "referenceResponse": "I'm sorry to hear your package arrived damaged.\n\n- Issue: Damaged item received\n- Resolution: I will send a replacement at no extra cost, arriving within 2 business days."} ] }
Exemple 10 : modèle unique, optimisation sélective avec advpo:exclude, LLM-as-a-judge
Cet exemple utilise des <advpo:exclude> balises pour figer les sections relatives à l'identité et à la politique. Tout le reste est optimisé.
{ "version": "bedrock-2026-05-14", "templateId": "selective-exclude-v1", "promptTemplate": "<advpo:exclude>You are a technical support agent for CloudWidget. Always verify the customer's account before making changes.</advpo:exclude>\n\nWhen a customer reports an issue, ask clarifying questions about their environment, check the knowledge base for known solutions, and provide step-by-step instructions.\n\n<advpo:exclude>Never share internal ticket IDs or system architecture details with customers.</advpo:exclude>", "customEvaluationMetricLabel": "supportquality", "customLLMJConfig": { "customLLMJPrompt": "Evaluate the quality of the technical support response. Consider whether it asks relevant clarifying questions, provides clear step-by-step instructions, and maintains a helpful tone. Score 1-5 where 5 means excellent support interaction and 1 means unhelpful or unclear. Here is the information: \n\nPrompt: {{prompt}}\nResponse: {{response}}\nGround truth: {{referenceResponse}}", "customLLMJModelId": "anthropic.claude-sonnet-4-5-20250929-v1:0" }, "evaluationSamples": [ {"inputVariables": [{"customerIssue": "My dashboard is loading slowly since yesterday"}], "referenceResponse": "I'd like to help you resolve the slow dashboard loading. A few questions to narrow things down:\n\n1. Which browser are you using?\n2. Have you tried clearing your browser cache?\n3. Is the slowness on all pages or just the dashboard?\n\nIn the meantime, try these steps:\n1. Clear your browser cache and cookies\n2. Disable any browser extensions\n3. Try accessing the dashboard in an incognito window"} ] }