书生大模型实战营7

文章目录

  • L1——基础岛
    • 提示词工程实践
      • 什么是Prompt(提示词)
      • 什么是提示工程
      • 提示设计框架
        • CRISPE
        • CO-STAR
    • LangGPT结构化提示词
      • LangGPT结构
      • 编写技巧
        • 构建全局思维链
        • 保持上下文语义一致性
        • 有机结合其他 Prompt 技巧
      • 常用的提示词模块
    • 浦语提示词工程实践(LangGPT版)
      • 自动化生成LangGPT提示词
      • 应用开发实战

L1——基础岛

提示词工程实践

什么是Prompt(提示词)

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

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

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

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

什么是提示工程

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

在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本,原理为next token prediction,类似我们日常使用的输入法。

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

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

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

让我们以“strawberry”中有几个字母“r”为例,来展示如何逐步优化指令,以获得更理想的AI生成内容:
第一版提示词(基础版):
在这里插入图片描述
第二版提示词(要求模型对单词中的字母进行分解):
在这里插入图片描述

第三版提示词(要求模型对分解后的字母逐个判断):
在这里插入图片描述
通过这个例子,我们可以清楚地看到,随着指令的逐步完善,AI生成的内容质量也随之提升。这种渐进式的提示词优化方法可以帮助我们更好地掌控AI输出,获得更符合需求的结果。

其他技巧我们这里不做过多介绍,如果大家感兴趣可以参考下面的资料:

OpenAI 官方提示工程指南
Claude 官方提示工程指南
LangGPT 知识库
万字解读ChatGPT提示词最佳案例

提示设计框架

CRISPE

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

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

写出的提示如下:

Act as an expert on software development on the topic of machine learning frameworks, and an expert blog writer. The audience for this blog is technical professionals who are interested in learning about the latest advancements in machine learning. Provide a comprehensive overview of the most popular machine learning frameworks, including their strengths and weaknesses. Include real-life examples and case studies to illustrate how these frameworks have been successfully used in various industries. When responding, use a mix of the writing styles of Andrej Karpathy, Francois Chollet, Jeremy Howard, and Yann LeCun.
CO-STAR

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

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

LangGPT结构化提示词

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

LangGPT结构

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

编写技巧

构建全局思维链

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

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

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

常用的提示词模块

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

编写提示词时,需要根据不同需求添加不同模块要点。如果采用固定的模式写法,在面对差异巨大的需求场景时,经常会因缺少某些描述而导致效果变差。下面整理了按字母从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:引入评判者视角,当判定低于阈值时,回复安全词
  • Value:Prompt模仿人格的价值观
  • Workflow:工作流程
  • X-factor:用户使用本提示词最为重要的内核要素
  • Yeow:提示词开场白设计
  • Zig:无厘头式提示词,如[答案之书]

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

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

自动化生成LangGPT提示词

利用下面的提示词引导InternLM扮演提示词生成助手,自动化地生成符合最佳实践的结构化提示词:

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

应用开发实战

开发一个辅助创建相声内容的助手

# Role: 相声内容创作大师## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 擅长相声内容创作,帮助相声从业人员提升作品喜剧效果。## Skills
1. 熟练掌握剧本创作技巧。
2. 能够清晰地表述相声中的笑点。
3. 具备良好的逻辑思维和表达能力。
4. 能够根据相声从业人员的需求,提供针对性的创作指导。## Background(可选项):
在相声内容创作中,许多人都会遇到创作瓶颈,甚至感到困惑,需要一个能够深入生活和理解观众的相声内容创作大师来帮助他们添加笑点和包袱。## Goals(可选项):
1. 通过对笑点和包袱的添加,让作品更受欢迎。
2. 提供清晰、易懂的笑料,提升作品的喜剧效果。## OutputFormat(可选项):
- 讽刺元素:可以增加贴近现实的讽刺内容,增加喜剧效果。## Constraints
1. 必须使用生活中通俗易懂的内容。
2. 内容要详细且逻辑清晰。
3. 避免使用过于复杂的专业术语,确保所有人能够理解。## Workflows
1. 分析作品主题,确定创作思路。
2. 标注讽刺元素和包袱。## Initialization
作为相声内容创作大师,我的目标是帮助相声从业人员们通过详细的笑点和包袱创作过程,更好地理解和掌握相声创作知识。请随时向我提出相声内容创作的问题,我会尽力为你提供内容丰富、笑点不断的爆笑内容。

输出内容如下,看来在语言类内容创作方面,大模型还需要进一步提升:

