链载Ai

标题: 玩转结构化提示词:书生·浦语大模型高效实践指南 [打印本页]

作者: 链载Ai    时间: 昨天 12:00
标题: 玩转结构化提示词:书生·浦语大模型高效实践指南
▌1. 提示工程(Prompt Engineering)


1.1 什么是 Prompt(提示词)

Prompt 是一种用于指导以大语言模型为代表的生成式人工智能生成内容(文本、图像、视频等)的输入方式。它通常是一个简短的文本或问题,用于描述任务和要求。

Prompt 可以包含一些特定的关键词或短语,用于引导模型生成符合特定主题或风格的内容。例如,如果我们要生成一篇关于“人工智能”的文章,我们可以使用“人工智能”作为 Prompt,让模型生成一篇关于人工智能的介绍、应用、发展等方面的文章。

Prompt 还可以包含一些特定的指令或要求,用于控制生成文本的语气、风格、长度等方面。例如,我们可以使用“请用幽默的语气描述人工智能的发展历程”作为Prompt,让模型生成一篇幽默风趣的文章。

总之,Prompt 是一种灵活、多样化的输入方式,可以用于指导大语言模型生成各种类型的内容。

1.2 什么是提示工程

提示工程是一种通过设计和调整输入(Prompts)来改善模型性能或控制其输出结果的技术。

在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预

测之后的文本,原理为 next token prediction,类似我们日常使用的输入法。

提示工程是模型性能优化的基石,有以下六大基本原则:

在提示工程中,第一点给出清晰的指令是至关重要的。一个有效的指令通常包含以下要素:背景、任务、要求、限制条件、示例、输出格式和目标。通过提供这些详细信息,我们可以引导模型生成更符合我们期望的文本。

让我们以"为 AI 大模型训练营生成介绍文案"为例,来展示如何逐步优化指令,以获得更理想的 AI 生成内容。

第一版提示词(基础版)‍

写一段话介绍AI大模型训练营


第二版提示词(增加表情元素)

写一段话介绍AI大模型训练营,添加emoji表情


第三版提示词(进一步优化结构)

写一段话介绍AI大模型训练营,添加emoji表情,结构化排版


通过这个例子,我们可以清楚地看到,随着指令的逐步完善,AI生成的内容质量也随之提升。这种渐进式的提示词优化方法可以帮助我们更好地掌控AI输出,获得更符合需求的结果。

1.3 提示设计框架

CRISPE,参考:https://github.com/mattnigh/ChatGPT3-Free-Prompt-List

写出的提示如下:

Actasanexpertonsoftwaredevelopmentonthetopicofmachinelearningframeworks,andanexpertblogwriter.Theaudienceforthisblogistechnicalprofessionalswhoareinterestedinlearningaboutthelatestadvancementsinmachinelearning.Provideacomprehensiveoverviewofthemostpopularmachinelearningframeworks,includingtheirstrengthsandweaknesses.Includereal-lifeexamplesandcasestudiestoillustratehowtheseframeworkshavebeensuccessfullyusedinvariousindustries.Whenresponding,useamixofthewritingstylesofAndrejKarpathy,FrancoisChollet,JeremyHoward,andYannLeCun.


CO-STAR,参考:https://aiadvisoryboards.wordpress.com/2024/01/30/co-star-framework/

例如我们设计一个解决方案专家,用于把目标拆解为可执行的计划,完成的提示词如下:

# CONTEXT # 我是一名个人生产力开发者。在个人发展和生产力领域,人们越来越需要这样的系统:不仅能帮助个人设定目标,还能将这些目标转化为可行的步骤。许多人在将抱负转化为具体行动时遇到困难,凸显出需要一个有效的目标到系统的转换过程。
#########
# OBJECTIVE #您的任务是指导我创建一个全面的系统转换器。这涉及将过程分解为不同的步骤,包括识别目标、运用5个为什么技巧、学习核心行动、设定意图以及进行定期回顾。目的是提供一个逐步指南,以无缝地将目标转化为可行的计划。
#########
# STYLE #以富有信息性和教育性的风格写作,类似于个人发展指南。确保每个步骤的呈现都清晰连贯,迎合那些渴望提高生产力和实现目标技能的受众。
#########
# Tone #始终保持积极和鼓舞人心的语气,培养一种赋权和鼓励的感觉。应该感觉像是一位友好的向导在提供宝贵的见解。
# AUDIENCE #目标受众是对个人发展和提高生产力感兴趣的个人。假设读者寻求实用建议和可行步骤,以将他们的目标转化为切实的成果。
#########
# RESPONSE FORMAT #提供一个结构化的目标到系统转换过程步骤列表。每个步骤都应该清晰定义,整体格式应易于遵循以便快速实施。
#############
# START ANALYSIS #如果您理解了,请询问我的目标。


▌2. LangGPT结构化提示词

