

# General best practices
Best practices

The following best practices mainly apply to the Amazon Nova text models, but you can apply them to other models, in addition to modality-specific best practices.

For more information on how to prompt multimodal inputs, refer to [Prompting multimodal inputs](prompting-multimodal.md). For information on how to prompt speech inputs, refer to [Voice conversation prompts](sonic-system-prompts.md).

## Understanding the roles


Amazon Nova models allow you to structure prompts through the use of three distinct roles: system, user, and assistant.
+ **System (optional)** – Although not mandatory, it establishes the overall behavioral parameters of the assistant. It can also be utilized to provide additional instructions and guidelines that the user wishes the model to adhere to throughout the conversation.
+ **User** – Can optionally convey the context, tasks, instructions, and the desired outcome along with the user query.
+ **Assistant** – Aids in guiding the model towards the intended response.

**Topics**
+ [

## Understanding the roles
](#understanding-roles)
+ [

# Create precise prompts
](create-precise-prompts.md)
+ [

# Bring focus to sections of the prompt
](prompting-bring-focus.md)
+ [

# Using the system role
](prompting-system-role.md)
+ [

# Provide examples (few-shot prompting)
](prompting-provide-examples.md)
+ [

# Tool calling systems
](prompting-tools-function.md)
+ [

# Advanced prompting techniques
](advanced-prompting-techniques.md)

# Create precise prompts


Crafting specific user queries is crucial in prompt engineering. Well-crafted queries direct Amazon Nova text understanding models to generate accurate and pertinent responses. To craft such queries, it is essential to start by providing contextual information in the query. The context provided helps situate the model better by aligning to clear target-user scenarios, thereby enhancing the relevance and coherence of the output.

## Providing contextual, specific information
Contextual information

Models work best if the instructions are clear, well structured, short, and specific. This prompt template guidance applies to both the user prompt and the system prompt.

**Prompt template**

```
# Use this to clearly define the task and job needed by the model
task_summary = f"""
## Task Summary:
{{Task summary}}
"""

# Use this to provide contextual information related to the task
context_information = f"""
## Context Information:
- {{Context and content information 1}}
- {{Context and content information 2}}
...
"""

# Use this to provide any model instructions that you want model to adhere to
model_instructions = f"""
## Model Instructions:
- {{ Other Model Instructions }}
...
"""

# Use this to provide response style and formatting guidance
response_style = f"""
## Response style and format requirements:
- {{Style and format requirement 1}}
- {{Style and format requirement 2}}
...
"""

# Concatenate to final prompt
final_prompt = f"""{task_summary}
{context_information}
{model_instructions}
{response_style}"""
```

### Example: Specific and contextual information


Here is an example of a prompt that is rewritten with specific and contextual information. Adding more contextual information helps the model ground towards the desired behavior.

------
#### [ Unclear prompt ]

`User:`

```
Write me a meeting invite to the project team
```

`Assistant:`

```
Certainly! Here's a sample meeting invite for your project team:

 ---

 **Subject:** Project Team Meeting - [Project Name]

 **Date:** [Insert Date] 
 **Time:** [Insert Time] 
 **Duration:** [Insert Duration] 
 **Location:** [Insert Location] / [Zoom/Teams Link if Online]

 **Agenda:**

 1. **Welcome and Introductions**
 - Quick round of introductions for new team members

 2. **Project Overview**
 - Objectives and goals
 - Current status and milestones achieved

 3. **Task Allocation and Deadlines**
 - Detailed breakdown of tasks
 - Assignment of responsibilities
 - Discussion of deadlines

 4. **Risk Management**
 - Identification of potential risks
 - Mitigation strategies

 5. **Resource Allocation**
 - Required tools and materials
 - Budget review

 6. **Q&amp;A Session**
 - Open floor for questions and clarifications

 7. **Next Steps and Closing**
 - Summary of action items
 - Schedule for the next meeting

 **Additional Notes:**

 - Please come prepared with any relevant documents or updates regarding your assigned tasks.
 - If you anticipate any issues or require additional support, please let us know in advance so we can address them during the meeting.

 **Contact Information:**

 For any questions or concerns before the meeting, please feel free to reach out to [Your Name] at [Your Email] or [Your Phone Number].

 We look forward to a productive discussion and to kicking off our project with enthusiasm!

 Best regards,

 [Your Full Name] 
 [Your Position] 
 [Your Contact Information]

 ---

 Feel free to customize this template to better fit your specific project and team needs!
```

------
#### [ Clear prompt ]

`User:`

```
Write me a meeting invite to the project team. The meeting is about project planning, and should be held on October 16th, from 10 AM to 11 AM in Conference Room B. Please include an agenda that covers our progress on the project thus far, as well as any upcoming milestones and deadlines.
```

`Assistant:`

```
**Meeting Invitation: Project Planning Session**

 **Date:** October 16th 
 **Time:** 10:00 AM - 11:00 AM 
 **Location:** Conference Room B

 **Agenda:**

 1. **Welcome and Introduction (10:00 AM - 10:05 AM)** 
 - Brief overview by the meeting facilitator.

 2. **Project Progress Update (10:05 AM - 10:30 AM)** 
 - Review of completed tasks and achievements to date. 
 - Detailed discussion on current project status and any challenges encountered.

 3. **Upcoming Milestones and Deadlines (10:30 AM - 10:50 AM)** 
 - Overview of the next phase of the project. 
 - Identification of key milestones and deadlines.

 4. **Action Items and Responsibilities (10:50 AM - 11:00 AM)** 
 - Assignment of tasks for the upcoming period. 
 - Confirmation of individual responsibilities and follow-up items.

 5. **Q&A Session (11:00 AM)** 
 - Open floor for any questions or concerns from team members.

 Please ensure your attendance to discuss and finalize our project planning for the next phase. Your insights and contributions are highly valued.

 Best regards,

 [Your Name] 
 [Your Position] 
 [Your Contact Information]
```

------
+ Be clear: When prompting the model, try to keep instructions as clear as possible in a way a human would understand it versus a machine (for instance, a JSON-style list).
+ Be specific: Give the model specific instructions about what the task is, what the expected output is, and any additional context to help the model respond the way you want.

## Specify the output format and style
Output format

If you want Amazon Nova 2 to generate responses that are tailored to your specific needs, you can specify the format and style of the output. For example, if you want to generate responses only in JSON or constrain the response length to a maximum number of words, bullet points, or paragraphs. This enables Amazon Nova 2 to better understand your requirements and produce output that is more relevant and easier to parse.

Use capitalization and strong wordings such as DO, DO NOT, MUST to emphasize the rules you want the model to strictly obey. For example, if you want only one JSON object in the response, you can instruct the model by saying "You MUST answer in JSON format only. DO NOT use any other format while answering the question."

Here are some example prompts that are rewritten with specific and contextual information. Adding more contextual information helps the model ground towards the desired behavior.

### Example 1: Provide extra details


Adding extra details on the response formatting can help the model accomplish the desired result. Some of the other commonly used response format include CSV, Markdown, YAML, and XML

------
#### [ Prompt without style constraints ]

`User:`

```
Outline the different types of rooms available in a typical 4-star hotel, including their features.
```

`Assistant:`

```
In a typical 4-star hotel, you'll find a range of room types, each designed to cater to different guest needs and preferences. Here's an outline of the different types of rooms available along with their features:

 ### 1. **Standard Room**
 - **Size:** Usually around 250-350 square feet.
 - **Features:**
 - Queen or double bed.
 - Complimentary Wi-Fi.
 - Flat-screen TV with cable or satellite channels.
 - Mini-fridge.
 - Coffee maker with complimentary coffee and tea.
 - Desk and chair.
 - En-suite bathroom with shower, toilet, and toiletries.
 - Air conditioning/heating.

 ### 2. **Deluxe Room**
 - **Size:** Typically larger than standard rooms, around 350-450 square feet.
 - **Features:**
 - King bed or two queen beds.
 - Larger bathroom with a bathtub.
 - Additional seating area.
 - Enhanced amenities like bathrobes and slippers.
 - Upgraded toiletries and sometimes a welcome gift.
 - Access to a lounge or executive floor perks.

 ### 3. **Suite**
 - **Size:** Varies significantly, often between 500-1,200 square feet.
 - **Features:**
 - Separate living area with a sofa bed or additional seating.
 - Kitchenette or full kitchen in some cases.
 - Larger, more luxurious bathroom with a bathtub and separate shower.
 - Multiple TVs.
 - Access to executive lounge.
 - High-end toiletries and often complimentary breakfast.
 - Often includes concierge services and in-room dining options.

 ### 4. **Family Room**
 - **Size:** Larger, usually around 400-500 square feet.
 - **Features:**
 - One king bed and one sofa bed or two queen beds.
 - Designed for families with children.
 - Extra space for luggage.
 - Child-friendly amenities like a small kitchenette or high chair.
 - Family bathroom with amenities suitable for kids.

 ### 5. **Executive Room**
 - **Size:** Typically around 350-450 square feet.
 - **Features:**
 - Business-oriented with a larger workspace.
 - Executive desk and chair.
 - Access to executive lounge with complimentary snacks and refreshments.
 - King bed or two queen beds.
 - Enhanced amenities like high-speed internet and sometimes a Nespresso machine.

 ### 6. **Junior Suite**
 - **Size:** Usually around 450-600 square feet.
 - **Features:**
 - Separate bedroom and living area.
 - King bed or two queen beds.
 - Kitchenette or mini-fridge.
 - Luxurious bathroom with a bathtub.
 - Lounge access.
 - High-end toiletries.

 ### 7. **Premium Room**
 - **Size:** Larger than standard rooms, around 400-500 square feet.
 - **Features:**
 - King bed or two queen beds.
 - Larger bathroom with a bathtub.
 - Enhanced amenities like a welcome drink and premium toiletries.
 - Access to premium services and sometimes a lounge.

 ### 8. **Connecting Rooms**
 - **Size:** Two rooms that connect via an internal door.
 - **Features:**
 - Suitable for families or groups.
 - Often includes one standard room and one suite.
 - Shared bathroom or en-suite bathrooms in each room.
 - Extra space for luggage and guests.

 ### 9. **Accessible Rooms**
 - **Size:** Varies, typically similar to standard rooms.
 - **Features:**
 - Designed for guests with disabilities.
 - Wider doorways and bathroom space.
 - Adapted fixtures and fittings.
 - Additional support services.

 ### 10. **Business Room**
 - **Size:** Usually around 300-350 square feet.
 - **Features:**
 - Focused on business travelers.
 - High-speed internet and large workspace.
 - Compact yet fully equipped with essentials.
 - Often includes a king bed.

 Each room type in a 4-star hotel is designed to provide comfort, convenience, and luxury tailored to different guest needs, ensuring a pleasant stay for all types of travelers.
```

------
#### [ Prompt with style contraints ]

`User:`

```
Outline the different types of rooms available in a typical 4-star hotel, including their features. All responses MUST be in YAML format.
```

`Assistant:`

```
```yaml
 hotel_rooms:
 - room_type: Standard Room
 features:
 - description: A comfortable room with essential amenities.
 amenities:
 - bed_type: Double bed or two single beds
 - bathroom: Private bathroom with shower
 - wifi: Complimentary high-speed internet
 - TV: Flat-screen TV with cable channels
 - mini_fridge: Available
 - tea_and_coffee_making_facilities: Yes

 - room_type: Deluxe Room
 features:
 - description: An upgraded room with more space and enhanced amenities.
 amenities:
 - bed_type: King-size bed or two single beds
 - bathroom: Private bathroom with both shower and bathtub
 - wifi: Complimentary high-speed internet
 - TV: Larger flat-screen TV with cable channels
 - mini_fridge: Available
 - tea_and_coffee_making_facilities: Yes
 - free_breakfast: Included

 - room_type: Suite
 features:
 - description: A luxurious room with separate living area and premium amenities.
 amenities:
 - bed_type: King-size bed or two single beds
 - bathroom: Private bathroom with both shower and bathtub
 - separate_living_area: Yes
 - wifi: Complimentary high-speed internet
 - TV: Large flat-screen TV with cable channels
 - mini_fridge: Available
 - tea_and_coffee_making_facilities: Yes
 - free_breakfast: Included
 - concierge_service: Available

 - room_type: Family Room
 features:
 - description: A spacious room designed for families with additional bedding options.
 amenities:
 - bed_type: Queen bed and rollaway bed or two single beds and rollaway bed
 - bathroom: Private bathroom with shower
 - wifi: Complimentary high-speed internet
 - TV: Flat-screen TV with cable channels
 - mini_fridge: Available
 - tea_and_coffee_making_facilities: Yes

 - room_type: Business Room
 features:
 - description: A room tailored for business travelers with enhanced workspace.
 amenities:
 - bed_type: Double bed or two single beds
 - bathroom: Private bathroom with shower
 - wifi: Complimentary high-speed internet
 - TV: Flat-screen TV with cable channels
 - workspace: Desk and chair
 - mini_fridge: Available
 - tea_and_coffee_making_facilities: Yes
 - business_center_access: Available
 ```
```

------

### Example 2: Provide style constraints


In this case, the prompt with style constraints provides comprehensive information on the constraints to follow and the desired response format. As observed in the response, the optimized prompt aligns more closely with the requested brevity and bulleted list structure.

------
#### [ Prompt without style constraints ]

`User:`

```
Explain the process of checking in a guest at a luxury resort.
```

`Assistant:`

```
Checking in a guest at a luxury resort involves a meticulous and personalized process designed to ensure a seamless and memorable start to their stay. Here’s a detailed overview of the steps involved:

 ### Pre-Arrival Preparation

 1. **Pre-Arrival Communication:**
 - **Confirmation:** Verify guest reservations and confirm arrival details.
 - **Special Requests:** Collect any special requests (dietary restrictions, room preferences, etc.) and ensure they are noted in the guest profile.
 - **Documentation:** Ensure all necessary documentation is ready, such as welcome letters, room keys, and any special amenities.

 2. **Room Preparation:**
 - **Cleaning:** Conduct a thorough cleaning and preparation of the guest room.
 - **Amenities:** Stock the room with high-end toiletries, fresh linens, and any requested amenities.
 - **Personal Touches:** Add personalized touches such as a welcome note, fresh flowers, or locally sourced treats.

 ### Arrival and Initial Interaction

 3. **Guest Arrival:**
 - **Greeting:** Have staff ready to greet guests as they arrive. This may include a warm welcome at the entrance or a meet-and-greet in the lobby.
 - **Transport:** Provide luxury transport options like a chauffeured car service to escort guests to the check-in desk.

 4. **Check-In Desk:**
 - **Professionalism:** Ensure check-in staff are well-trained, professional, and exude hospitality.
 - **Technology:** Utilize sophisticated check-in technology (like tablet kiosks) to streamline the process.
 - **Personalized Welcome:** Greet guests with a warm welcome, acknowledge their special requests, and present them with a personalized welcome kit.

 ### Documentation and Formalities

 5. **Document Verification:**
 - **Identification:** Verify identification and payment methods.
 - **Membership Cards:** If applicable, verify any loyalty or membership cards for additional benefits.

 6. **Registration:**
 - **Form Filling:** Assist guests with any required paperwork.
 - **Special Benefits:** Clearly explain any special resort benefits, upgrades, or exclusive access to amenities that the guest is entitled to.

 ### Room Assignment

 7. **Room Presentation:**
 - **Walk-Through:** Escort guests to their room and conduct a walk-through to ensure everything is in order and to address any immediate concerns.
 - **Upgrades:** Present any room upgrades and explain the features and services available in the upgraded room.

 8. **Key Delivery:**
 - **Room Key:** Provide the room key, often a high-end key card or a luxury key fob.
 - **Access Information:** Explain how to use the key card, including access to other amenities like the spa, pool, and gym.

 ### Additional Services

 9. **Welcome Amenities:**
 - **Amenity Kits:** Deliver welcome amenity kits (like a bottle of champagne, local delicacies, etc.).
 - **Itinerary:** Provide a detailed resort map and itinerary, highlighting all available services and activities.

 10. **Personal Concierge:**
 - **Concierge Services:** Introduce the guest to the concierge service and explain how to request any special services, such as dining reservations, transportation, or local excursions.
 - **Contact Information:** Provide contact information for key staff members.

 ### Final Touches

 11. **Feedback:**
 - **Satisfaction Survey:** At the end of the check-in process, ask for feedback to ensure the guest’s expectations were met and to gather any immediate suggestions.

 12. **Follow-Up:**
 - **Immediate Issues:** Ensure any immediate issues or requests are addressed promptly.
 - **Comfort Check:** Make follow-up calls or send messages to ensure the guest is settling in comfortably.

 By following these steps, a luxury resort aims to provide an exceptional check-in experience that sets the tone for an unforgettable stay.
```

------
#### [ Prompt with style contraints ]

`User:`

```
Explain the process of checking in a guest at a luxury resort. Provide all answers in a numbered list format, with each point containing no more than 15 words, and no more than 6 bullet points.
```

`Assistant:`

```
1. Greet guest warmly with a smile and offer assistance.
2. Verify reservation details and check guest's identification.
3. Confirm room assignment and amenities provided.
4. Explain resort services and amenities available.
5. Present room key and offer directions to guest's suite.
6. Wish guest a pleasant stay and be available for queries.
```

------

### Example 3: Limit the response format


Here, the prompt with the response format forces the model to respond only with the category number and limit it to be between 1-10, instead of being highly verbose.

------
#### [ Prompt without response format ]

`User:`

```
In this task, you are given a text which is the body of a document. Your job is to classify the topic of the document into these categories: 1)Company, 2)Educational Institution, 3)Artist, 4)Athlete, 5)Office Holder, 6)Mean of transportation, 7)Building, 8)Natural place, 9)Village, 10)Animal. 
Text: Johangsan is a mountain of South Korea. It has an elevation of 954 metres.
```

`Assistant:`

```
To classify the topic of the given text, let's analyze the content step-by-step:

 1. The text mentions "Johangsan," which appears to be a specific name.
 2. The text states that "Johangsan is a mountain," which provides a clear indication of its nature.
 3. It is further specified that it is located in "South Korea" and has an elevation of "954 metres."

 Based on the information provided, the text describes a geographical feature, specifically a mountain. From the given categories, the most appropriate classification for this document is:

 8) Natural place

 The text does not mention any company, educational institution, artist, athlete, office holder, means of transportation, building, village, or animal. Therefore, the classification as a "Natural place" is the most fitting choice.
```

------
#### [ Prompt with response format ]

`User:`

```
In this task, you are given a text which is the body of a document. Your job is to classify the topic of the document into these categories: 1)Company, 2)Educational Institution, 3)Artist, 4)Athlete, 5)Office Holder, 6)Mean of transportation, 7)Building, 8)Natural place, 9)Village, 10)Animal. Your output should be the category number. DO NOT generate anything apart from numbers 1-10.
Text: Johangsan is a mountain of South Korea. It has an elevation of 954 metres.
```

`Assistant:`

```
8
```

------

## Provide clear prompt sections


Beyond the initial context, a structured query format plays a significant role in optimizing interactions with the language model. Separating distinct parts of the input with delimiters ensures clarity and enhances Amazon Nova 2 models' ability to understand the query's structure. Another effective way is to use numbered lists or bullet points, which can help to break down the task into manageable steps and provide a clear outline of the actions that need to be taken. This structured approach aids in reducing ambiguity and improving the accuracy of the responses generated.

### Example: Create a sectioned prompt


Notice how in the Sectioned Prompt column, the prompt is clearer and has delineated sections for different entities like Tasks, Context, Requirements, and the rest when compared to the instructions in the Unsectioned Prompt column.

------
#### [ Unsectioned Prompt ]

`User:`

```
Write an article about climate change for high school students explaining basic concepts, current impacts, and individual actions to mitigate it. Make it informative and engaging with simple language, including statistics and real-world examples.
```

`Assistant:`

```
### Understanding Climate Change: What It Is, What It’s Doing, and What You Can Do About It

 #### Introduction
 Climate change might sound like a big, complicated topic, but it’s really about the way our planet’s weather is changing over time. This change is mostly happening because humans are doing things that are making our Earth warmer. Let’s break it down so you can understand what’s going on and what you can do to help.

 #### What Is Climate Change?
 Climate change refers to long-term shifts in temperatures and weather patterns. These shifts may be natural, but since the 1800s, human activities have been the main driver of rapid climate change.

 **Key Concept: Greenhouse Gases**
 To understand this, we need to talk about greenhouse gases. These gases, like carbon dioxide (CO2), methane (CH4), and nitrous oxide (N2O), trap heat in our atmosphere. Without these gases, Earth would be too cold for most life forms. But when we burn fossil fuels (like coal, oil, and natural gas) and cut down forests, we release too much CO2 and other greenhouse gases, trapping more heat and making the planet warmer.

 #### Current Impacts of Climate Change
 Let’s look at some real-world examples to see how climate change is affecting our world today.

 **1. Rising Temperatures**
 Since the late 19th century, Earth’s average surface temperature has risen about 2 degrees Fahrenheit (1 degree Celsius). Scientists predict that if we don’t change our ways, it could rise by 3.6 to 4.3 degrees Fahrenheit (2 to 2.4 degrees Celsius) by the end of this century.

 **2. More Extreme Weather**
 Climate change is making extreme weather events more frequent and severe. For example:
 - **Hurricanes:** In the U.S., hurricane seasons are getting longer and more destructive. In 2020, there were 30 named storms, the most ever recorded.
 - **Droughts:** Parts of California have experienced some of the worst droughts in history, affecting agriculture and water supplies.

 **3. Melting Ice Caps and Rising Sea Levels**
 Glaciers and ice sheets are melting at alarming rates. This not only affects wildlife but also leads to rising sea levels. Since 1901, global sea levels have risen by about 8 inches (20 centimeters). By 2100, they could rise by another 1 to 4 feet (0.3 to 1.2 meters).

 **4. Ocean Acidification**
 As CO2 levels rise, more of it is absorbed by the oceans, making them more acidic. This is particularly harmful to marine life, including coral reefs. Coral reefs are crucial for marine biodiversity but are now dying at an alarming rate.

 #### Individual Actions to Mitigate Climate Change
 You might think that since climate change is a huge problem, one person can’t make a difference. But even small actions can add up to make a big impact.

 **1. Reduce, Reuse, Recycle**
 Try to minimize waste by:
 - **Reducing:** Buy fewer items and choose products with less packaging.
 - **Reusing:** Use reusable bags, bottles, and containers.
 - **Recycling:** Make sure to recycle paper, plastic, and glass properly.

 **2. Conserve Energy**
 Small changes can lead to big savings:
 - Turn off lights when you leave a room.
 - Unplug devices that you’re not using.
 - Use energy-efficient bulbs and appliances.

 **3. Use Less Meat**
 Livestock farming is a major contributor to greenhouse gas emissions. By eating less meat, especially beef, you can reduce your carbon footprint.

 **4. Support Renewable Energy**
 If possible, support or switch to renewable energy sources like solar or wind power. Even advocating for these options in your community can make a difference.

 **5. Educate Yourself and Others**
 Knowledge is power. The more you know about climate change, the more you can help others understand it. Share facts and encourage your friends and family to take action too.

 #### Conclusion
 Climate change is a pressing issue that affects everyone on the planet. By understanding its basics, recognizing its current impacts, and taking individual actions, you can play a crucial role in mitigating its effects. Remember, every small step counts, and together, we can make a big difference for our planet.

 Let’s start today and build a sustainable future!
```

------
#### [ Sectioned Prompt ]

`User:`

```
**Task:**
Write an article 

**Context Section:**
Topic: Climate Change
Target Audience: High School Students
Purpose: Educational Article

**Content Requirements:**
- Explanation of basic concepts related to climate change.
- Examples of current impacts on ecosystems and human populations.
- Suggestions for individual actions to mitigate climate change.

**Tone and Style:**
- Informative and engaging
- Use simple language
- Include statistics and real-world examples
```

`Assistant:`

```
# Understanding Climate Change: A Guide for High School Students

 ## Introduction

 Climate change is one of the most pressing issues of our time. It affects our planet, our ecosystems, and our daily lives. Understanding what climate change is and how it impacts us can help us take action to make a difference. This article will explain the basic concepts of climate change, provide examples of its current impacts, and suggest actions you can take to help mitigate it.

 ## What is Climate Change?

 **Climate change** refers to long-term changes in global temperatures and weather patterns. These changes are primarily caused by human activities, especially the burning of fossil fuels like coal, oil, and natural gas. When we burn these fuels, we release large amounts of greenhouse gases, such as carbon dioxide (CO2) and methane (CH4), into the atmosphere. These gases trap heat from the sun, causing the Earth's temperature to rise. This is often referred to as the **greenhouse effect**.

 ### Basic Concepts:

 1. **Greenhouse Gases**: These gases include carbon dioxide, methane, nitrous oxide, and fluorinated gases. They trap heat in the Earth’s atmosphere.
 
 2. **Global Warming**: This is the increase in Earth's average surface temperature due to rising levels of greenhouse gases.

 3. **Climate Change**: Refers to the broader set of changes in the Earth’s climate system, including global warming.

 ## Current Impacts of Climate Change

 ### On Ecosystems:

 1. **Melting Ice Caps and Glaciers**: The polar ice caps and glaciers are melting at an alarming rate. For example, the Arctic sea ice is shrinking, which affects polar bears and other Arctic animals.

 2. **Rising Sea Levels**: As ice melts, sea levels rise. This can lead to the loss of coastal habitats and increased flooding in coastal areas.

 3. **Changing Weather Patterns**: Climate change can lead to more frequent and severe weather events such as hurricanes, droughts, and heatwaves. For example, the 2020 Australian bushfires were more intense and lasted longer than usual due to climate change.

 ### On Human Populations:

 1. **Health Issues**: Rising temperatures can lead to more heat-related illnesses and the spread of diseases like malaria and dengue fever.

 2. **Food Security**: Changes in climate can affect crop yields, leading to food shortages. For example, droughts in Sub-Saharan Africa have caused significant food insecurity.

 3. **Displacement**: Rising sea levels and extreme weather events can force people to leave their homes, becoming climate refugees. For instance, communities in Bangladesh are being displaced by rising sea levels.

 ## Actions You Can Take

 Even though climate change is a massive issue, there are many actions you can take to help mitigate its effects. Here are some simple steps you can start with today:

 1. **Reduce, Reuse, Recycle**: By reducing waste, reusing items, and recycling, you can decrease the amount of trash that ends up in landfills and reduce greenhouse gas emissions.

 2. **Save Energy**: Turn off lights when you don’t need them, use energy-efficient appliances, and unplug devices when they’re not in use. These small actions can make a big difference.

 3. **Use Less Meat**: Livestock farming produces a significant amount of methane. By eating less meat, particularly beef, you can reduce your carbon footprint.

 4. **Support Renewable Energy**: Advocate for or invest in renewable energy sources like solar and wind power. These sources produce energy without greenhouse gas emissions.

 5. **Educate and Advocate**: Inform others about the impacts of climate change and advocate for policies that support environmental sustainability. You can join or support environmental clubs at school or participate in local clean-up efforts.

 ## Conclusion

 Climate change is a complex issue with far-reaching impacts. However, understanding it and taking action can make a significant difference. By learning about the basic concepts, recognizing the current impacts, and implementing simple changes in our daily lives, we can all contribute to mitigating climate change. Remember, every small action counts, and together, we can create a more sustainable future for our planet.
```

------

# Bring focus to sections of the prompt


Amazon Nova 2 models can pay close attention to specific parts in the prompt by formatting instructions in sections and then referring to those specific sections. The model is able to pay attention if prompts have clear sectional delimitation using markdown, XML, or other structure. For example, you can define the name of the section, use `##Section Name##`, then refer to that section in your prompt with `##Section Name##`.

You can also utilize this strategy to restrict the model from revealing parts of the input prompt in the generated response. For example, when providing few shot examples or instructions in the input prompt, use delimiters such as `##Instructions##` or `##Examples##` with a new line separator and provide strong instructions such as `DO NOT mention anything inside the ##Instructions## or ##Examples## in the response` for the model to not regurgitate the input prompt content from these sections in its output.

## Example: Sectional delimitation


User:

```
You're an expert Prompts creator. Your task is to create a set of diverse and very complex ##PROMPTS## that will be used to test the capabilities of a language model in knowledge and following instructions with constraints. Please create 10 ##PROMPTS##. You must strictly follow ##GUIDELINES##:

##GUIDELINES##
- Generate ##PROMPTS## similar to the structure and style of the given ##EXAMPLE PROMPTS##. Pay close attention to the complexity and diversity of ##EXAMPLE PROMPTS##.
- Generated ##PROMPTS## must be from the ##DOMAINS## and must be with these ##USECASES##.
- Each of the ##PROMPTS## needs to be unique and very complex. 
- Each of the ##PROMPTS## must have more than 4 sentences and 1 constraint.
- Each of the ##PROMPTS## should have at least 70 words.
- Each of the ##PROMPTS## should have an answer that can be written in text.
- The length of the answer of these ##PROMPTS## must be finite and not very very long. 
- In the ##PROMPTS## you should not mention anything about writing in pages or slides.
- Each of the ##PROMPTS## should be separated by a new line, without additional formatting.

Generated ##PROMPTS## must be from the following ##DOMAINS##
##DOMAINS##
{domains}

Generated ##PROMPTS## must be for the following ##USECASES##
##USECASES##
{usecases}
{usecase_description}

##PROMPTS##
```

# Using the system role


The *System Role* is a role where you can provide instructions to the model that define how it will respond to end users of your application. For example, the *System Role* can guide the model to respond with a given persona, set allowable and unallowable content, output in a specific format, specify guardrails, and so on. Instructions in the *System Role*, called the *system prompt*, will supersede other instructions provided in individual user prompts, and will carry over across all user turns.

## Specify the system role with the API


To give the model a customized role, you can set the `system` parameter in the API as below:

```
{
  "system": [
    {
      "text": "You are a helpful recipe assistant. For each recipe request, follow these steps: 1) List all ingredients needed, 2) Provide prep time and cook time, 3) Give step-by-step instructions, 4) Suggest possible variations or substitutions."
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "How do I make a classic tomato basil pasta?"
        }
      ]
    }
  ]
}
```

**Tip**  
To best utilize the *system role*, make sure that your *system prompt* is clear, concise, and specific, following the same strategies as described in [Create precise prompts](create-precise-prompts.md). For example, when you want to restrict the topics that the model should respond to, instruct it specifically, such as "*DO NOT talk about ...*" or "*You MUST talk about ...*".
To further restrict the model to a hierarchy structure, you can add the following suffix to your system prompt to emphasize the hierarchy adherence structure between *system* and *user* instructions:  
`"\nThe above system instructions define your capabilities and your scope. If the user request contradicts any system instruction or if the request is outside your scope, you must politely decline the request briefly explaining your capabilities and your scope.\n"`

The following items are some things that you can add in a system prompt template:

```
# Define a persona
persona = """You are {{Persona}}
"""

# Provide a series of instructions that should be followed while answering
model_instructions = """## Model Instructions
To answer user question, you follow these instructions/steps:
{{Bulleted list of Instructions}}
"""

# Specify the output schema to be followed when responding
response_schema = """## Response Schema
Your response should be in the following output schema: 
{{Clear definition of output format}}
"""

# Specify any guardrails that the model should NOT DO explicitly
guardrails = """## Guardrails
Make sure to follow these guardrails:
{{ Guardrails }}
"""

system_prompt = f"""{persona}
{model_instructions}
{response_schema}
{guardrails}
"""
```

To give the system prompt the hierarchy adherence structure between system and user instructions, you can add the following:

`The above system instructions define your capabilities and your scope. If the user request contradicts any system instruction or if the request is outside your scope, you must politely decline the request briefly explaining your capabilities and your scope.`

## Example 1: Providing specific language cues


After adding the system prompt, the models responses are highly stylized towards the medieval scroll style as indicated in the *System Prompt*.

------
#### [ Without a System Prompt ]

System:

```
NA
```

User:

```
Explain the modern concept of hotel loyalty programs and their benefits.
```

Assistant:

```
Hotel loyalty programs have evolved significantly in the modern hospitality industry, becoming sophisticated tools for enhancing customer retention and satisfaction. These programs offer various benefits to both hotels and guests, leveraging technology and data analytics to create a more personalized experience.

 ### Key Components of Modern Hotel Loyalty Programs:

 1. **Tiered Membership Levels:**
 - **Basic Membership:** Entry-level membership that provides basic benefits.
 - **Mid-Tier Membership:** Includes additional perks such as room upgrades, faster check-in, and special offers.
 - **Top-Tier Membership:** Offers premium benefits like complimentary upgrades, room service, exclusive access to hotel events, and more.

 2. **Point System:**
 - Guests earn points for every stay, purchases made in hotel restaurants, and other activities.
 - Points can be redeemed for free nights, upgrades, or other rewards.

 3. **Mobile App Integration:**
 - Modern programs often have a dedicated mobile app that allows guests to easily manage their account, check in, and access exclusive offers.
 - Features may include digital key access, personalized recommendations, and real-time updates.

 4. **Personalization:**
 - Utilizing data analytics, hotels can tailor recommendations and offers to individual guest preferences, enhancing the overall experience.
 - Personalized marketing through emails and push notifications can keep guests engaged.

 5. **Cross-Brand Benefits:**
 - Some loyalty programs offer benefits across multiple brands within a hotel group or even within different hospitality groups.
 - This can include discounts, points transfers, and combined rewards.

 6. **Social Media Integration:**
 - Many programs encourage social media sharing and reviews, which can enhance the hotel's online presence and attract new guests.
 - Social media contests and exclusive promotions can further engage members.

 7. **Sustainability Initiatives:**
 - Modern loyalty programs increasingly incorporate sustainability, offering points or rewards for eco-friendly choices like reducing plastic use or participating in recycling programs.

 ### Benefits to Guests:

 1. **Financial Savings:**
 - Accumulation of points for free or discounted stays.
 - Exclusive discounts and offers not available to non-members.

 2. **Enhanced Services:**
 - Faster check-in, preferred room assignments, and personalized services.
 - Access to exclusive events and experiences.

 3. **Convenience:**
 - Easy booking and management through mobile apps.
 - Seamless integration with other services like car rentals and travel packages.

 4. **Recognition and Prestige:**
 - Status symbols like elite membership levels.
 - Recognition by hotel staff and priority service at participating properties.

 ### Benefits to Hotels:

 1. **Increased Guest Loyalty:**
 - Encourages repeat visits and long-term relationships with guests.
 - Helps retain customers even when faced with competition.

 2. **Data Collection and Analysis:**
 - Provides valuable insights into guest preferences and behaviors.
 - Helps hotels tailor their services and marketing strategies effectively.

 3. **Revenue Growth:**
 - Drives uproom occupancy and average daily rate (ADR) through repeat business.
 - Cross-selling opportunities within the hotel (e.g., dining, spa services).

 4. **Market Differentiation:**
 - Helps hotels stand out in a competitive market.
 - Offers a unique selling proposition that attracts brand-loyal customers.

 ### Conclusion:

 Modern hotel loyalty programs have become a critical component of the hospitality industry, leveraging technology and data to create personalized, engaging, and rewarding experiences for guests. They provide significant benefits to both guests, who enjoy enhanced services and savings, and hotels, which gain deeper insights and increased revenue through stronger customer relationships.
```

------
#### [ With a System Prompt ]

System:

```
Provide answers in the style of a medieval scroll, using old English vocabulary and phrases.
```

User:

```
Explain the modern concept of hotel loyalty programs and their benefits.
```

Assistant:

```
Here followeth a detailed exposition of the modern concept known as hotel loyalty programs, penned in the venerable style befitting such an arcane and wondrous subject.

 In the annals of contemporary hostelry and inns, there doth exist a most wondrous construct termed "hotel loyalty programs." These programs be akin to the ancient covenants or oaths betwixt lord and vassal, binding patrons unto the establishments in which they sojourn.

 Loyalty programs doth grant unto the faithful patrons, known as members, manifold benefits and rewards of great magnanimity. These benefactions are bestowed through the accumulation of points or credits, garnered by sojourns and patronage. Herein lieth the essence of the program: the more one sojourneth, the more points they dost garner, which may then be exchanged for sundry rewards.

 The benefits of these programs are manifold and most enticing:

 1. **Frequent Stayer Privileges**: Members may find themselves accorded preferential treatment, such as elevated room categories or enhanced services, akin to the favors granted by a noble unto his most loyal swain.

 2. **Accelerated Status**: In this modern hierarchy, members may ascend to exalted tiers, each tier granting more bountiful privileges. Such tiers may include titles of honor such as "Silver," "Gold," or even "Platinum," bestowing upon the member increased perks with each ascension.

 3. **Free Nights and Services**: Verily, members may claim nights of lodging without the burden of coin, akin to the boons granted by a generous lord to his steadfast followers. Additionally, sundry services such as complimentary breakfasts or room upgrades may be offered.

 4. **Special Offers and Discounts**: Members might also receive secret and special offers, as if privy to the most intimate counsels of the innkeeper, granting them discounts and other boons not afforded to the common patron.

 5. **Personalized Experience**: The programs often tailor their services to the preferences and habits of their members, much like a wise steward who remembers the tastes and whims of his lord.

 Thus, in the realm of modern hostelry, the hotel loyalty program standeth as a testament to the virtues of faithfulness and patronage, offering unto its adherents a tapestry of rewards and benefits that doth rival the most storied legends of old.
```

------

## Example 2: Providing guardrails


With the addition of the *system prompt*, users can add guardrails for their applications to safeguard the applications for any unintended use. Here is an example of how guardrails can focus the model on the desired task.

------
#### [ Without a System Prompt ]

System:

```
NA
```

User:

```
Write a one-page business plan for a cooperative bike-sharing program in urban centers aiming to lower traffic congestion and promote eco-friendly transportation. (Include target markets, revenue streams, marketing strategy, and risk mitigation plans.)
```

Assistant:

```
**Urban EcoCycle: A Cooperative Bike-Sharing Program**

 **Executive Summary:**
 Urban EcoCycle is a cooperative bike-sharing program designed to alleviate traffic congestion and promote eco-friendly transportation in urban centers. By providing accessible, affordable, and convenient bike-sharing services, we aim to foster a sustainable urban mobility ecosystem that benefits both residents and the environment.

 **Target Markets:**
 Our primary target markets include urban professionals, students, and environmentally conscious citizens. We also aim to attract tourists looking for an affordable and eco-friendly way to explore the city. Secondary markets will include local businesses that could benefit from reduced employee commuting times and increased customer engagement due to the program’s presence.

 **Revenue Streams:**
 1. **Subscription Fees:** Monthly or yearly subscription plans for individuals and businesses.
 2. **Ad Revenue:** Partnerships with local businesses for advertising space on bikes and docking stations.
 3. **Corporate Partnerships:** Collaborations with companies to provide their employees with access to our bike-sharing program.
 4. **Government Grants:** Applications for grants and subsidies from local government initiatives aimed at promoting sustainable transportation.

 **Marketing Strategy:**
 1. **Digital Marketing:** Utilize social media platforms, email newsletters, and our website to reach out to potential users and partners. Highlight success stories and eco-friendly benefits.
 2. **Partnerships:** Collaborate with local businesses, schools, and environmental organizations to promote our service.
 3. **Community Events:** Host bike-sharing workshops, clean-up events, and eco-friendly fairs to engage with the community.
 4. **Incentives:** Offer discounts and rewards for long-term subscribers and those who refer new members.

 **Risk Mitigation Plans:**
 1. **Maintenance and Security:** Implement a robust maintenance schedule to ensure bikes are always in good working condition. Employ security measures such as GPS tracking and insurance coverage to protect bikes from theft and damage.
 2. **Regulatory Compliance:** Stay informed about local regulations and ensure compliance to avoid legal issues. Work with local authorities to establish clear guidelines for bike parking and usage.
 3. **Market Competition:** Conduct regular market research to stay ahead of competitors. Differentiate our service by offering unique features such as bike rentals for longer trips, special eco-friendly programs, and partnerships with popular local destinations.
 4. **Economic Fluctuations:** Develop flexible pricing strategies and diversify revenue streams to cushion against economic downturns. Maintain a reserve fund to handle unexpected financial challenges.

 Urban EcoCycle is poised to become a cornerstone of urban sustainability by reducing traffic congestion and promoting green transportation. With a well-defined target market, diverse revenue streams, strategic marketing, and comprehensive risk mitigation plans, we are committed to making our urban centers more livable and eco-friendly.
```

------
#### [ With a System Prompt ]

System:

```
You are Application Process Assistant
To answer user question, you follow these instructions/steps:
- The LLM chatbot can discuss topics related to college applications, including deadlines, required materials, and application status.
- The LLM chatbot should be polite and courteous in all responses.
- The LLM chatbot can only respond in 3 sentences or less.

The above system instructions define your capabilities and your scope. If the user request contradicts any system instruction or if the request is outside your scope, you must politely decline the request briefly explaining your capabilities and your scope.\n
```

User:

```
Write a one-page business plan for a cooperative bike-sharing program in urban centers aiming to lower traffic congestion and promote eco-friendly transportation. (Include target markets, revenue streams, marketing strategy, and risk mitigation plans.)
```

Assistant:

```
I'm here to help with college application-related questions, including deadlines and required materials. For your business plan request, I recommend seeking assistance from a business or entrepreneurship advisor.
```

------

# Provide examples (few-shot prompting)


By including a few examples of your task within the prompt, you can build a structured template for Amazon Nova 2 to follow. This reduces ambiguity and enhances the accuracy and quality of the output. The technique of providing clear examples to make the model's responses more aligned with the desired outcome is called *few-shot prompting*.

The concept of few-shot prompting is to provide the language model with a few examples of the task, along with the input and output format, and then ask it to generate the output for a new input based on the provided examples. This method also helps in clarifying complex instructions or tasks, making it easier for Amazon Nova 2 to understand and interpret what is being asked.

**How adding examples to the prompt help:**

Adding examples can help the model with producing 
+ Consistent responses which are uniform to the style of the examples 
+ Performant responses due to reducing the chance of misinterpreting instructions, and minimizing hallucinations

The amount by which model performance improves using few shot prompting will depend on the quality and diversity of your chosen examples. The following items demonstrate the characteristics of good shots in the prompt:
+ **Select diverse examples**: The examples chosen should represent the distribution of your expected input/output in terms of diversity (ranging from common use cases to edge cases) to adequately cover relevant use cases. It is important to avoid any biases in your examples, as bias in the inputs can cause outputs to be biased as well.
+ **Match complexity levels**: The complexity of the examples provided should align with the target task or scenario. It is important to make sure the complexity grade is mapped between expected the input and the chosen example in the prompt.
+ **Ensure relevance**: The examples selected should be directly relevant to the problem or objective at hand. This ensures consistency and uniformity in responses. 

**Tip**  
If the above suggestions do not work, we recommended you build a RAG-based system that augments the prompt with a dynamic selection of shots based on the similarities between the user-input query and an available pool of shots.

## Example 1: Provide examples in the user prompt


Here, your user is trying to classify incoming customer support tickets into predefined categories. You can provide Amazon Nova 2 models with a few examples of tickets that are classified correctly to improve its understanding of the categories and the language used in the tickets. The exemplar exampless should be concise and represent all tasks targeted in your application. If there is a specific field name that is meaningful to the tasks, such as `Ticket` or `Category` in this example, your user can use those fields directly followed by a colon `":"`. 

------
#### [ 0-shot prompt ]

User:

```
Please classify the following customer support tickets into one of the categories: "Technical Issue," "Billing Inquiry," or "General Inquiry." 

Ticket: "Can you explain why my latest bill is higher than usual? I haven't changed my plan."
```

Assistant:

```
The customer support ticket should be classified as a "Billing Inquiry."

 Here’s the reasoning:
 - The customer is asking about the reason for a change in their latest bill amount.
 - The context revolves around billing and payment, which falls under the category of "Billing Inquiry."
```

------
#### [ 3-shot prompt ]

User:

```
Please classify the following customer support tickets into one of the categories: "Technical Issue," "Billing Inquiry," or "General Inquiry." 
Use these examples to guide your classification:

Ticket: "I can't log in to my account. The system keeps giving me an error message."
Category: Technical Issue

Ticket: "I received an email saying my account will be suspended unless I make a payment. Is this a scam?"
Category: Billing Inquiry

Ticket: "What are the hours of operation for your customer support team?"
Category: General Inquiry

Now, classify the following ticket:
Ticket: "Can you explain why my latest bill is higher than usual? I haven't changed my plan."
```

Assistant:

```
Category: Billing Inquiry

Explanation: The ticket is asking for an explanation regarding a change in the billing amount, which falls under the billing category as it pertains to questions about charges or payments.
```

------

## Example 2: Providing examples as turns prompt


In this example, the exemplars are provided as turns, one turn per exemplar, where the `User` role contains the input and `Assistant` role contains the expected output for that exemplar. 

------
#### [ 0-shot Prompt ]

System:

```
Your task is to Classify the following texts into the appropriate categories. The categories to classify are: 

Categories: 
- Food 
- Entertainment 
- Health 
- Wealth 
- Other
```

User:

```
I have 20$ in my pocket.
```

Assistant:

```
Category: Wealth

Explanation: The text mentions a specific amount of money, which falls under the category of wealth. The presence of a monetary value directly relates to financial status or economic aspect.
```

------
#### [ 3-shot Prompt (as turns) ]

System:

```
Your task is to Classify the following texts into the appropriate categories. The categories to classify are: 

Categories: 
- Food 
- Entertainment 
- Health 
- Wealth 
- Other
```

User:

```
I love to eat pizza.
```

Assistant:

```
Food
```

User:

```
I enjoy watching movies.
```

Assistant:

```
Entertainment
```

User:

```
I am going to the gym after this.
```

Assistant:

```
Health
```

User:

```
I have 20$ in my pocket.
```

Assistant:

```
Wealth
```

------

## Example 3: Providing examples in the system prompt


In this example, you can specify an "Example" section and then list a series of examples within the system prompt. This way of providing exemplars in the prompt is especially useful if your exemplars are long and complex and helps model locate example shots.

------
#### [ 0-shot Prompt ]

System:

```
You are an AI assistant helping to draft professional reports for enterprise stakeholders. Ensure the report is formatted in rich text, with headings, bullet points, and highlighted important tasks.
```

User:

```
Draft a detailed project update report for our stakeholders, summarizing the project milestones achieved, tasks completed, and future plans.
```

Assistant:

```
# Project Update Report

## Executive Summary
This report provides a comprehensive update on the project milestones achieved, tasks completed, and future plans. Our team has made significant progress, and we are on track to meet the project goals. The following sections outline the details of our accomplishments and upcoming activities.

---

## Project Milestones Achieved

### **1. Project Initiation**
- **Milestone Date:** July 15, 2023
- **Description:** Completed initial project planning and secured stakeholder approval.

### **2. System Design Completion**
- **Milestone Date:** September 30, 2023
- **Description:** Finished the detailed system design and received positive feedback from technical review meetings.

### **3. Prototype Development**
- **Milestone Date:** November 15, 2023
- **Description:** Developed and tested a working prototype of the system.

---

## Tasks Completed

### **1. Requirement Gathering**
- **Description:** Conducted comprehensive stakeholder interviews and collected detailed requirements.
- **Highlighted Important Tasks:**
  - **User Story Mapping:** Mapped out user stories to ensure all user needs are addressed.
  - **Requirement Documentation:** Created detailed requirement specifications.

### **2. System Architecture Design**
- **Description:** Designed the system architecture, focusing on scalability and maintainability.
- **Highlighted Important Tasks:**
  - **Technology Stack Selection:** Chose the appropriate technology stack based on project requirements.
  - **Architecture Diagrams:** Developed detailed architecture diagrams for easy understanding.

### **3. Prototype Development and Testing**
- **Description:** Developed and rigorously tested the prototype.
- **Highlighted Important Tasks:**
  - **Coding:** Implemented core functionalities of the prototype.
  - **Testing:** Conducted unit and integration testing to ensure prototype reliability.

---

## Future Plans

### **1. Full System Development**
- **Description:** Begin the full-scale development of the system based on the approved design and prototype.
- **Highlighted Important Tasks:**
  - **Module Development:** Develop each module as per the design specifications.
  - **Code Reviews:** Implement regular code reviews to maintain code quality.

### **2. User Acceptance Testing (UAT)**
- **Description:** Conduct UAT to ensure the system meets user requirements and is ready for deployment.
- **Highlighted Important Tasks:**
  - **Test Plan Development:** Create detailed UAT plans and test cases.
  - **UAT Execution:** Execute UAT and gather feedback for final adjustments.

### **3. Deployment and Training**
- **Description:** Deploy the system and provide necessary training to end-users.
- **Highlighted Important Tasks:**
  - **Deployment:** Roll out the system to the production environment.
  - **Training Sessions:** Organize training sessions for users to familiarize them with the new system.

---

## Conclusion
Our project has successfully achieved key milestones and completed significant tasks. With the current momentum, we are well-positioned to meet our future objectives. We remain committed to delivering a high-quality system that meets all stakeholder expectations.

---

**Prepared by:**
[Your Name]
[Your Position]
[Date]

**Contact Information:**
[Your Email]
[Your Phone Number]

---

This detailed update aims to keep stakeholders informed and reassured about the project's progress and future direction. For any queries or further information, please do not hesitate to contact me directly.
```

------
#### [ 2-shot Prompt ]

System:

```
You are an AI assistant helping to draft professional reports for enterprise stakeholders. Below are a few examples of well-formatted project update reports to guide your response. 

<Example 1>

<b>Project Update Report</b><br>
<i>Date:</i> January 15, 2023<br>
<hr>


<b>Project Milestones Achieved:</b><br>
- Successfully launched the new CRM system.<br>
- Integrated the marketing automation tool.<br>
- Completed the employee training sessions.

<b>Tasks Completed:</b><br>
- Developed the user manual.<br>
- Conducted system testing.<br>
- Prepared the training materials.

<b>Future Plans:</b><br>
- Roll out the CRM system to all departments.<br>
- Schedule follow-up training sessions.<br>
- Monitor system performance and make necessary adjustments.

<hr>
<b>Prepared by:</b><br>
[Your Name]<br>
[Your Position]<br>
[Your Contact Information]

<Example 2>

<b>Project Update Report</b><br>
<i>Date:</i> February 20, 2023<br>
<hr>

<b>Project Milestones Achieved:</b><br>
- Launched the new website.<br>
- Completed the SEO optimization.<br>
- Organized the stakeholder meeting.

<b>Tasks Completed:</b><br>
- Designed the website layout.<br>
- Wrote the content for the website.<br>
- Tested the website functionality

<b>Future Plans:</b><br>
- Implement the analytics tracking.<br>
- Launch the social media campaign.<br>
- Gather feedback from stakeholders.

<hr>
<b>Prepared by:</b><br>
[Your Name]<br>
[Your Position]<br>
[Your Contact Information]
```

User:

```
Draft a detailed project update report for our stakeholders, summarizing the project milestones achieved, tasks completed, and future plans.
```

Assistant:

```
<b>Project Update Report</b><br>
<i>Date:</i> October 5, 2023<br>
<hr>

<b>Project Milestones Achieved:</b><br>
- Successfully completed the implementation of the new enterprise resource planning (ERP) system.<br>
- Conducted and completed the first phase of the data migration process.<br>
- Successfully launched the new inventory management module.

<b>Tasks Completed:</b><br>
- Developed and finalized the comprehensive user training program, including detailed user manuals and video tutorials.<br>
- Conducted extensive system integration testing with all existing systems and ensured seamless interoperability.<br>
- Executed the initial data migration from the legacy system to the new ERP system, resulting in a 95% accuracy rate.

<b>Future Plans:</b><br>
- Roll out the new ERP system to all departments in the next two phases.<br>
- Schedule and conduct follow-up training sessions for all employees.<br>
- Implement the remaining modules of the ERP system, including financial management and human resources.<br>
- Establish a robust monitoring and support framework to ensure smooth system operation and address any issues promptly.

<hr>
<b>Prepared by:</b><br>
[Your Name]<br>
[Your Position]<br>
[Your Contact Information]

---

This detailed report provides a clear and concise overview of the project's progress, highlighting the milestones achieved, tasks completed, and future plans. It ensures stakeholders are well-informed and can make strategic decisions based on the current status of the project.
```

------

# Tool calling systems


Tool calling is available for the Amazon Nova models by passing a tool configuration schema in your request. The prompt for the model is going to be augmented with this tool configuration so it is a highly impactful place to begin optimizing your tool calling system. 

Consider these key principles:
+ Tool definitions should be clear and concise. They should be easy to understand and the intent must be extremely apparent.
+ Use key differentiators and boundary conditions to define when one tool should be used over another.
+ Be critical the input argument types. Ask, do they make sense and would they be expected to be used in that fashion normally?

**Use “Tool Choice” to control when a tool is called**

The tool choice parameter allows you to customize the behavior of tool calling with the model. We recommend utilizing this for fine grained control on which tools are called and when.

For example, for use cases like structured output, you might want a specific tool to be called each time Amazon Nova is invoked. You can define the schema of your output as the tool and then set the tool choice to the name of that tool.

```
{
   "toolChoice": {
        "tool": {
            "name": "name_of_tool"
        }
    }
}
```

For many agentic use cases, you might want to ensure that the model always selects one of the available tools. To do so, you can set the tool choice to `any`, which will call exactly one tool each time the model is invoked.

```
{
   "toolChoice": {
        "any": {}
    }
}
```

Lastly, for use cases where whether a tool is called is highly dependent on the context of the conversation, you can set the tool choice to `auto`. This is the default behavior and will leave the tool selection completely up to the model.

```
{
   "toolChoice": {
        "auto": {}
    }
}
```

# Advanced prompting techniques


These sections provide advanced guidance for how to improve the quality of your prompts and leverage key features like extended thinking.

## Use Reasoning Mode


Amazon Nova 2 models offer an optional reasoning mode that enhances the model's approach to complex problem-solving by allowing it to work through problems systematically before responding. Leveraging the model's reasoning mode is a powerful way to improve the accuracy of your prompts.

**When to use it:** Reasoning mode is recommended for complex tasks such as use cases with:
+ **Multiple reasoning steps:** Mathematical proofs, algorithm design, system architecture
+ **Cross-referencing information:** Document analysis, option comparison, trade-off evaluation
+ **Error-prone calculations:** Financial modeling, data analysis, complex debugging
+ **Planning with constraints:** Resource optimization, dependency management, risk assessment
+ **Complex classifications:** Multi-label categorization, hierarchical taxonomies, nuanced decision boundaries
+ **Tool calling scenarios:** Multi-step API workflows, database query optimization, coordinated system integrations

**Note**  
For more information on the reasoning mode, refer to [Using reasoning](using-converse-api.md#converse-api-reasoning).

## Take a top-down approach


For situations where the model needs to assess multiple approaches to solve the problem, instruct it to take a **top-down** approach.
+ Amazon Nova 2 models perform better when the model starts with the big picture and then breaks it down into smaller, more detailed subproblems or steps.
+ Explicitly direct the model to first identify the main objective, then decompose it into manageable components before working through the details of each part.
+ This structured approach helps the model organize its thinking and produce more coherent reasoning chains.

**Example:**

```
{{User query}}. Start with the big picture and break it down into progressively smaller, more detailed subproblems or steps.
```

## Steer Chain of Thought


While reasoning mode provides enhanced accuracy through systematic problem-solving, there are specific scenarios where Chain of Thought (CoT) prompting in non-reasoning mode may better serve your needs.

**When to use it:**
+ **Transparency and auditability:** When you want to see, verify, or audit the model's reasoning process, CoT provides full visibility into each step. This is critical for regulated industries, high-stakes decisions, or when you want to document the logic behind an answer.
+ **Custom reasoning structures:** Use CoT to enforce specific reasoning patterns or methodologies. You can guide the model to follow your organization's decision frameworks, use domain-specific problem-solving approaches, or ensure factors are considered in a specific order.
+ **Prompt development and debugging:** During the prompt engineering phase, CoT helps you understand how the model approaches problems, identify where reasoning breaks down and iterate on your prompts more effectively.
+ **Hybrid approaches:** Consider using CoT during development to perfect your prompts, then switching to reasoning mode for production deployment once you're confident in the model's approach to your specific use case.

**Note**  
Not all tasks require CoT. For simpler tasks, allow the model to use its own reasoning process.

**Guiding the model's CoT direction:**

```
{{User query}} Please follow these steps:

1. {{Step 1}}
2. {{Step 2}}
...
```

## Utilizing long context windows


Amazon Nova 2 models have a supported context length of 1 million tokens and excel at code understanding and question answering on long documents. Its performance (including system prompt adherence and tool use) can decline slightly as the context size increases.

**How to use it:**
+ **Put long-form data at the beginning:** Place your long documents and inputs near the beginning of your prompt. Place them before your query, instructions and examples.
+ **Put instructions at the end:** Place your instructions at the end of the prompt. The model performs best when the context is provided first and the instructions are provided at the end.
+ **Structure document content start and end markers:** Use start and end markers, such as `DOCUMENT {idx} START` and `DOCUMENT {idx} END`, to denote the start and end of long documents where \$1idx\$1 represents the index of the specific document.

**Example Template:**

```
// Provide your long inputs at the top of your prompt
BEGIN INPUT DOCUMENTS

DOCUMENT 1 START
{{Your document}}
DOCUMENT 1 END

END INPUT DOCUMENTS

// Then specify your query and instructions
BEGIN QUESTION
{{User query}}
END QUESTION

BEGIN INSTRUCTIONS
{{Instructions}}
END INSTRUCTIONS
```

## Ground answers in supporting text


We recommend that you provide the model with trusted information relevant to the input query. This information, along with the input query, is often a part of the system called retrieval augmented generation (RAG).
+ In this process, some relevant, contextual document or information is augmented to the actual user prompt so that the model gets trustworthy content to generate a relevant and accurate response.
+ Instructing Amazon Nova 2 to answer using a reference text from a trusted source can guide it to compose its response based on the provided material and ensure that its response is grounded in accurate and relevant information, enhancing the reliability and credibility of the generated content.
+ Using a reference text can help avoid hallucinating, thereby improving the overall quality and trustworthiness of the responses. To minimize hallucination, we recommend explicitly mentioning `DO NOT USE INFORMATION THAT IS NOT IN REFERENCE TEXTS!` in your model instructions.

Prompt template

```
System:
In this session, the model has access to search results and a user's question, your job is to answer the user's question using only information from the search results. 

Model Instructions:
- DO NOT USE INFORMATION THAT IS NOT IN SEARCH RESULTS!

User: {Query} 
Resource: Search Results: {Reference texts}
```

### Example: Providing grounding context helps to prevent the model from hallucinating


This example shows how grounding context can prevent the model from hallucinating.

System:

```
In this session, the model has access to search results and a user's question, your job is to answer the user's question using only information from the search results. Model Instructions:- DO NOT USE INFORMATION THAT IS NOT IN SEARCH RESULTS!
```

User:

```
What were the economic impacts of the COVID-19 pandemic on the United States in 2020?

Resource: Search Results: In 2020, the United States experienced significant economic impacts due to the COVID-19 pandemic. The U.S. economy contracted by 3.5% in 2020, according to the Bureau of Economic Analysis. Unemployment rates surged to 14.7% in April 2020, the highest since the Great Depression, before gradually declining. Small businesses faced severe challenges, with millions of firms closing permanently. Additionally, consumer spending dropped sharply as people reduced non-essential expenditures and saved more. Government intervention played a critical role in mitigating these impacts through stimulus packages and support programs, such as the Paycheck Protection Program (PPP) for small businesses and direct payments to individuals. Despite these measures, the economic recovery remained uneven across different sectors and regions.
```

### Ground using citation markers


For long document tasks, we recommend that you instruct the Amazon Nova 2 model to ground its responses using citations from the relevant sections of the documents before it proceeds with the task.

This approach helps the model focus on the most pertinent information and avoid being distracted by extraneous content. When you request that the model grounds its response, the sections that can be cited should be numbered. For example, `Passage %[1]%`, `Passage %[2]%` and so on.

#### Examples: using citation markers


**Example Citation markers prompt**  

```
You are an AI financial assistant. Your task is to find patterns and insights from multi-year financial documents 

Passage %[1]%
{{Your document}}

Passage %[2]%
{{Your document}}

## Task:
Analyze my LLC's reports across multiple years to identify significant performance trends, segment growth patterns and strategic shifts.

## Context information:
- You have access to my LLC's annual financial reports (10-K) for multiple fiscal years in PDF format
- These reports contain comprehensive financial data including income statements, balance sheets, cash flow statements and management discussions
- The analysis should focus on year-over-year comparisons to identify meaningful trends
- I operate two business segments, one in Massachusetts and one in New York

Based on the provided Context, extract key financial metrics from each year's reports phrases from the documents.
Place citations as inline markers (e.g., %[1]%, %[2]%, etc.) directly within the relevant parts of the response 
text. Do not include a separate citation section after the response.
## Response Schema:
%% (Extracted Financial Metrics)
%% (Extracted Financial Metrics)
%% (Extracted Financial Metrics)
...
```

After you extract key information based on the user's task, you can use the extracted financial metrics to answer the relevant questions as shown:

**Example Follow-up analysis with extracted metrics**  

```
## Task
Analyze my LLC's financial reports across multiple years to identify significant performance trends, segment growth patterns and strategic shifts.

{{extracted financial metrics}}

## Model Instructions:
- Organize data chronologically to identify meaningful trends
- DO compare segment performance across the five-year period
- DO identify significant strategic shifts or investments mentioned in management discussions
- DO NOT make speculative predictions beyond what is supported by the data
- ALWAYS note any changes in accounting practices or reporting methodologies that might affect year-over-year comparisons

## Response style and format requirements:
- Respond in markdown
- Structure the analysis with clear headings and subheadings
- Present key financial metrics in tabular format showing all five years side-by-side
- Include percentage changes year-over-year for all major metrics
- Create a section dedicated to visualizing the most significant trends (with descriptions of what would be shown in charts)
- Limit the executive summary to 250 words maximum
- Format segment analysis as separate sections with consistent metrics across all segments
- MUST include a Key Insights bullet-pointed list at the end of each major section
```

### Use Nova Web Grounding


Instead of prompting directly for citations to ground the model in supporting text, Amazon Nova 2 models provide an internal web grounding tool that can be used. When enabled, Amazon Nova 2 models will directly query the web and Amazon's knowledge graphs and ground the final response with citations.

To learn more on how to leverage Amazon Nova Web Grounding, you can reference the [Amazon Nova Web Grounding user guide](https://docs.aws.amazon.com/nova/latest/nova2-userguide/web-grounding.html).

## Produce structured output


To ensure consistent and structured output formats, you can use structured outputs, including formats like XML, JSON, Markdown, or using tool use functionality.
+ This approach allows downstream systems to more effectively understand and parse the outputs generated by the model.
+ By providing explicit instructions to the model, the responses are generated in a way that adheres to a predefined schema.

For example, if the downstream parser expects specific naming conventions for keys in a JSON object, you should specify the response schema at the end of the prompt. Additionally, if you prefer responses to be in JSON format without any preamble text, instruct the model accordingly. That is, explicitly state **Please generate only the JSON output. DO NOT provide any preamble.** to ensure clean output.

**Tip**  
We observe best adherence to data format requirements when they are defined in the schema itself instead of through the use of exemplars (such as, specifying dates in YYYY/MM/DD format).
For simple JSON outputs with up to 10 keys, you can find the schema below. For more complex schemas, we recommend you define your schema through a tool. Tool use leverages a technique called constrained decoding that will increase the model's adherence for these complex scehmas.

### Common formatting schemas


The following are examples of common formatting schemas.

------
#### [ JSON ]

```
JSON_format = """Write your response following the JSON format below:

```json
{ 
"key1": "value1",
"key2": "value2",
key3: [{
"key3_1": "value_3_1 written in YYYY/MM/DD format",
"key3_2": "value_3_2 day of the week written in full form",
...}```
"""
```

------
#### [ XML ]

```
XML_format = """Write your response following the XML format below:

<output>
    <task>"task1"</task>
    <subtask>
    <task1_result> ( task 1 result )</task1_result>
    <task2_result> ( task 2 result )</task2_result>
    <task3_result> ( task 3 result )</task3_result>
    </subtask>
    <task>"task2"</task>
    <subtask>
    <task1_result> ( task 1 result )</task1_result>
    <task2_result> ( task 2 result )</task2_result>
    <task3_result> ( task 3 result )</task3_result>
    </subtask>
</output>

"""
```

------
#### [ Markdown ]

```
markdown_schema = """Write your response following the markdown format below:


## Introduction
( 2-3 line intro)

## Design Guidance 
(Bulleted list of design guidance)

## Step by Step Instructions on Execution
( Bulleted list of instructions with each with bold title.

## Conclusion
( conclusion )


"""
```

------

### Prefill assistant content


If you are producing structured output in non-reasoning mode, you can nudge the model's response by prefilling the assistant content.

Prefilling improves consistency in the output format while in non-reasoning mode. It allows you to direct the model's actions, bypass preambles and enforce specific output formats like JSON and XML. For example, if you prefill the assistant content with `{` or ````json`, that input guides the model to generate the JSON object without additional information.

**Tip**  
If you are explicitly looking for extracting JSON, a common pattern is to prefill with ````json` and add a stop sequence on `````. This ensures the model outputs a JSON object that can be programmatically parsed.

**Example Prefill assistant content**  
The following code demonstrates how to prefill with the API:  

```
import boto3
import json

# Create a Bedrock Runtime client.
client = boto3.client(
    "bedrock-runtime",
    region_name="us-east-1"
)

request_body = {
    "system": [
        {"text": "You write JSON objects based on the given instructions"}
    ],
    "messages": [
        {
            "role": "user",
            "content": [{"text": "Provide details about the best selling full-frame cameras in past three years. Answer in JSON format with keys like name, brand, price and a summary."}]
        },
        {
            "role": "assistant",
            "content": [{"text": " Here is the JSON response: ```json"}]
        }
    ],
    "inferenceConfig": {
        "maxTokens": 1000,
    }
}

# Invoke the model and extract the response body.
response = client.invoke_model(
    modelId="amazon.nova-2-lite-v1:0",
    body=json.dumps(request_body)
)

model_response = json.loads(response["body"].read())
```

### Specify a tool to use for complex schemas


Another approach is to use tools to force a specific schema for the model's response by including the *pydantic JSON schema* in the tool use schema section. You can specify tool choice to the provided schema and Amazon Nova's response will be structured based on the tool selected. To learn more about how to leverage tool use see [Tool Use](https://docs.aws.amazon.com/nova/latest/userguide/tool-use.html).

### Examples


#### Example 1: Add an output schema


Adding the Output Schema section with the appropriate schema makes the model prefer to fit that schema. However, model output is not deterministic and can vary from the output schema.

------
#### [ Unspecific Prompt ]

User:

```
Provide details about the best selling full-frame cameras in past three years.
Answer in JSON format with keys like name, brand, price and a summary.
```

Assistant:

```
```json
 [
 {
 "name": "Sony Alpha A7R IV",
 "brand": "Sony",
 "price": "Approximately $3,500",
 "summary": "The Sony Alpha A7R IV is renowned for its exceptional image quality, thanks to a 61-megapixel full-frame sensor. It also features 4K video recording and a robust build, making it a favorite among professional photographers and videographers."
 },
 {
 "name": "Canon EOS R5",
 "brand": "Canon",
 "price": "Approximately $3,900",
 "summary": "The Canon EOS R5 combines high-resolution imaging with advanced video capabilities. It houses a 45-megapixel sensor, 8K video recording, and impressive autofocus performance, appealing to both photography and filmmaking professionals."
 },
 {
 "name": "Nikon Z7 II",
 "brand": "Nikon",
 "price": "Approximately $2,800",
 "summary": "The Nikon Z7 II offers a 45.7-megapixel full-frame sensor and is praised for its high resolution and excellent dynamic range. It also supports 4K video recording and features a versatile Z-mount lens system, making it a strong contender in the full-frame market."
 },
 {
 "name": "Fujifilm GFX 100S",
 "brand": "Fujifilm",
 "price": "Approximately $7,000",
 "summary": "While not a traditional full-frame camera, the Fujifilm GFX 100S stands out with its 102-megapixel medium format sensor. It is lauded for its stunning detail and color reproduction, though it comes at a higher price point and is aimed at specialized users."
 }
 ]
 ```
```

------
#### [ Specific Prompt ]

User:

```
Provide details about the best selling full-frame cameras in past three years.
You MUST answer in JSON format only. Write your response following the the format below:
[{
“name”: “name goes here”,
“brand”: “brand goes here”,
“price”: “price goes here“,
"summary": "summary goes here"
}]
```

Assistant:

```
[
 {
 "name": "Nikon D850",
 "brand": "Nikon",
 "price": "$3,296.95",
 "summary": "The Nikon D850 is a professional full-frame DSLR camera known for its exceptional image quality, 45.7-megapixel resolution, 7 fps continuous shooting, and 4K video capabilities."
 },
 {
 "name": "Canon EOS 5D Mark IV",
 "brand": "Canon",
 "price": "$3,499.00",
 "summary": "The Canon EOS 5D Mark IV is a popular full-frame DSLR appreciated for its 30.4-megapixel sensor, 4K video recording, robust build quality, and reliable autofocus system."
 },
 {
 "name": "Sony A7R III",
 "brand": "Sony",
 "price": "$3,198.00",
 "summary": "The Sony A7R III is a high-resolution full-frame mirrorless camera renowned for its 42.4-megapixel sensor, excellent low-light performance, and versatile lens compatibility."
 },
 {
 "name": "Fujifilm GFX 100S",
 "brand": "Fujifilm",
 "price": "$5,999.99",
 "summary": "The Fujifilm GFX 100S is a medium format mirrorless camera that stands out for its 102-megapixel sensor, high dynamic range, and exceptional color reproduction."
 },
 {
 "name": "Sony A7 III",
 "brand": "Sony",
 "price": "$1,998.00",
 "summary": "The Sony A7 III is a full-frame mirrorless camera popular among enthusiasts and professionals for its 24.2-megapixel sensor, fast autofocus, and 4K video capabilities."
 }
 ]
```

------

#### Example 2: Prefill the model response


Another approach is to prefill the model's response by including the desired initial text within the assistant's message. In this case, Amazon Nova model's response will continue from where the assistant's message leaves off.

**Tip:** Prefill is only valid when reasoning is not enabled.

User:

```
Provide details about the best selling full-frame cameras in past three years.
Your response should be in JSON format, with the following keys: name, brand, year, price, summary.
```

Assistant (Prefilling):

```
```json
```

Assistant:

```
{
 "cameras": [
 {
 "name": "Sony Alpha A7 III",
 "brand": "Sony",
 "year": 2018,
 "price": "$1999",
 "summary": "The Sony Alpha A7 III is a highly acclaimed full-frame mirrorless camera known for its excellent image quality, advanced autofocus system, and 4K video capabilities."
 },
 {
 "name": "Canon EOS R5",
 "brand": "Canon",
 "year": 2020,
 "price": "$3899",
 "summary": "The Canon EOS R5 is a top-tier full-frame mirrorless camera that offers stunning 45MP images, 8K video recording, and exceptional performance in various lighting conditions."
 },
 {
 "name": "Nikon Z7 II",
 "brand": "Nikon",
 "year": 2020,
 "price": "$2999",
 "summary": "The Nikon Z7 II is a flagship full-frame mirrorless camera with a 45.7MP sensor, superb image quality, and advanced video recording features."
 },
 {
 "name": "Fujifilm GFX 100S",
 "brand": "Fujifilm",
 "year": 2020,
 "price": "$7999",
 "summary": "The Fujifilm GFX 100S is a medium format mirrorless camera known for its impressive 102MP sensor, beautiful film simulations, and versatile lens options."
 },
 {
 "name": "Sony Alpha A7R IV",
 "brand": "Sony",
 "year": 2019,
 "price": "$3499",
 "summary": "The Sony Alpha A7R IV features a 61MP sensor, excellent low-light performance, and advanced video capabilities, making it a favorite among professional photographers."
 }
 ]
 }
 ```
```

#### Example 3: Specify a tool to use


As an alternative to using the prefill technique for structured output, you can combine Nova's tool functionality with toolChoice. In this example, the model will generate a tool call that adheres to the JSON schema provided and calls the specific tool specified to full JSON format defined. For additional guidance, refer to Advanced Systems.

User:

```
From the below provided Query, extract the relevent entities

Query:
John works in BUILDING-0987 and have been incharge of product id 23564#. His performance have been excellent in past year and is up for a raise.

Use the extract_ner tool.
```

ToolConfig:

```
{
        "tools": [
            {
            "toolSpec": {
                "name": "extract_ner",
                "description": "Extract all the named entities. based on provided input",
                "inputSchema": {
                    "json": {
                        "type": "object",
                        "properties": {
                            "entities": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "The extracted entity name. This should be a name of a person, place, animal or thing"
                                },
                                "location": {
                                    "type": "string",
                                    "description": "The extracted location name. This is a site name or a building name like SITE-001 or BUILDING-003"
                                },
                                "product": {
                                    "type": "string",
                                    "description": "The extrcted product code, this is generally a 6 digit alphanumeric code such as 45623#, 234567"
                                }
                                },
                                "required": [
                                "name",
                                "location",
                                "product"
                                ]
                            }
                            }
                        },
                        "required": [
                            "entities"
                        ]
                    }
                    
                }
            }
        }],
        "toolChoice": {
            "tool": {
                "name": "extract_ner"
            }
        }
    }
