快速上手Prompt,让你的LLMs更智能

发布时间 2023-11-28 09:24:26作者: 努力的小雨

前言

在当前社会中,随着AIGC的盛行,使用好prompt可以让自己更上一层楼。今天,我将通过星火大模型重新认识prompt设计,并与大家分享一些使用技巧。

如果你想体验星火大模型的强大魅力,请登录https://xinghuo.xfyun.cn/desk ,即可免费体验。

星火大模型是由科大讯飞研发的一款大语言模型。它具备强大的中文创作能力,可以处理复杂语境下的逻辑推理,并能可靠地执行各种任务。

在使用星火大模型时,合理使用prompt是至关重要的,因为它可以大大提高模型的效果和准确性。因此,本文将从prompt的生成和prompt的重要性等角度,分析星火大模型中prompt的使用方法。

prompt是什么?

Prompt是一种人为构造的输入序列,旨在引导星火大模型根据先前输入的内容生成相关的输出。简而言之,即为向模型提供的“提示词”。

在星火大模型中,我们可以通过设计不同的prompt,使模型生成与之相关的文本。举个例子,假设我们希望星火大模型生成一篇短文,描述中国古代四大发明之一:造纸术。除了这个,我们还可以给模型提供以下prompt:

我希望你能担任英语翻译、拼写校对和修辞改进的角色。
我会用任何语言和你交流,你会识别语言,将其翻译并用更为优美和精炼的英语回答我。
请将我简单的词汇和句子替换成更为优美和高雅的表达方式,确保意思不变,但使其更具文学性。
请仅回答更正和改进的部分,不要写解释。我的第一句话是“how are you ?,请翻译它。

这样,我们就可以期待模型生成一段文本了。

prompt如何生成?

非常重要的一点是,我们应该注意如何编写一个优秀的prompt。在这方面,我发现了在GitHub上非常有名的开发者Matt Nigh的作品。

image

CRISPE Prompt Framework是一个用于优化语句的指导框架。CRISPE代表着以下含义:

  • C - Capacity and Role(能力与角色):在这一部分,你可以明确告诉ChatGPT你希望它扮演的角色和所具备的能力。
  • R - Insight(洞察):这一部分提供了背景信息和上下文,让ChatGPT更好地理解问题。
  • I - Statement(陈述):在这一部分,你可以明确告诉ChatGPT你希望它做什么。
  • P - Personality(个性):在这一部分,你可以明确告诉ChatGPT以什么风格或方式回答你。
  • E - Experiment(实验):在这一部分,你可以要求ChatGPT为你提供多个答案,进行实验。

值得一提的是,github上的那些Prompt角色大全基本都是基于CRISPE框架来构建的。

image

首先,我们应该确定角色,然后描述背景,接着提出要求,最后确定风格。对于生成多个例子,可以根据个人喜好来决定。

让我们先进行一个简单的测试:例如,每当我们激动的时候,我们会忘却我们一生所学的一切,嘴中只剩下**,我就不说了。来我们来看下。

请将我简单的词汇和句子替换成更为优美和高雅的表达方式,确保意思不变,但使其更具文学性。

image

我认为这个回答还可以,但是与我想要表达的意思有些出入。因此,我建议我们重新生成多个回答,以供我们自己选择。请点击"全新对话"按钮,重新评估我们的prompt效果。

image

请将我简单的词汇和句子替换成更为优美和高雅的表达方式,确保意思不变,但使其更具文学性。请提供4个结果以供我选择。

image

我觉得这次的表现还不错,所以我想再试试看能否更准确地描述我现在身临其境的感受。

请将我简单的词汇和句子替换成更为优美和高雅的表达方式,确保意思不变,但使其更具文学性。请注意,表达的时候以第一人称说出来身临其境的感觉。并提供4个结果以供我选择。

image

我开始有所感悟,我认为他还有进一步提升的空间。我决定再次启发他的联想力。

请将我简单的词汇和句子替换成更为优美和高雅的表达方式,在确保意思不变的情况下可以进行一些联想增加故事性,但使其更具文学性。请注意,表达的时候以第一人称说出来身临其境的感觉。并提供4个结果以供我选择。

image

好了,演示到这里我们基本可以确定以后的优化prompt路线了。当你想让prompt表达特定意思时,要记住它不可能一步到位,你需要逐步优化它。如果优化的幅度太大,很可能导致prompt偏离原本的路线,那么我就不会再继续优化这条路线了。现在让我们来看看另一条路线,可以通过增加前置条件来进行优化。

请根据我提供的4段语句资料,按照提供的资料语句风格,帮我完成一篇游记,内容大概500字即可。以下是资料:
1.高耸入云的山峰,仿佛要触摸到那纯净无瑕的白云,而蔚蓝的天空则作为背景,为这一切增添了几分神秘和壮丽。
2.那座山峦之高,直逼云端,与那洁白如棉的云朵相映成趣,而湛蓝的天空则如同一面巨大的镜子,映照出这美丽的画卷。
3.高山峻岭,云雾缭绕,仿佛是大自然的杰作。那洁白的云朵在蓝天的映衬下显得更加纯净,让人心生向往。
4.仰望那巍峨的山峰,它似乎已经冲破了天际,与那洁白的云朵和湛蓝的天空融为一体,构成了一幅美丽的画卷。

image

如果你对他的写作不满意,你可以在提供的材料和要求上做一些修改,以便他能够帮助你完成你想要的工作。在这种情况下,你可能会思考如何建立一个个人知识库。你可以要求他根据你提供的材料回答几个问题,以展示他的回答能力。

