

# 提供示例（少样本提示）
<a name="prompting-examples"></a>

通过在提示中加入一些任务示例，您可以构建一个结构化模板供 Amazon Nova 遵循。这减少了模糊性，提高了输出的准确性和质量。提供清晰的示例，使模型的回复与所需结果更加一致的技巧称为*少样本提示*。

少样本提示的概念是为语言模型提供一些任务示例以及输入和输出格式，然后要求它根据提供的示例为新的输入生成输出结果。这种方法还有助于澄清复杂的指令或任务，使 Amazon Nova 更容易理解和解释提出的问题。

**在提示中添加示例有何帮助：**

添加示例有助于模型生成 
+ 与示例风格一致的回复 
+ 由于减少了误解指令的几率并最大限度地减少了幻觉，从而提高了回复性能

使用少样本提示提高模型性能的程度将取决于所选示例的质量和多样性。以下项目演示了提示中良好样本的特征：
+ **选择不同的示例**：所选示例应代表预期输入/输出在多样性（从常见应用场景到边缘情况）方面的分布情况，以充分涵盖相关应用场景。请务必避免示例中的任何偏差，因为输入中的偏差也会导致输出偏差。
+ **匹配复杂性级别**：所提供示例的复杂性应与目标任务或场景保持一致。重要的是要确保在提示中预期的输入和选定的示例之间映射复杂性级别。
+ **确保相关性**：所选示例应与手头的问题或目标直接相关。这确保了回复的一致性和均匀性。

**提示**  
如果上述建议不起作用，建议您构建一个基于 RAG 的系统，根据用户输入查询和可用样本池之间的相似之处，通过动态选择样本来增强提示。

## 示例 1：在用户提示中提供示例
<a name="example-collapsible1"></a>

在这里，您的用户正在尝试将传入的客户支持工单分类为预定义类别。您可以为 Amazon Nova 模型提供一些正确分类的工单示例，以提高其对工单中使用的类别和语言的理解。样本示例应简明扼要，并代表应用程序中针对的所有任务。如果有对任务有意义的特定字段名称（例如本示例中的 `Ticket` 或 `Category`），则您的用户可以直接使用这些字段，后跟冒号 `":"`。


| 角色 | 0 样本提示 | 3 样本提示 | 
| --- |--- |--- |
| 用户 | 请将以下客户支持工单分为以下类别之一：“技术问题”“账单查询”或“一般查询”。**工单：**“你能解释一下为什么我的最新账单比平时高吗？ 我并没有更改我的套餐。” | 请将以下客户支持工单分为以下类别之一：“技术问题”“账单查询”或“一般查询”。 使用以下示例来指导您的分类：   **工单：**“我无法登录我的账户。系统一直给我发送错误消息。” **类别：**技术问题   **工单：**“我收到了一封电子邮件，说除非我付款，否则我的账户将被暂停。这是骗局吗？” **类别：**账单查询   **工单：**“您的客户支持团队的工作时间是几点？” **类别：**一般查询   现在，对以下工单进行分类： **工单：**“你能解释一下为什么我的最新账单比平时高吗？ 我并没有更改我的套餐。” | 
| 助手 | 客户支持工单应归类为“账单查询”。 原因如下：   客户在询问最新账单金额变更的原因。   上下文与账单和付款相关，属于“账单查询”类别。    | 类别：账单查询 解释：工单要求解释账单金额的变化，账单金额属于账单类别，因为它与费用或付款问题有关。 | 

## 示例 2：提供示例作为回合提示
<a name="example-collapsible2"></a>

在此示例中，样本以回合形式提供，每个样本一回合，其中 `User` 角色包含输入，`Assistant` 角色包含该样本的预期输出。


| 角色 | 0 提示 | 3 样本提示（回合） | 
| --- |--- |--- |
| 系统 | 您的任务是将以下文本分类为适当的类别。要分类的类别是：  类别  食物   娱乐   健康   财富   其他    | 您的任务是将以下文本分类为适当的类别。要分类的类别是：  类别  食物   娱乐   健康   财富   其他    | 
| 用户 |  | 我喜欢吃披萨。 | 
| 助手 |  | 食物 | 
| 用户 |  | 我喜欢看电影。 | 
| 助手 |  | 娱乐 | 
| 用户 |  | 之后我要去健身房。 | 
| 助手 |  | 健康 | 
| 用户 | 我的口袋里有 20 美元。 | 我的口袋里有 20 美元。 | 
| 助手 | 类别：财富解释：文本提到了特定的金额，属于财富类别。货币价值的存在与财务状况或经济方面直接相关。 | 财富 | 

## 示例 3：在系统提示中提供示例
<a name="example-collapsible3"></a>

在此示例中，您可以指定“示例”部分，然后在系统提示中列出一系列示例。如果您的样本长且复杂，则这种在提示中提供样本的方式特别有用，并且可以帮助模型找到示例样本。