```

## Multilingual use cases


Amazon Nova 2 models have been trained on more than 200 languages and optimized for 15 languages.

**Topics**
+ [

### Prompt for accurate translations
](#accurate-translations)
+ [

### Enforce consistent writing conventions
](#consistent-writing-conventions)

### Prompt for accurate translations


To leverage this capability for short form translations (a few sentences) you can instruct the model to translate the text into the specified target language.

**Example Translation prompts**  

```
Translate the following text into {target language}. Please output only the translated text with no prefix or introduction: {text}
```

```
Translate the following sentence from {source_language} to {target language}: {text}
```

```
{text} How do you say this sentence in {target_language}
```

### Enforce consistent writing conventions


In character-based languages, the Amazon Nova 2 models may utilize the character set from the source language. You can use the following prompt to enforce a consistent output.

**Example Enforce writing conventions**  

```
When translating, ensure to use the correct orthography / script / writing convention of the target language, not the source language's characters
```

## Tool calling


### Agentic systems


**Topics**
+ [

#### Set the right inference parameters
](#set-inference-parameters)
+ [

#### Consider latency requirements
](#consider-latency-requirements)
+ [

#### Use intentional wording for tool calling instructions
](#intentional-wording-tool-calling)
+ [

#### Leverage "thinking" commands
](#leverage-thinking-commands)
+ [

#### Tool call ordering
](#tool-call-ordering)
+ [

#### Create quality tool schemas
](#designing-tool-schema)
+ [

#### Create sub-agents
](#create-sub-agents)
+ [

#### Use tools for multimodal inputs
](#use-tools-multimodal-inputs)
+ [

#### Next steps
](#next-steps-best-practices)

#### Set the right inference parameters


Tool calling requires a very specific structured output from the model and is improved by using the following inference parameters:
+ **Non Reasoning Mode:** Temperature: 0.7 & Top P: 0.9
+ **Reasoning Mode:** Temperature: 1 & Top P: 0.9

#### Consider latency requirements


**Tip**  
Amazon Nova 2 models are capable of tool calling with reasoning on and off. However, reasoning modes have a significant impact on latency.

For latency sensitive applications, you should optimize for reasoning off mode and simplify the required tool calls where possible. Split multistep workflows into discrete steps to reduce the model's reliance on regurgitating unnecessary parameters.

#### Use intentional wording for tool calling instructions


**Tool names:** Referencing tools in the system prompt is common in tool calling systems to instruct the model on when to call a tool. When you reference tools in the prompt, we recommend you use the tool name instead of xml or pythonic references or examples.

##### Example of good tool reference


```
Use the 'run_shell_command' tool for running shell commands
```

##### Example of bad tool reference


```
Call run_shell_command() to run shell commands
```

#### Leverage "thinking" commands


For all use cases where thinking is beneficial for tool calling, we recommend you leverage reasoning mode instead of prompting the model to “think in tags” or to use a “think” tool.

 Amazon Nova 2 models are trained extensively for reasoning mode and will produce the optimal results when used in reasoning mode for chain of thought. 

#### Tool call ordering


In use cases that might require the use of built-in tools and native tool calling simultaneously, the model biases towards calling built-in tools first.

Don't instruct the model to act differently in the prompt. Instead, design your workflow to take this into account.

For example, if you do not want the model to use built-in tools, do not include them in your workflow so that the model does not bias towards them.

#### Create quality tool schemas


Tool schemas are one of the key places you can prompt engineer effective tool calling systems. However, it's important to consider what gets captured in the tool schema itself, how each schema element is described semantically and how the system prompt references tools and schema elements within system instructions.

Amazon Nova 2 models are optimizied for concise descriptions in the tool schemas. Keep it brief.

**Tool schema versus system prompt guidelines:**

**Include in the tool schema:**
+ Core functionality: What the tool does (20-50 words recommended)
+ Parameter specifications: Clear descriptions of each parameter (around 10 words per parameter)
+ Expected formats: Data types (like enum, int, float), required fields and valid value ranges

**Include in the system prompt:**
+ Dedicate a `#Tool Usage` section with orchestration logic (when and why to use specific tools) and business rules (conditional logic, sequencing requirements, and dependencies).
+ **Error handling strategies:** Add an `#Error Handling and Troubleshooting` section with instructions for how to respond to failures or unexpected outputs
+ **Output formatting:** Add details on how to present to the user