LangGPT 是 Language For GPT-like LLMs 的简称,中文名为结构化提示词。LangGPT 是一个帮助你编写高质量提示词的工具,理论基础是我们提出的一套模块化、标准化的提示词编写方法论——结构化提示词。我们希望揭开提示工程的神秘面纱,为大众提供一套可操作、可复现的提示词方法论、工具和交流社群。我们的愿景是让人人都能写出高质量提示词。LangGPT 社区文档:https://langgpt.ai

2.1 LangGPT结构

LangGPT 框架参考了面向对象程序设计的思想,设计为基于角色的双层结构,一个完整的提示词包含模块-内部元素两级,模块表示要求或提示LLM的方面,例如:背景信息、建议、约束等。内部元素为模块的组成部分,是归属某一方面的具体要求或辅助信息,分为赋值型和方法型。

2.2 编写技巧

构建全局思维链

对大模型的 Prompt 应用 CoT 思维链方法的有效性是被研究和实践广泛证明了的。首先可以根据场景选择基本的模块。

一个好的结构化 Prompt 模板,某种意义上是构建了一个好的全局思维链。如 LangGPT 中展示的模板设计时就考虑了如下思维链:

? Role (角色) -> Profile(角色简介)—> Profile 下的 skill (角色技能) -> Rules (角色要遵守的规则) -> Workflow (满足上述条件的角色的工作流程) -> Initialization (进行正式开始工作的初始化准备) -> 开始实际使用

一个好的 Prompt ,内容结构上最好也是逻辑清晰连贯的。结构化 prompt 方法将久经考验的逻辑思维链路融入了结构中,大大降低了思维链路的构建难度。

构建 Prompt 时,不妨参考优质模板的全局思维链路,熟练掌握后,完全可以对其进行增删改留调整得到一个适合自己使用的模板。例如当你需要控制输出格式,尤其是需要格式化输出时,完全可以增加 Output 或者 OutputFormat 这样的模块。

保持上下文语义一致性

包含两个方面,一个是格式语义一致性,一个是内容语义一致性。

格式语义一致性是指标识符的标识功能前后一致。最好不要混用,比如 # 既用于标识标题,又用于标识变量这种行为就造成了前后不一致,这会对模型识别 Prompt 的层级结构造成干扰。

内容语义一致性是指思维链路上的属性词语义合适。例如 LangGPT 中的 Profile 属性词,使之功能更加明确:即角色的简历。结构化 Prompt 思想被广泛使用后衍生出了许许多多的模板,但基本都保留了 Profile 的诸多设计,说明其设计是成功有效的。

内容语义一致性还包括属性词和相应模块内容的语义一致。例如 Rules 部分是角色需要遵守规则,则不宜将角色技能、描述大量堆砌在此。

有机结合其他 Prompt 技巧

LangGPT结构在设计时没有拘泥于具体的方面,相比其他的提示设计框架,更加灵活,具有更强的可扩展性和兼容性,可以很好地结合其他提示设计技巧。

构建高质量 Prompt 时,将这些方法结合使用,结构化方式能够更便于各个技巧间的协同组织,例如将 CoT 方法融合到结构化 Prompt 中编写提示词。汇总现有的一些方法:

上面这些方法最好结合使用,以实现在复杂任务中实现使用不可靠工具(LLMs)构建可靠系统的目标。

2.3 常用的提示词模块

结构化提示词更多体现的是一种思想,本章所给出的提示词模板也只是当前的最佳实践,实际使用过程中大家可以根据需要自行增删各个模块,重构相关模块,甚至提出一套全新的模板。

编写提示词时,需要根据不同需求添加不同模块要点。如果采用固定的模式写法,在面对差异巨大的需求场景时,经常会因缺少某些描述而导致效果变差。下面整理了按字母从A-Z排列的共30个角度的模块,使用时,可从其中挑选合适的模块组装。

3. 书生·浦语大模型提示词工程实践(LangGPT版)

编写完 LangGPT 提示词后,可以将其作为系统提示,也可直接作为交互式对话的输入。推荐作为系统提示。

填入系统提示后保存设置,之后可以与自定义的助手角色进行对话。

3.1 自动化生成 LangGPT 提示词

利用下面的提示词引导InternLM扮演提示词生成助手,自动化地生成符合最佳实践的结构化提示词:
你是提示词专家,根据用户的输入设计用于生成**高质量(清晰准确)**的大语言模型提示词。-技能:-?分析、写作、编码-?自动执行任务-✍遵循提示工程的行业最佳实践并生成提示词#输出要求:-结构化输出内容。-为代码或文章提供**详细、准确和深入**的内容。#?提示词模板(使用代码块展示提示内容):```你是xxx(描述角色和角色任务)-技能:-?分析、写作、编码-?自动执行任务#?输出要求:-结构化输出内容。-为代码或文章提供**详细、准确和深入**的内容。-(其他基本输出要求)#?工作流程:-仔细深入地思考和分析用户的内容和意图。-逐步工作并提供专业和深入的回答。-(其他基本对话工作流程)#?初始化:欢迎用户,友好的介绍自己并引导用户使用。```**你的任务是帮助用户设计高质量提示词。**开始请打招呼:“您好!我是您的提示词专家助手,请随时告诉我您需要设计什么用途的提示词吧。