| 角色 | 0 样本提示 | 2 样本提示 | 
| --- |--- |--- |
| 系统 | 你是一名 AI 助手，正在帮助企业利益相关者起草专业报告。确保报告采用富文本格式，包括标题、项目符号和突出显示的重要任务。 | 你是一名 AI 助手，正在帮助企业利益相关者起草专业报告。以下是一些格式良好的项目更新报告示例，可指导你做出回复。 `<Example 1>` **项目更新报告** *日期：*2023 年 1 月 15 日  实现的项目里程碑：  成功推出了新的 CRM 系统。   集成了营销自动化工具。   已完成员工培训课程。    已完成的任务：  开发了用户手册。   进行了系统测试。   准备了培训材料。    未来计划：  将 CRM 系统推广到所有部门。   计划后续培训课程。   监控系统性能并进行必要的调整。   **编制人：** [您的姓名] [您的职位] [您的联系信息] `<Example 2>` **项目更新报告** *日期：*2023 年 2 月 20 日  实现的项目里程碑：  推出新网站。   完成了搜索引擎优化工作。   组织了利益相关者会议。    已完成的任务：  设计了网站布局。   为网站撰写了内容。   测试了网站功能。    未来计划：  实施分析跟踪。   启动社交媒体活动。   收集利益相关者的反馈。   **编制人：** [您的姓名] [您的职位] [您的联系信息]  | 
| 用户 | 为利益相关者起草一份详细的项目更新报告，总结已实现的项目里程碑、已完成的任务和未来计划。 | 为利益相关者起草一份详细的项目更新报告，总结已实现的项目里程碑、已完成的任务和未来计划。 | 
| 助手 |  <pre># Project Update Report<br /><br />## Executive Summary<br />This report provides a comprehensive update<br />on the project milestones achieved, tasks<br />completed, and future plans. Our team has<br />made significant progress, and we are on track<br />to meet the project goals. The following<br />sections outline the details of our<br />accomplishments and upcoming activities.<br /><br />---<br /><br />## Project Milestones Achieved<br /><br />### **1. Project Initiation**<br />- **Milestone Date:** July 15, 2023<br />- **Description:** Completed initial project<br />planning and secured stakeholder approval.<br /><br />### **2. System Design Completion**<br />- **Milestone Date:** September 30, 2023<br />- **Description:** Finished the detailed<br />system design and received positive feedback<br />from technical review meetings.<br /><br />### **3. Prototype Development**<br />- **Milestone Date:** November 15, 2023<br />- **Description:** Developed and tested a<br />working prototype of the system.<br /><br />---<br /><br />## Tasks Completed<br /><br />### **1. Requirement Gathering**<br />- **Description:** Conducted comprehensive<br />stakeholder interviews and collected<br />detailed requirements.<br />- **Highlighted Important Tasks:**<br />  - **User Story Mapping:** Mapped out user<br />  stories to ensure all user needs are<br />  addressed.<br />  - **Requirement Documentation:** Created<br />  detailed requirement specifications.<br /><br />### **2. System Architecture Design**<br />- **Description:** Designed the system<br />architecture, focusing on scalability and<br />maintainability.<br />- **Highlighted Important Tasks:**<br />  - **Technology Stack Selection:** Choose<br />  the appropriate technology stack based<br />  on project requirements.<br />  - **Architecture Diagrams:** Developed<br />  detailed architecture diagrams for easy<br />  understanding.<br /><br />### **3. Prototype Development and Testing**<br />- **Description:** Developed and rigorously<br />tested the prototype.<br />- **Highlighted Important Tasks:**<br />  - **Coding:** Implemented core<br />  functionalities of the prototype.<br />  - **Testing:** Conducted unit and integration<br />  testing to ensure prototype reliability.<br /><br />---<br /><br />## Future Plans<br /><br />### **1. Full System Development**<br />- **Description:** Begin the full-scale<br />development of the system based on the<br />approved design and prototype.<br />- **Highlighted Important Tasks:**<br />  - **Module Development:** Develop each<br />  module as per the design specifications.<br />  - **Code Reviews:** Implement regular<br />  code reviews to maintain code quality.<br /><br />### **2. User Acceptance Testing (UAT)**<br />- **Description:** Conduct UAT to ensure the<br />system meets user requirements and is ready<br />for deployment.<br />- **Highlighted Important Tasks:**<br />  - **Test Plan Development:** Create detailed<br />  UAT plans and test cases.<br />  - **UAT Execution:** Execute UAT and gather<br />  feedback for final adjustments.<br /><br />### **3. Deployment and Training**<br />- **Description:** Deploy the system and<br />provide necessary training to end-users.<br />- **Highlighted Important Tasks:**<br />  - **Deployment:** Roll out the system to<br />  the production environment.<br />  - **Training Sessions:** Organize training<br />  sessions for users to familiarize them<br />  with the new system.<br /><br />---<br /><br />## Conclusion<br />Our project has successfully achieved key<br />milestones and completed significant tasks.<br />With the current momentum, we are well-<br />positioned to meet our future objectives. We<br />remain committed to delivering a high-quality<br />system that meets all stakeholder expectations.<br /><br />---<br /><br />**Prepared by:**<br />[Your Name]<br />[Your Position]<br />[Date]<br /><br />**Contact Information:**<br />[Your Email]<br />[Your Phone Number]<br /><br />---<br /><br />This detailed update aims to keep<br />stakeholders informed and reassured about the<br />project's progress and future direction. For<br />any queries or further information, please<br />do not hesitate to contact me directly.</pre>  | **项目更新报告** *日期：*2023 年 10 月 5 日  实现的项目里程碑：  成功完成了新的企业资源规划（ERP）系统实施。   开展并完成了数据迁移过程的第一阶段。   成功推出了新的库存管理模块。    已完成的任务：  制定并最终确定了全面的用户培训计划，包括详细的用户手册和视频教程。   对所有现有系统进行了广泛的系统集成测试，并确保了无缝的互操作性。   执行了从遗留系统到新 ERP 系统的初始数据迁移，准确率达到 95%。    未来计划：  在接下来的两个阶段中，将新的 ERP 系统推广到所有部门。   为所有员工计划和开展后续培训课程。   实施 ERP 系统的其余模块，包括财务管理和人力资源。   建立强大的监控和支持框架，确保系统平稳运行并及时解决任何问题。   **编制人：** [您的姓名] [您的职位] [您的联系信息] 这份详细的报告清晰简洁地概述了项目进展，重点介绍了已实现的里程碑、已完成的任务和未来计划。它确保利益相关者充分了解情况，并能够根据项目的当前状态做出战略决策。 | 