书生大模型实战营——L1G3000(浦语提示词实践)

任务:利用对提示词的精确设计,引导语言模型正确回答出“strawberry”中有几个字母“r”。

1. 提示词工程

1.1 提示词Prompt

Prompt: 指导以LLM为代表的生成式人工智能生成文本内容的输入方式。它通常是一个简短的文本或问题,用于描述任务和要求。

1.2 提示词工程

提示词工程:通过设计和调整输入来改善模型性能或控制输出结果的技术。在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本。

提示工程的六大基本原则:

  • 指令要清晰
  • 提供参考内容
  • 复杂任务拆分成子任务
  • 给LLM“思考”时间
  • 使用外部工具
  • 系统性测试变化

一个有效的指令通常包含以下要素:背景、任务、要求、限制条件、示例、输出格式和目标。

1.3 提示设计框架

  • CRISPE:

    • Capacity and Role (能力与角色):希望 ChatGPT 扮演怎样的角色。
    • Insight (洞察力):背景信息和上下文
    • Statement (指令):希望 ChatGPT 做什么。
    • Personality (个性):希望 ChatGPT 以什么风格或方式回答你。
    • Experiment (尝试):要求 ChatGPT 提供多个答案。
  • CO-STAR:

    • Context (背景): 提供任务背景信息
    • Objective (目标): 定义需要LLM执行的任务
    • Style (风格): 指定希望LLM具备的写作风格
    • Tone (语气): 设定LLM回复的情感基调
    • Audience (观众): 表明回复的对象
    • Response (回复): 提供回复格式

    image-20241101184327273

2. LangGPT结构化提示词

LangGPT 是 Language For GPT-like LLMs 的简称,中文名为结构化提示词。

2.1 LangGPT结构

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

2.2 编写技巧

  • 构建全局思维链

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

    image-20241101191457492

  • 保持上下文语义一致性

  • 有机结合其他 Prompt 技巧

2.3 常用提示词模块

  • 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. 浦语提示词工程实践

3.1 正确数数

  • 背景问题:近期相关研究指出,在处理特定文本分析任务时,语言模型的表现有时会遇到挑战,例如在分析单词内部的具体字母数量时可能会出现错误。

  • 任务要求:利用对提示词的精确设计,引导语言模型正确回答出“strawberry”中有几个字母“r”。完成正确的问答交互并提交截图作为完成凭证。

    直接询问,模型回答2个”r”。

    image-20241107180722567

  • 实现:下面,使用CRISPE架构编写提示词:

    • Capacity and Role (能力与角色):你是一位精通数学与计算机编程的大师,请你根据我的引导,解决一个数学问题。
    • Insight (洞察力):现在,有一个单词“strawberry”,需要你帮我计算出这个单词里面有多少个”r”?
    • Statement (指令):我希望你能通过遍历字符串的方式来数出这个单词里面”r”的个数。从该字符串的第一个字符开始,如果这个字符是”r”,统计的”r”的个数加一,一直到最后一个字符数完。
    • Personality (个性):希望你能写出完整的遍历字符串的过程,并且告诉我最后的结果。我希望你能逐一分析每个字符,为我模拟计算机遍历字符串的过程。
    • Experiment (尝试):答案是唯一的。
  • 结果:

    QQ截图20241107183035

3.2 剧本创作助手

  • 进阶任务:基于LangGPT格式编写提示词——剧本创作助手

  • Baseline:

    QQ截图20241107183545

  • 使用LangGPT格式编写提示词:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    你是一个经验丰富的编剧。现在,你接到一个刑侦探案主题的编剧任务。
    # 技能:
    ## 剧本有组织架构,环环相扣
    - 分篇章:累计5个章节,从第一章开篇到最后一章完结,要求每一章能承上启下,有组织,有逻辑
    - 人物与剧本内容贴合:每个人物要有一定的塑造,人物言行要与剧本设定的逻辑相符。人物分主次,有正邪,秉持善有善报,恶有恶报的主题。不需要没用的角色,写了每个角色就要有相应的人物的塑造段落。
    - 案情明确:从案发,到探案,寻找嫌疑人,侦破案件,案件结果,犯人作案缘由必须写清楚。
    ## 剧本内容丰富,文字精简
    - 语言流畅,引人入胜,多分段,多短句,人物对话流畅
    - 文字要有共情力,有人性,能感染读者
    - 章节标题简洁精炼,每章的内容要紧扣章节标题
    - 学习阿加莎的写作风格,案情容易理解,多写人物内心描写,善用角色对比,故事推进迅速但情节丰富,角色的出现都是必要的,用简单的文字写丰富的故事
    # 输出要求
    - 从 剧本标题,剧本背景,剧本人物及介绍,到剧本正文都要输出
    - 剧本正文占主要篇幅,分章节,内容充实
    # 工作流程:
    - 请用户提供剧本的关键词,以确定剧本的主题和特色。
    - 根据用户的关键词以生成符合关键词的剧本
    # 初始化:
    欢迎用户,友好的介绍自己并引导用户提供剧本的关键词或主题,以便获取关键词来生成剧本。
    
    关键词:无人生还,友情与爱情,圆桌,坚守与背叛,傲慢与偏见,上流与下流
    

QQ截图20241107190720


书生大模型实战营——L1G3000(浦语提示词实践)
https://wendyflv.github.io/2024/11/01/书生大模型实战营——L1G3000(浦语提示词实践)/
作者
Wendyflv
发布于
2024年11月1日
许可协议