代码
【昇思MindSpore技术公开课】第十二讲 Prompt engineering 课程回顾

【昇思MindSpore技术公开课】第十二讲 Prompt engineering 课程回顾

【昇思MindSpore技术公开课】第十二讲 Prompt engineering 课程回顾

昇思MindSpore技术公开课大模型专题精彩继续!上期课程我们针对大模型提示词工程(Prompt engineering)进行了一些列知识点的讲解,并且带领大家使用Ascend+MindFormers+MindSpore部署Baichuan2的多轮对话聊天机器人。下面我们对Prompt engineering的课程知识点进行总结:

1**、**什么是Prompt?

**Prompt定义:**涉及传递给语言模型,以实现所需任务的指令和上下文,驱动大模型进行图文表达的文本描述。

**Prompt engineering定义:**是开发和优化提示,以有效地将语言模型用于各种应用程序的实践。

**主要使用Prompt的场景主要分为两个部分:**语言对话和文生图两种常见类别。

**2、**如何定义一个Prompt的好坏?

(1)**角色赋予:**就是让大语言模型(LLM)明白自已的身份,说与身份对应的话

(2)**细化指令:**从产出结果出发,逆向推导要点,并给出明确要求。

(3)**格式控制:**给出字数限制,要点列举,文章结构,如标题分级,还有押韵比喻等手法,让输出的内容更符合预期。

3**、**如何撰写优质的Prompt?

假设我们有一个任务:我现在要去天津旅游,我想要baichuan2大模型给我一份旅游攻略

**第一步:**说清楚:大语言模型没办法洞察用户的内心,所以要确保 Prompt 有清晰明确地表达你的意图。Prompt=“给我一份去天津三天两晚的旅游攻略”。

**第二步:**做强调:我们可以突出我们重点所需要的地方,对一些我们希望固定输出的内容进行强调,或者将一些细节进行输入。Prompt=“给我一份去天津三天两晚的旅游攻略,我特别想去看大爷跳水和吃煎饼果子”。

**第三步:**定人设:我们可以给大模型预设定一个人设,假设它是某个相对应场景非常专业的人士,这样子可以使得输出的结果更加的精确。Prompt=“你是有10年资历携程旅行资深的规划师,拥有给2000名私人用户进行短程旅游的规划经验,行程的规划更加细致,现在给我一份去天津三天两晚的旅游攻略,我特别想去看大爷跳水和吃煎饼果子”。

**第四步:**追问细节:目前大多数模型都有长记忆的回答功能,我们可以根据它的回答去在细节上进行询问。Prompt=“五大道是一个错综复杂的地方,请给我设计一条线路以便我能够在一个下午游览整个五大道的景点”。

4**、**如何产出一个优质的Prompt?

下面给出一个小案例:

5**、**浅谈一些我们在进行Prompt的时候遇到的问题

最后大家可以根据启智社区上的README.md(关注MindSpore公众号,点击文章结尾处“阅读原文”,可前往查看),即可以在Ascend设备上进行Baichuan2的模型多轮对话。