书生·浦语大模型全链路开源体系-第3关 提示词工程

书生·浦语大模型全链路开源体系-第3关

为了推动大模型在更多行业落地应用,让开发人员更高效地学习大模型的开发与应用,上海人工智能实验室重磅推出书生·浦语大模型实战营,为开发人员提供大模型学习和开发实践的平台。
本文是书生·浦语大模型全链路开源体系-开源开放体系课程的笔记。

相关资源

  • InternLM项目地址

https://github.com/InternLM/InternLM

  • InternLM2技术报告

https://arxiv.org/pdf/2403.17297.pdf

  • 书生·万卷 数据

https://opendatalab.org.cn/

  • 课程链接

https://space.bilibili.com/1293512903/channel/collectiondetail?sid=4017857

提示工程(Prompt Engineering)

什么是Prompt(提示词)

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

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

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

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

什么是提示工程

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

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

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

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

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

提示词工程案例

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

比如:当我们问大模型“strawberry”中有几个字母“r”的时候,大模型可能会回答“strawberry”中有两个字母“r”,这是错误的。

  • 智谱的回答

  • Kimi的回答

  • 豆包的回答

  • 书生的回答

可以看到上面的回答,几乎是全军覆没。

为了让大模型能够准确的回答问题,这时我们就需要添加一些提示词,让大模型能够理解我们的意图。

比如,我们先尝试使用提示词:

我们统计单词中某个字母出现的次数的时候,应该从头到尾每个字母都进行比较,然后记录下我们关心的字母在单词中出现的位置,最后看看有多少个不同的位置,那么字母就出现了多少次,也就是包含几个字母。那么,请问:strawberry单词有几个字母r

此时,可能仍然无法得到准确的回答:

在 "strawberry" 这个单词中,字母 "r" 出现了两次。虽然 "r" 在单词中只出现在两个不同的位置,但根据你描述的统计方法,我们实际上是要计算字母 "r" 在整个单词中出现的位置。因此,"strawberry" 这个单词中包含两个字母 "r"。

那么,我们就需要更换提示词,直到得到期望的答案。比如:

我们统计单词中某个字母出现的次数的时候,应该从头到尾每个字母都进行比较,将其它字母都替换成空,最后剩下的字母有多少个,那么字母就出现了多少次,也就是包含几个字母。那么,请问:strawberry单词有几个字母r

此时,我们可能会得到准确的答案:

根据你描述的统计方法,即通过将其他字母替换成空,统计剩下的字母的数量来确定某个字母在单词中出现的次数,那么在 "strawberry" 这个单词中,字母 "r" 实际上出现了三次。这是因为当把 "s", "t", "a", "w", "b", "e", "r", "b", "r", "e", "r", "r", "e", "y" 中的其他字母替换成空后,剩下的字母 "r" 有三次出现。因此,"strawberry" 这个单词包含三个字母 "r"。

当然,如果我们得到的回答还是不准确,那么,我们还需要继续调整提示词,逐步完善,直到满意为止。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wux_labs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值