当然,我很乐意帮助你创作相声内容!相声的魅力在于通过幽默的对话和包袱,让观众在笑声中感受到生活的智慧和趣味。下面是一个简单的相声段子,旨在通过一些幽默的对话和包袱,让观众产生共鸣。### 相声名称:《生活中的小尴尬》#### 角色:
- 甲(男)
- 乙(女)#### 场景:
一个普通的社区活动室,桌子上放着一些茶具和点心,墙上挂着一些温馨的标语。#### 剧本:**【开场】**(音乐轻快,灯光柔和)**甲**:乙,你今天怎么穿得这么正式啊?**乙**:怎么了?今天社区有活动,我得穿得体面点儿。**甲**:哦,那社区活动?听起来挺有意思的。你们都准备了什么?**乙**:这不,准备了一些小游戏,还有茶点,大家聚在一起,聊聊天,挺好的。**甲**:嗯,挺好。那……(忽然尴尬地笑了笑)我……(手指自己)今天有点……不太对劲。**乙**:什么?你?没事儿吧?**甲**:没事,就是……(假装整理衣领)今天有点儿小尴尬。**乙**:哦,说说看,怎么回事?**甲**:这不,早上出门的时候,发现口红没涂匀,我本来想涂匀再出门,结果……(故作神秘地)一着急,就忘了。**乙**:哈哈,那你现在怎么办?**甲**:我现在……(装作无奈地)只能靠脸皮厚了。**乙**:哈哈,你这脸皮可是够厚的。那……(突然想起什么)对了,我刚才在整理活动物资的时候,发现了一盒“美颜面膜”,说是涂在脸上,能让皮肤变好。**甲**:哦,那……(装作惊喜)真的假的?能给我看看吗?**乙**:当然可以,不过……(突然停顿,眼睛一亮)不如,咱们来个“美颜面膜试用”的小游戏吧?**甲**:什么?试用?这……(假装惊讶)怎么玩?**乙**:简单,谁先涂上“美颜面膜”,然后大家评选谁最美。**甲**:哈哈,这个主意不错。那我先来吧。(甲迅速从桌上拿过“美颜面膜”,假装涂抹在脸上)**乙**:好了,大家来评选,谁最美?(观众们开始讨论,甲和乙在旁边偷笑)**甲**:别评了,别评了,我……(假装惊讶)我今天脸上涂了“美颜面膜”,肯定是最美的!**乙**:哈哈,那就投我一票吧,甲,我今天最美!(观众们笑成一片,甲和乙也跟着笑起来)**甲**:好吧,那我也投你一票,咱们一起最美!**乙**:哈哈,那今天的活动就到这里,大家也别客气,多来参加社区活动,增进邻里感情。**甲**:说得好,乙,咱们一起努力,让社区更和谐!(音乐渐弱,观众们纷纷离开,留下一片欢声笑语)**【结尾】**(灯光渐暗,幕布落下)### 关键知识点:
- **贴近生活**:通过生活中常见的小尴尬,贴近观众的生活,让观众产生共鸣。
- **笑点释放**:通过甲和乙的对话和包袱,制造轻松幽默的氛围。
- **互动性**:通过观众的参与和讨论,增加互动性和趣味性。
- **讽刺元素**:通过“美颜面膜”试用的小游戏,增加一些贴近现实的讽刺内容,增加喜剧效果。希望这个相声段子能够为你的创作提供一些灵感。如果你有其他具体的要求或想法,随时告诉我,我可以进一步完善剧本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/11676.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个开源 GenBI AI 本地代理(确保本地数据安全),使数据驱动型团队能够与其数据进行互动,生成文本到 SQL、图表、电子表格、报告和 BI

一、GenBI AI 代理介绍(文末提供下载) github地址:https://github.com/Canner/WrenAI 本文信息图片均来源于github作者主页 在 Wren AI,我们的使命是通过生成式商业智能 (GenBI) 使组织能够无缝访问数据&…

41. 缺失的第一个正数

参考题解:https://leetcode.cn/problems/first-missing-positive/solutions/7703/tong-pai-xu-python-dai-ma-by-liweiwei1419 难点在于时间复杂度控制在O(n),空间复杂度为常数级。 哈希表时间复杂度符合,但是空间复杂度为O(n) 排序空间复杂…

深入核心:一步步手撕Tomcat搭建自己的Web服务器

介绍: servlet:处理 http 请求 tomcat:服务器 Servlet servlet 接口: 定义 Servlet 声明周期初始化:init服务:service销毁:destory 继承链: Tomcat Tomcat 和 servlet 原理&#x…

final-关键字

一、final修饰的类不能被继承 当final修饰一个类时,表明这个类不能被其他类继承。例如,在 Java 中,String类就是被final修饰的,这保证了String类的不可变性和安全性,防止其他类通过继承来改变String类的行为。 final…

51单片机 01 LED

一、点亮一个LED 在STC-ISP中单片机型号选择 STC89C52RC/LE52RC;如果没有找到hex文件(在objects文件夹下),在keil中options for target-output- 勾选 create hex file。 如果要修改编程 :重新编译-下载/编程-单片机重…

知识库建设与知识管理实践对企业发展的助推作用探索

内容概要 在当今瞬息万变的商业环境中,知识库建设与知识管理实践日益成为企业发展的重要驱动力。知识库作为组织内信息和知识的集成,起着信息存储、整理和共享的关键作用。通过有效的知识库建设,企业不仅能够提升员工获取信息的便利性&#…