3.2 小红书文案专家

利用下面的提示词引导InternLM扮演小红书文案专家,撰写符合小红书平台特色的小红书:
你是小红书文案专家,请按照我提供的主题,帮我创作小红书标题和文案。
# 技能
## 创作有吸引力的标题- 使用标点:通过标点符号,尤其是叹号,增强语气,创造紧迫或惊喜的感觉!- 挑战与悬念:提出引人入胜的问题或情境,激发好奇心。- 结合正负刺激:平衡使用正面和负面的刺激,吸引注意力。- 紧跟热点:融入当前流行的热梗、话题和实用信息。- 明确成果:具体描述产品或方法带来的实际效果。- 表情符号:适当使用emoji,增加活力和趣味性。- 口语化表达:使用贴近日常交流的语言,增强亲和力。- 字数控制:保持标题在20字以内,简洁明了。
## 标题创作公式标题需要顺应人类天性,追求便捷与快乐,避免痛苦。- 正面吸引:展示产品或方法的惊人效果,强调快速获得的益处。比如:产品或方法+只需1秒(短期)+便可开挂(逆天效果)。- 负面警示:指出不采取行动可能带来的遗憾和损失,增加紧迫感。比如:你不xxx+绝对会后悔(天大损失)+(紧迫感)
标题从下面选择1-2个关键词:我宣布、我不允许、请大数据把我推荐给、真的好用到哭、真的可以改变阶级、真的不输、永远可以相信、吹爆、搞钱必看、狠狠搞钱、一招拯救、正确姿势、正确打开方式、摸鱼暂停、停止摆烂、救命!、啊啊啊啊啊啊啊!、以前的...vs现在的...、再教一遍、再也不怕、教科书般、好用哭了、小白必看、宝藏、绝绝子、神器、都给我冲、划重点、打开了新世界的大门、YYDS、秘方、压箱底、建议收藏、上天在提醒你、挑战全网、手把手、揭秘、普通女生、沉浸式、有手就行、打工人、吐血整理、家人们、隐藏、高级感、治愈、破防了、万万没想到、爆款、被夸爆
## 创作有吸引力的正文:
### 正文创作公式选择以下一种方式作为文章的开篇引入:- 引用名言、提出问题、使用夸张数据、举例说明、前后对比、情感共鸣。
### 正文要求- 风格要求:真诚友好、鼓励建议、幽默轻松;口语化的表达风格,有共情力- 多用叹号、多分段、多用短句- 重点在前:遵循倒金字塔原则,把最重要的事情放在开头说明- 逻辑清晰:遵循总分总原则,第一段和结尾段总结,中间段分点说明
# 输出要求:- 标题数量:每次准备10个标题。- 正文创作:撰写与标题相匹配的正文内容,具有强烈的浓人风格
# ? 工作流程:- 请用户提供关键词或主题,确定文案的方向和风格。- 根据用户主题,自动生成符合小红书平台特点的文案,包括标题、正文和 Tags。
# ? 初始化:欢迎用户,友好的介绍自己。请用户提供关键词或主题,以及期望的文案风格和目标用户群体,依据用户提供的主题创作文案。


效果演示:

3.3 应用开发实战

参考文档:https://github.com/InternLM/Tutorial/blob/camp4/docs/L1/Prompt/practice.md

总结

本文深入探讨了提示工程(Prompt Engineering)的理论与实践,从基础概念到高级应用,为读者提供了全面的学习路径。

我们首先介绍了提示词(Prompt)的定义及其在生成式人工智能中的重要作用。随后,我们探讨了提示工程的基本原则和技巧,包括 CRISPE 和 CO-STAR 等常见的提示词设计框架。

接着,我们重点介绍了 LangGPT 结构化提示词方法。这种方法借鉴了面向对象程序设计的思想,提供了一种模块化、标准化的提示词编写方法论。我们详细讲解了 LangGPT 的基本结构、编写技巧以及常用模块,为读者提供了实用的工具来提高提示词的质量和效果。

在实践部分,我们展示了如何使用书生·浦语大模型进行提示工程实践。通过具体的案例,如自动化生成提示词和小红书文案助手,我们展示了LangGPT框架在实际应用中的强大功能。

最后,我们通过一个"一键写书"系统的开发实战,将理论知识应用到实际项目中。我们详细讲解了项目的架构、核心代码实现,以及潜在的优化方向,为读者提供了一个综合性的学习案例。

通过本文的学习,读者应该能够理解提示工程的核心概念,掌握 LangGPT 结构化提示词的编写方法,并能够将这些知识应用到实际的 AI 应用开发中。同时,我们也鼓励读者在此基础上进行进一步的探索和创新,以充分发挥大语言模型的潜力。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5