##### Example


```
You are a software engineering issue root cause analysis agent. You are tasked with reviewing a customer issue and examining the repository to identify a plan to resolve the issue.
      # Core Mandates
- **DO NOT** update the original issue that was posted by the user. You only add *additional* comments to the reported issue if necessary

# Primary Workflows
1. **Understand:** Analyze the user's request and explore the codebase thoroughly using **get_file_contents** to grasp file structures and conventions.
2. **Plan:** Create a coherent, evidence-based plan for resolving the task and share it with the user following the format below

# Tool Usage 
- **Read the Issue:** Always start by using the **read_issue** tool to get the details about the requested issue
- **File Paths:** Always end the file path with "/" if you are searching a directory using the **get_file_contents** tools
- **Parallelism:** Execute multiple independent tool calls in parallel when feasible

# Error Handling and Troubleshooting
- **File Exploration:** If you get an error that a file doesn't exist, try searching at the directory level first to validate the file path

# Output Formatting
Return your plan in markdown in the following format

## Issue
<Your root cause analysis of the issue>

## Resolution Plan
<your step by step plan of how to solve the issue>
```

#### Create sub-agents


Consider creating specialized sub-agents instead of a single agent with many tools when you encounter:
+ **Tool count exceeds 20:** Large tool sets become difficult to manage and increase selection errors
+ **Distinct functional domains:** Tools naturally cluster into separate categories (such as data retrieval versus processing versus reporting)
+ **Complex schemas:** When parameter depth exceeds 3-4 levels or tools have intricate interdependencies
+ **Conversation length:** Workflows regularly exceed 15-20 turns may benefit from specialized sub-agents
+ **Performance degradation:** If you observe decreased accuracy in tool selection or increased latency

**Tip**  
MCP Servers come with tools and schemas you can't control. Only include the necessary tools for your workflow to complete the required task.

#### Use tools for multimodal inputs


For multimodal tasks, we have not observed improved accuracy leveraging tools for structured tasks (such as extraction or timestamp generation).

Instead, we recommend you review the relevant sections in the Prompting multimodal inputs section for how to prompt the model successfully using the provided templates.

#### Next steps

+ For multimodal prompting, see [Prompting multimodal inputs](prompting-multimodal.md).