【Pytorch和Keras】使用transformer库进行图像分类

目录 一、环境准备二、基于Pytorch的预训练模型1、准备数据集2、加载预训练模型3、 使用pytorch进行模型构建 三、基于keras的预训练模型四、模型测试五、参考 现在大多数的模型都会上传到huggface平台进行统一的管理,transformer库能关联到huggface中对应的模型&am…

如何使用 DeepSeek 和 Dexscreener 构建免费的 AI 加密交易机器人?

我使用DeepSeek AI和Dexscreener API构建的一个简单的 AI 加密交易机器人实现了这一目标。在本文中,我将逐步指导您如何构建像我一样的机器人。 DeepSeek 最近发布了R1,这是一种先进的 AI 模型。您可以将其视为 ChatGPT 的免费开源版本,但增加…

ArkTS渲染控制

文章目录 if/else:条件渲染ArkUI通过自定义组件的build()函数和@Builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数据快…

potplayer字幕

看视频学习,实时字幕可以快速过滤水字数阶段,提高效率,但是容易错过一些信息。下面就是解决这一问题。 工具ptoplayer 一.生成字幕 打开学习视频,右键点击视频画面,点选字幕。勾选显示字幕。点选创建有声字幕&#…

deepseek的两种本地使用方式

总结来说 ollama是命令行 GPT4ALL桌面程序。 然后ollamaAnythingLLM可以达到桌面或web的两种接入方式。 一. ollama和deepseek-r1-1.5b和AnythingLLM 本文介绍一个桌面版的deepseek的本地部署过程,其中ollama可以部署在远程。 1. https://www.cnblogs.com/janeysj/p…

海外问卷调查渠道查,如何影响企业的运营

我们注意到,随着信息资源和传播的变化,海外问卷调查渠道查已发生了深刻的变化。几年前,市场调研是业内专家们的事,即使是第二手资料也需要专业人士来完成;但如今的因特网和许许多多的信息数据库,使每个人都…

TensorFlow简单的线性回归任务

如何使用 TensorFlow 和 Keras 创建、训练并进行预测 1. 数据准备与预处理 2. 构建模型 3. 编译模型 4. 训练模型 5. 评估模型 6. 模型应用与预测 7. 保存与加载模型 8.完整代码 1. 数据准备与预处理 我们将使用一个简单的线性回归问题,其中输入特征 x 和标…

当卷积神经网络遇上AI编译器:TVM自动调优深度解析

从铜线到指令:硬件如何"消化"卷积 在深度学习的世界里,卷积层就像人体中的毛细血管——数量庞大且至关重要。但鲜有人知,一个简单的3x3卷积在CPU上的执行路径,堪比北京地铁线路图般复杂。 卷积的数学本质 对于输入张…

MySQL(高级特性篇) 13 章——事务基础知识

一、数据库事务概述 事务是数据库区别于文件系统的重要特性之一 (1)存储引擎支持情况 SHOW ENGINES命令来查看当前MySQL支持的存储引擎都有哪些,以及这些存储引擎是否支持事务能看出在MySQL中,只有InnoDB是支持事务的 &#x…

影视文件大数据高速分发方案

在当今的数字时代,影视行业的内容创作和传播方式经历了翻天覆地的变化。随着4K、8K高清视频的普及,以及虚拟现实(VR)和增强现实(AR)技术的发展,影视文件的数据量正以前所未有的速度增长。这就要求行业内的参与者必须拥有高效的大数据传输解决…

C语言教程——文件处理(2)

目录 前言 一、顺序读写函数(续) 1.1fprintf 1.2fscanf 1.3fwrite 1.4fread 二、流和标准流 2.1流 2.2标准流 2.3示例 三、sscanf和sprintf 3.1sprintf 3.2sscanf 四、文件的随机读写 4.1fseek 4.2ftell 4.3rewind 五、文件读取结束的…

建表注意事项(2):表约束,主键自增,序列[oracle]

没有明确写明数据库时,默认基于oracle 约束的分类 用于确保数据的完整性和一致性。约束可以分为 表级约束 和 列级约束,区别在于定义的位置和作用范围 复合主键约束: 主键约束中有2个或以上的字段 复合主键的列顺序会影响索引的使用,需谨慎设计 添加…

线性回归的损失和优化02

线性回归的损失和优化 学习目标 知道线性回归中损失函数知道使用正规方程对损失函数优化的过程知道使用梯度下降法对损失函数优化的过程 假设刚才的房子例子,真实的数据之间存在这样的关系: 真实关系: 真实房子价格 0.02中心区域的距离 0.…

年化18%-39.3%的策略集 | backtrader通过xtquant连接qmt实战

原创内容第785篇,专注量化投资、个人成长与财富自由。 大年初五,年很快就过完了。 其实就是本身也只是休假一周,但是我们赋予了它太多意义。 周五咱们发布发aitrader v4.1,带了backtraderctp期货的实盘接口: aitra…