前言
从AI开始出现,prompt
就是我们必不可少的一部分。下面回顾一下大家都知道prompt
相关内容。 文章借鉴:www.promptingguide.ai/zh
简单示例
提示词1:qwen2.5:7b
问题:
plaintext
天空是?
输出说明:由于输出的内容没有上下文,导致可能和预期结果大相径庭。
实际输出:
plaintext
天空通常是蓝色的,这是由于大气中的气体分子会使太阳光散射成蓝色。但请注意,天空的颜色也会随着时间和天气的变化而变化,
在日出和日落时可能会变成橙色、红色或紫色;
在多云的日子里可能是灰色或白色;
而在晴朗无云的日子则呈现深蓝色或蔚蓝色。
提示词2:qwen2.5:7b
问题:
plaintext
天空是什么颜色?
输出说明:我们告知模型需要完善的内容,输出就会比上面好一些。
实际输出:
plaintext
通常情况下,天空的颜色是蓝色的。这种蓝色是由大气散射太阳光中的短波长光线(主要是蓝光)造成的,
这被称为瑞利散射。然而,天空的颜色会随着时间和天气的变化而变化:
- **日出和日落时**:由于光线需要穿过更厚的大气层,更多的蓝光被散射掉,所以天空呈现出橙色、红色或紫色。
- **晴朗无云的日子**:在白天,尤其是在正午时分,天空通常是深蓝色或蔚蓝色的。
- **多云的日子里**:天空可能是灰色或白色。
这些变化使得天空的颜色非常丰富和多样。
结论一
提示词应该遵循以下格式:
plaintext
<问题>? || <指令>
以上我们称之为零样本提示词,即我们只是进行了一个询问(指令),没有提供任何的样本,此时的输出取决于模型的能力。
提示词3(少样本):qwen2.5:7b
示例输入:
plaintext
这太棒了! // 积极
这太糟糕了! // 负面的
哇,那部电影太棒了! // 积极
多么可怕的表演! //
输出说明:少样本给予模型,模型可以学习上面的规律进行回答。
实际输出:
plaintext
多么可怕的表演!
看来你对这部电影的评价非常负面。如果你愿意分享更多细节或具体感受,我可以提供一些可能的原因分析或者建议如何改进表演。
提示词要素
提示词可以包含以下任意要素:
指令:想要模型执行的特定任务或指令。
上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。
输入数据:用户输入的内容或问题。
输出指示:指定输出的类型或格式。
提示词小技巧
提示词4:qwen2.5:7b
示例输入:
plaintext
请将文本分为中性、否定或肯定文本:
我觉得食物还可以。情绪:
实际输出:
plaintext
这段文本可以被归类为**中性**文本。
理由是:"我觉得食物还可以"这句话表达了一种中立的态度,既没有明显的积极评价也没有明显的消极评价。
分析(没有上下文,说明上下文不一定是必须的)
指令 :请将文本分为中性、否定或肯定文本
输入数据:我觉得食物还可以
输出指示: 情绪
想要更好的结果可以从简单的提示词,逐渐添加上下文,以及其他的要素,不断的迭代提示词。
具体性
提示词5:qwen2.5:7b
示例输入:
plaintext
提取以下文本中的地名。
所需格式:地点:<逗号分隔的公司名称列表>
输入:"虽然这些发展对研究人员来说是令人鼓舞的,但仍有许多谜团。里斯本未知的香帕利莫德中心的神经免疫学家 Henrique Veiga-Fernandes 说:"我们经常在大脑和我们在周围看到的效果之间有一个黑匣子。""如果我们想在治疗背景下使用它,我们实际上需要了解机制。""
实际输出(具体性):
plaintext
地点:里斯本, 香帕利莫德中心
要非常具体说明指令和任务,具描述性和详细,结果越好
避免不确定
我们通常使用的提示词,会发现结果出现答非所问,或者是回答的模棱两可。我们可以尝试这样做:
plaintext
解释提示工程的概念。保持解释简短,只有几句话,不要过于描述。
使用 2-3 句话向高中学生解释提示工程的概念。
禁止回答,非xxx的结论,禁止闲聊。
做什么还是不做什么?
提示词6:qwen2.5:7b
示例输入:
plaintext
以下是向客户推荐电影的代理程序。不要询问兴趣。不要询问个人信息。客户:请根据我的兴趣推荐电影。代理:
实际输出(不做什么):
plaintext
当然,为了给您提供个性化的电影推荐,我将基于当前流行的电影类型和一些广受好评的影片来给您建议。请告诉我您最近看过的电影类型,或者如果您喜欢的电影中有特定的元素(比如剧情、喜剧、动作、科幻、剧情片等),请告诉我这些细节。这样我可以帮您找到类似的佳作。
提示词7:qwen2.5:7b
示例输入:
plaintext
以下是向客户推荐电影的代理程序。代理负责从全球热门电影中推荐电影。它应该避免询问用户的偏好并避免询问个人信息。如果代理没有电影推荐,它应该回答"抱歉,今天找不到电影推荐。"。```顾客:请根据我的兴趣推荐一部电影。客服:
实际输出(做什么):
plaintext
当然,考虑到您可能对各种类型的电影感兴趣,我将为您推荐一部近期全球热门的影片。请稍等片刻,让我查找一下......(此处暂停,模拟搜索过程)很抱歉,目前系统里暂时没有符合您特定喜好或最新上映的直接信息。不过,我推荐一部近期全球评价很高的电影------《盗梦空间》(Inception)。这部电影以其独特的科幻设定和精彩的剧情而备受赞誉,相信您会喜欢。如果需要其他类型的推荐,请随时告诉我。
结论
设计提示时的另一个常见技巧是避免说不要做什么,而应该说要做什么。这样(说要做什么)更加的具体,并且聚焦于(有利于模型生成良好回复的)细节上。
链式思考(CoT)提示

现在的大模型,哪怕是 qwen2.5:7b 也能推理简单的数据,上述是拷贝老模型的简单事例。

我理解的链式思考,就是添加不同的比较有代表性的例子,且例子中需要有思考的过程,要求模型进行逐步思考
检索增强生成 (RAG)
当询问一些没有上下文的时候回答的就比较错误了

我们可以添加一个知识库查询到相关的数据,看着模型能力越强,rag 的能力也会越精准 qwen2.5:7b qwq:32b
ReAct + Agent
大家都知道的两张图


mcp 的尝试
自动生成