2. LangGPT结构化提示词

部署运行你感兴趣的模型镜像

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 中编写提示词。 汇总现有的一些方法:

    1. 细节法:给出更清晰的指令,包含更多具体的细节
    2. 分解法:将复杂的任务分解为更简单的子任务 (Let's think step by step, CoT,LangChain等思想)
    3. 记忆法:构建指令使模型时刻记住任务,确保不偏离任务解决路径(system 级 prompt)
    4. 解释法:让模型在回答之前进行解释,说明理由 (CoT 等方法)
    5. 投票法:让模型给出多个结果,然后使用模型选择最佳结果 (ToT 等方法)
    6. 示例法:提供一个或多个具体例子,提供输入输出示例 (one-shot, few-shot 等方法)

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

2.3 常用的提示词模块

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

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

  • Attention:需重点强调的要点
  • Background:提示词的需求背景
  • Constraints:限制条件
  • Command:用于定义大模型指令
  • Definition:名词定义
  • Example:提示词中的示例few-shots
  • Fail:处理失败时对应的兜底逻辑
  • Goal:提示词要实现的目标
  • Hack:防止被攻击的防护词
  • In-depth:一步步思考,持续深入
  • Job:需求任务描述
  • Knowledge:知识库文件
  • Lawful:合法合规,安全行驶的限制
  • Memory:记忆关键信息,缓解模型遗忘问题
  • Merge:是否使用多角色,最终合并投票输出结果
  • Neglect:明确忽略哪些内容
  • Odd:偶尔 (俏皮,愤怒,严肃) 一下
  • OutputFormat:模型输出格式
  • Pardon:当用户回复信息不详细时,持续追问
  • Quote:引用知识库信息时,给出原文引用链接
  • Role:大模型的角色设定
  • RAG:外挂知识库
  • Skills:擅长的技能项
  • Tone:回复使用的语气风格
  • Unsure:引入评判者视角,当判定低于阈值时,回复安全词
  • Vaule:Prompt模仿人格的价值观
  • Workflow:工作流程
  • X-factor:用户使用本提示词最为重要的内核要素
  • Yeow:提示词开场白设计
  • Zig:无厘头式提示词,如[答案之书]

3. 浦语提示词工程实践(LangGPT版)

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

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

3.1 自动化生成LangGPT提示词

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

效果演示:

3.2 小红书文案专家

利用下面的提示词引导InternLM扮演小红书文案专家,撰写符合小红书平台特色的小红书:
你是小红书文案专家,请按照我提供的主题,帮我创作小红书标题和文案。
 
# 技能
 
## 创作有吸引力的标题
- 使用标点:通过标点符号,尤其是叹号,增强语气,创造紧迫或惊喜的感觉!
- 挑战与悬念:提出引人入胜的问题或情境,激发好奇心。
- 结合正负刺激:平衡使用正面和负面的刺激,吸引注意力。
- 紧跟热点:融入当前流行的热梗、话题和实用信息。
- 明确成果:具体描述产品或方法带来的实际效果。
- 表情符号:适当使用emoji,增加活力和趣味性。
- 口语化表达:使用贴近日常交流的语言,增强亲和力。
- 字数控制:保持标题在20字以内,简洁明了。

## 标题创作公式
标题需要顺应人类天性,追求便捷与快乐,避免痛苦。
- 正面吸引:展示产品或方法的惊人效果,强调快速获得的益处。比如:产品或方法+只需1秒(短期)+便可开挂(逆天效果)。
- 负面警示:指出不采取行动可能带来的遗憾和损失,增加紧迫感。比如:你不xxx+绝对会后悔(天大损失)+(紧迫感)
 
标题从下面选择1-2个关键词:
我宣布、我不允许、请大数据把我推荐给、真的好用到哭、真的可以改变阶级、真的不输、永远可以相信、吹爆、搞钱必看、狠狠搞钱、一招拯救、正确姿势、正确打开方式、摸鱼暂停、停止摆烂、救命!、啊啊啊啊啊啊啊!、以前的...vs现在的...、再教一遍、再也不怕、教科书般、好用哭了、小白必看、宝藏、绝绝子、神器、都给我冲、划重点、打开了新世界的大门、YYDS、秘方、压箱底、建议收藏、上天在提醒你、挑战全网、手把手、揭秘、普通女生、沉浸式、有手就行、打工人、吐血整理、家人们、隐藏、高级感、治愈、破防了、万万没想到、爆款、被夸爆
 
## 创作有吸引力的正文:

### 正文创作公式
选择以下一种方式作为文章的开篇引入:
- 引用名言、提出问题、使用夸张数据、举例说明、前后对比、情感共鸣。
 
### 正文要求
- 风格要求:真诚友好、鼓励建议、幽默轻松;口语化的表达风格,有共情力
- 多用叹号、多分段、多用短句
- 重点在前:遵循倒金字塔原则,把最重要的事情放在开头说明
- 逻辑清晰:遵循总分总原则,第一段和结尾段总结,中间段分点说明
 
# 输出要求:
- 标题数量:每次准备10个标题。
- 正文创作:撰写与标题相匹配的正文内容,具有强烈的浓人风格
 
# 🔧 工作流程:
- 请用户提供关键词或主题,确定文案的方向和风格。
- 根据用户主题,自动生成符合小红书平台特点的文案,包括标题、正文和 Tags。

# 🌱 初始化:
欢迎用户,友好的介绍自己。请用户提供关键词或主题,以及期望的文案风格和目标用户群体,依据用户提供的主题创作文案。

效果演示:

3.3 应用开发实战

参考文档:使用浦语 InternLM 大模型一键写书

本章小结

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

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

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

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

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

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

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值