为了演示他如何回答问题,我们需要准备一些问题。当然,你可以直接让他来完成这些问题的生成。

请根据提供的内容资料,这些内容资料是关于一篇游记的文章。请你作为一名语文老师,写4个相关阅读理解的问题。
资料如下:{
游记:高山之巅的壮丽画卷
我站在高耸入云的山峰上,仿佛要触摸到那纯净无瑕的白云。蔚蓝的天空作为背景,为这一切增添了几分神秘和壮丽。这座山峦之高,直逼云端,与洁白如棉的云朵相映成趣。湛蓝的天空则如同一面巨大的镜子,映照出这美丽的画卷。
登上山顶,我被眼前的景色所震撼。高山峻岭,云雾缭绕,仿佛是大自然的杰作。洁白的云朵在蓝天的映衬下显得更加纯净,让人心生向往。我深吸一口清新的空气,感受着大自然的力量和宁静。
仰望那巍峨的山峰,它似乎已经冲破了天际,与洁白的云朵和湛蓝的天空融为一体,构成了一幅美丽的画卷。这幅画卷中,山峰高耸入云,宛如一座巍峨的城堡;白云飘浮其中,犹如一朵朵棉花糖般柔软;而湛蓝的天空则延伸至远方,给人以无限遐想的空间。
我沿着蜿蜒曲折的山路继续前行,每一步都让我更加接近大自然的怀抱。山间的风吹拂着我的脸庞,清凉而舒适。远处传来鸟儿的歌唱声,它们在这片净土上自由自在地翱翔。我感受到大自然的魅力和生命的活力。
在这片高山之巅,我找到了内心的宁静和平衡。远离尘嚣喧嚣的城市生活,我能够静心欣赏大自然的美丽和力量。这里的一切都是如此纯粹和真实,让我重新审视自己的生活和价值观。
离开这座高山时,我心中充满了对大自然的敬畏和感激之情。这次旅行让我领略到了高山之巅的壮丽画卷,也让我明白了大自然的伟大和无私。我希望将来还能有机会再次踏上这片神奇的土地,与大自然亲密接触,感受生命的美好和无限可能。
}

image

这就是使用大型语言模型的一个挑战。我一直尝试修改,但无法改变它只返回图片的情况。这个问题还有待改进,你可以直接调用它的API来生成文本。这里我就不再单独演示了。不过,在其他大型模型中,我得到了我想要的答案,具体如下所示:

阅读理解问题:
1. 作者在游记中描述的景色有哪些特点?
2. 通过这次旅行,作者对大自然有了怎样的认识?
3. 作者在游记中提到了自己对生活和价值观的重新审视,请谈谈作者是如何通过这次旅行来实现这一点的?
4. 你认为这篇游记给你带来了什么样的感受和启示?

然后,根据问题的特点,我们进一步来审视他们的回答。在这里,我只选择一个例子作为说明。

请根据我提供的资料帮我完成一道阅读理解的问题,回答的字数限定在50字左右。资料如下:
{
游记:高山之巅的壮丽画卷
我站在高耸入云的山峰上,仿佛要触摸到那纯净无瑕的白云。蔚蓝的天空作为背景,为这一切增添了几分神秘和壮丽。这座山峦之高,直逼云端,与洁白如棉的云朵相映成趣。湛蓝的天空则如同一面巨大的镜子,映照出这美丽的画卷。
登上山顶,我被眼前的景色所震撼。高山峻岭,云雾缭绕,仿佛是大自然的杰作。洁白的云朵在蓝天的映衬下显得更加纯净,让人心生向往。我深吸一口清新的空气,感受着大自然的力量和宁静。
仰望那巍峨的山峰,它似乎已经冲破了天际,与洁白的云朵和湛蓝的天空融为一体,构成了一幅美丽的画卷。这幅画卷中,山峰高耸入云,宛如一座巍峨的城堡;白云飘浮其中,犹如一朵朵棉花糖般柔软;而湛蓝的天空则延伸至远方,给人以无限遐想的空间。
我沿着蜿蜒曲折的山路继续前行,每一步都让我更加接近大自然的怀抱。山间的风吹拂着我的脸庞,清凉而舒适。远处传来鸟儿的歌唱声,它们在这片净土上自由自在地翱翔。我感受到大自然的魅力和生命的活力。
在这片高山之巅,我找到了内心的宁静和平衡。远离尘嚣喧嚣的城市生活,我能够静心欣赏大自然的美丽和力量。这里的一切都是如此纯粹和真实,让我重新审视自己的生活和价值观。
离开这座高山时,我心中充满了对大自然的敬畏和感激之情。这次旅行让我领略到了高山之巅的壮丽画卷,也让我明白了大自然的伟大和无私。我希望将来还能有机会再次踏上这片神奇的土地,与大自然亲密接触,感受生命的美好和无限可能。
}
问题如下:通过这次旅行,作者对大自然有了怎样的认识?

image

好了,我已经将prompt的基本玩法全部介绍完毕了。本文的演示并不深入,只是简单地带大家了解了一下基本的玩法。比如:是否可以在前期利用大型模型来协助我们生成prompt呢?在生成prompt的过程中,大型模型的参与是否能够优化我们的结果?如果我将这些资料都存储到我的向量数据库中,那么是否就能够实现一个类似个人知识库的应用。通过将这些资料以向量形式存储,我可以更加高效地管理和检索这些信息,使其更易于访问和利用?当我让大型语言模型记忆问题并存储相关问题时,如果你的问题存在语法错误,是否可以让该模型自动帮助你修正问题?换句话说,你提供一个提示,然后向模型提问,以便获得修正后的问题?这些都是可以的。