优化模块性能
将模型部署到终结点后,可以开始与其交互以查看其工作原理。 我们来探讨如何使用提示工程技术来优化模型的性能。
应用提示模式以优化模型的输出
发送到语言模型的问题的质量会直接影响你得到的响应的质量。 你可以认真构造问题或提示,以获得更好、更有趣的响应。 设计和优化提示以提高模型性能的过程也称为提示工程。
提示工程要求用户询问相关、具体、明确和结构化的问题,指示模型生成更准确的响应。 若要了解如何创建定义完善的提示,让我们探索一些模式,帮助你改进模型的输出:
- 指示模型充当角色。
- 引导模型提出更好的问题。
- 提供模板以生成特定格式的输出。
- 通过让模型反思其推理过程来理解它的思考方式。
- 添加上下文以提高模型输出的准确性。
注释
此处列出的模式基于 怀特等人于2023年构建的提示模式目录的工作。
作为开发人员,有效的方法是以系统提示的形式向已部署的模型添加说明。 系统提示用于设置模型的行为,并可让你以不向最终用户公开相关说明的方式引导模型。 要实现最好的结果,通常需分配帮助用户提交反映此处所述模式的提示的显式系统提示和引导(或模板)。
指示模型充当某一角色
当希望模型在回答问题时采取特定观点或视角时,可以要求它充当角色。
例如,如果你从事销售工作并需要有关新 CRM 软件的见解,可以要求模型以经验丰富的营销专业人员的身份做出响应。
| 未指定角色 | 在指定角色的情况下 | |
|---|---|---|
| 系统提示 | 没有 | 你是一位经验丰富的营销专业人员,为技术客户撰写广告副本。 |
| 用户提示 | 编写对 CRM 产品的一句话说明。 | 编写对 CRM 产品的一句话说明。 |
| 模型响应 | CRM 产品是一种软件工具,旨在管理公司与现有和潜在客户的交互,包括销售、营销、客户服务和技术支持。 | 我们的 CRM 产品可提供无缝的客户关系管理体验,擅长简化业务运营,增强客户互动,并通过直观的界面和可靠的分析工具推动销售增长。 |
可以为各种业务角色创建不同的角色。 考虑产品经理、数据分析师、客户服务专家或教师等角色。 定义用户画像,并添加更多详细信息,以明确你希望该用户画像了解或执行的操作,从而获得定制的、基于上下文的响应。
要求给出更好的问题建议
当你希望模型帮助优化问题的表述时,你可以请它建议如何更好地表述您的问题。 还可以要求它提供额外的上下文。
例如,如果你在寻求关于做饭的建议,则可以提示模型提供一些澄清性问题,帮助你获得更有针对性的答案。
| 未给出任何建议 | 在提供建议的情况下 | |
|---|---|---|
| 系统提示 | 你是一位 AI 厨师,可以对菜单提供建议。 | 你是一位 AI 厨师,可以对菜单提供建议。 你很和善,并且总是想提供最好的建议。 |
| 用户提示 | 我要为四个人举办晚宴。 我该做些什么菜? | 我要为四个人举办晚宴。 我该做些什么菜? 你需要哪些其他信息来帮助我为客人安排一顿美味的餐食? |
| 模型响应 | 为四个人举办晚宴是展示烹饪技能的绝佳机会。 下面是我建议的含三道菜的菜单,该菜单口味均衡,并能提供愉快的用餐体验: 前菜 卡普里沙拉串 - 材料:樱桃西红柿、新鲜马苏里拉奶酪球、新鲜罗勒叶、巴萨米可醋汁、橄榄油、盐和胡椒。 - 做法:将樱桃番茄、罗勒叶和马苏里拉奶酪球串在小扦子上。 洒一点橄榄油和巴萨米可醋汁,然后用盐和胡椒调味。 这道菜清淡、清爽,容易提前准备。 主菜 柠檬芦笋香草三文鱼 - 材料:三文鱼肉片、新鲜香草(如欧芹、莳萝和百里香)、面包屑、柠檬、芦笋、橄榄油、盐和胡椒。 - 做法:将烤箱预热到 400°F (200°C)。 将面包屑与切碎的新鲜香草和少许橄榄油混合成糊状。 将此混合物压在三文鱼片上,用盐和胡椒调味。 将三文鱼放在烤盘上,烘烤约 15-20 分钟,或直到熟透。 在最后 10 分钟的烹饪中,将橄榄油、柠檬、盐和胡椒与芦笋搅拌在一起,和三文鱼一起烤。 在三文鱼和芦笋上挤上新鲜柠檬汁。 甜点 新鲜浆果巧克力慕斯蛋糕 - 材料:黑巧克力、鸡蛋、糖、厚奶油、香草精和各种浆果(如草莓、蓝莓和树莓)。 - 做法:用双层蒸锅融化巧克力,然后稍微冷却。 分离蛋黄和蛋清。 搅拌蛋清至发泡,然后逐渐加入糖,做成蛋白酥。 搅拌厚奶油至发泡,与香草精混合。 将融化的巧克力翻拌进蛋黄中,然后轻轻翻拌进搅拌好的奶油和蛋白酥中,直到混合均匀。 将慕斯蛋糕用勺子舀到上菜用的盘子中,冷藏至少 2 小时。 在上面加上新鲜的浆果,呈现出鲜艳的颜色和新鲜的感觉。 其他提示 - 搭配:考虑在上前菜和主菜时提供低度白葡萄酒,或者甜酒与巧克力慕斯蛋糕。 - 时间安排:提前准备开胃菜和甜点,尽量减少最后一分钟的压力。 在烤箱里烹饪主菜需要的时间最多,所以请相应地规划烹饪安排。 此菜单优雅且具亲和力,能确保客人既吃得好,又吃得开心。 尽情享受这份晚宴吧! |
举办晚宴是展示烹饪技巧并为客人创造难忘的体验的绝佳机会。 为了帮助你安排一顿美味的餐食,以下是一些可以指导你选择合适菜单的问题:
有了这些信息,我可以推荐定制菜单。 下面是一个笼统的想法,可以根据你的回答进行调整: 入门
主菜
配菜
甜点
饮料
欢迎随时分享更多详细信息,我可以帮助进一步优化菜单! |
当你鼓励模型建议澄清或额外详细信息时,可以帮助你提出正确的问题,并在更少的交互中实现更好的、更准确的答案。
指定所需的响应格式
如果希望模型以特定格式生成输出,则可以在提示中提供模板或结构。
例如,如果你是撰写历史文章的体育急着,则可以让模型遵循特定模板,其中包括对标题、项目符号点和数据细分方面的要求。
| 未指定模板 | 在指定模板的情况下 | |
|---|---|---|
| 系统提示 | 你是一个有用的 AI 助手。 | 你是体育记者的有用 AI 助手。 |
| 用户提示 | 2018 年足球世界杯决赛中发生了什么? | 2018 年足球世界杯决赛中发生了什么? 结果的格式要显示比赛日期、地点和两支参赛队伍。 然后是最后比分,最后是比赛期间发生的任何值得注意的事件。 |
| 模型响应 | 2018 年国际足联世界杯决赛于 2018 年 7 月 15 日在俄罗斯莫斯科卢日尼基体育场举行。 法国队在比赛中对战克罗地亚队。 法国队以 4-2 的战绩获胜。 法国的进球由马里奥·曼祖基奇(乌龙球)、安托万·格列兹曼(点球)、保罗·博格巴和基利安·姆巴佩获得。 克罗地亚的进球由伊万·佩里西奇和曼朱基奇获得。 19 岁的基利安·姆巴佩在贝利之后成为世界杯决赛中第二年轻的球员。 这场胜利标志着法国第二次获得世界杯冠军,他们曾于 1998 年首次夺冠。 |
比赛日期:2018 年 7 月 15 日 地点:俄罗斯莫斯科卢日尼基体育场 参赛队伍:法国队对克罗地亚队 最后比分:法国 4,克罗地亚 2 值得注意的事件:
|
可以将此方法应用于需要特定格式的其他方案,例如生成电子邮件、摘要、建议,甚至代码和脚本。 明确地定义格式模板,并详细说明您希望输出如何组织和结构化,以获得一致的响应。
可以使用“单样本”或“少样本”方法,通过提供一个或多个示例来帮助模型识别所需的模式。
请求解释推理
如果希望模型解释其答案背后的推理,可以在提供响应后要求模型自动反映其理由和假设。
例如,如果要处理数学问题,你可以要求模型解释特定计算背后的推理。
| 未指定反思 | 在指定反思的情况下 | |
|---|---|---|
| 系统提示 | 你是 AI 数学助手。 | 你是 AI 数学助手。 你总是解释答案。 |
| 用户提示 | 直角三角形的斜边长度为 3 厘米,一个邻边长度为 2 厘米。剩余邻边的长度是多少? | 直角三角形的斜边长度为 3 厘米,一个邻边长度为 2 厘米。剩余邻边的长度是多少? |
| 模型响应 | 大约 2.24 厘米。 | 我们可以使用勾股定理来解答此问题。 勾股定理指出,在直角三角形中,斜边(直角对面的边)长度的平方等于其他两边长度的平方和。 在数学上,这可以写为: c² = a² + b² 其中 c 是斜边长度,a 和 b 是其他两边的长度。 在此问题中,我们已知斜边长度(c = 3 厘米)和一个邻边的长度(a = 2 厘米)。 我们需要求剩余邻边的长度 (b)。 将已知值代入勾股定理中,我们得到: 3² = 2² + b² 9 = 4 + b² 现在,我们可以求解 b²: b² = 9 - 4 b² = 5 最后,我们用两边的平方根来求得剩余边的长度: b = √5 ≈ 2.24 cm 因此,剩余边的长度约为 2.24 厘米。 |
如果需要数据分析、营销策略或技术故障排除中的说明,可以应用此方法。 当你要求模型定义其推理时,你将使用一种称为“思考链”的技术来逐步思考。
添加上下文
如果希望模型专注于特定主题,可以指定要考虑的上下文。 还可以告诉模型忽略不相关的信息。
例如,如果你要规划一次旅行,则可以为模型提供更多上下文,帮助提高其响应内容的相关性。
| 未指定上下文 | 在指定上下文的情况下 | |
|---|---|---|
| 系统提示 | 你是 AI 旅行助手。 | 你是 AI 旅行助手。 |
| 用户问题 | 我应该什么时候去爱丁堡? | 我应该什么时候去爱丁堡? 我对参加苏格兰主场的六国橄榄球锦标赛比赛特别感兴趣。 |
| 模型响应 | 爱丁堡是苏格兰首府,是一个有着丰富历史和充满活力的文化的绝佳旅行目的地。 访问爱丁堡的最佳时间在很大程度上取决于你对天气、活动和旅游人群的偏好。
总之,访问爱丁堡的最佳时间取决于你的偏好。 春秋天气适宜且游客较少,而夏季是户外活动和节日的理想季节。 冬天可提供更安静、更魔法般的体验,还有可参加的节日活动。 |
六国橄榄球锦标赛通常从 1 月下旬到 3 月初举行。 爱丁堡作为东道主城市,经常在苏格兰国家体育场默里菲尔德体育场进行比赛。 为了确保你不会错过苏格兰在六国队的主场比赛,我建议你计划在此期间访问。 但是,请记住,比赛日期和时间可能会变化,因此最好查看六国官方网站或苏格兰橄榄球联盟的网站,了解比赛的确切时间表。 此外,除了橄榄球,爱丁堡还拥有丰富的历史、精美的建筑和充满活力的文化氛围等等,因此您可以考虑延长停留时间,在锦标赛之前或之后探索这座城市。 此外,请记住,在锦标赛期间来访可能遇到更拥挤的人群和更紧张的住宿条件,因此请提前预订航班、酒店和交通,以确保拥有顺畅的体验。 尽情享受你的爱丁堡之旅和六国橄榄球比赛的紧张气氛吧! |
通过定义模型应关注或忽略的内容,可以确保对话保持正常状态,并生成更相关的定制响应。
可以通过描述应包含或不应包含哪些内容来指定上下文,并在生成答案之前,将模型连接到应从中检索上下文的数据源。
应用模型优化策略
注释
本部分讨论除了提示工程之外可能考虑的模型优化选项和注意事项。 全面探索如何应用这些优化策略超出了本模块的范围。
提示工程是优化模型响应的有效方法,但在某些情况下,它可能无法提供足够的上下文或指导来始终满足你的确切需求。 作为开发人员,可以考虑以下其他优化策略,以提高生成式 AI 应用程序响应的相关性:
- 检索增强生成 (RAG):一种涉及使用数据源为提示提供基础上下文的技术。 如果需要模型根据特定知识领域回答问题,或者当需要模型考虑与模型所基于的训练数据之后发生的事件相关的信息时,RAG 可能是一种有用的方法。
- 微调:一种涉及通过提供反映所需输出格式和样式的示例提示和响应,来扩展基础模型训练的技术。
这两种方法都涉及额外的成本、复杂性和可维护性挑战,因此一般情况下最好通过提示工程启动优化工作,然后在必要时考虑其他策略。
作为开发人员你应选择的策略取决于你的要求:
- 针对上下文优化:当模型缺少上下文知识并且你希望最大程度地提高响应准确性时。
- 优化模型:当想要通过最大化行为一致性来改进响应格式、样式或语音时。
若要针对上下文进行优化,可以应用检索增强生成 (RAG) 模式。 使用 RAG,可以先从数据源检索上下文,然后再生成响应,从而对数据进行上下文关联。 例如,你希望员工根据你自己公司的支出策略文档询问有关费用索赔流程和限制的问题。
当你希望模型以特定的样式或格式做出响应时,可以通过在系统消息中添加指导来指示模型这样做。 当你注意到模型行为不一致时,可以通过微调模型来进一步强制行为一致性。 通过微调,使用示例提示和响应数据集训练基本语言模型,然后将模型集成到应用程序,结果微调模型将生成与微调训练数据集中的示例一致的响应。
可以使用优化策略的任意组合(例如提示工程、RAG 和微调模型)来改进语言应用程序。