文章目录
上一轮工业革命已成历史,这一轮智能革命正在眼前。
我们正见证历史,关注我,一起学习大模型。
一、原理基础-何为prompt
prompt,意为提示词。
是用户发给大模型的"指令"或"问题",它直接决定了模型会"思考"什么以及如何"回答"。prompt写的越清晰,回答的越好。
比喻理解
RAG = 实时"开卷考"。
- 没有RAG:大模型是"闭卷考",只能依赖训练时记住的、可能过时的知识。
- 有RAG:大模型在答题前,先自动去专属资料库(你的文档、数据库)(也就是通常叫的【知识库】)里查一遍,把查到的相关原文片段,和你的问题一起作为"参考资料"摆在眼前,再生成答案。
核心目的:让大模型的回答依据可靠、实时可更新、且可追溯来源。
那你可能会问:
有rag的时候,除了查专属资料库,还会去查"训练时记住的、可能过时的知识"吗?
答:会查,但会优先、且主要依赖检索到的专属资料库信息。查不到了,再去训练时候的查。但它可能会给出说明,比如我没有在知识库中查询到相关信息,但根据我的能力,我可以告诉你吧啦吧啦...
二、prompt重要性
就好像你想让张三把他身后的水杯递给你,你会有很多种说法:
1.张三,把那个给我
2.张三,把那个红色水杯给我
3.张三,把你身后的那个红色带把的水杯给我
这样对比下来,你觉得张三最能听得懂哪句?肯定是第三句。
同理,你把想问的问题告诉大模型,要想得到你想要的答案,首先得问清楚问明白。这直接决定了你能不能得到一个想要的答案。所以,他很重要。
三、prompt的组成
prompt也是有套路的,现在很多企业也都加上了根据你的问题,自动给你扩展成更好的prompt的功能。通常扩展成下面这样:
python
【角色设定】
你是一位经验丰富的网络安全专家。
【任务指令】
请分析以下代码片段中的安全漏洞。
【输入内容】
def process_input(user_input):
return eval(user_input) # 这里存在安全隐患
【输出要求】
- 指出具体漏洞类型
- 说明潜在风险
- 提供修复方案
- 用表格形式呈现
- 角色设定 (Role):让模型"扮演"特定专家
- 任务指令 (Task):明确要做什么
- 上下文 (Context):提供必要背景信息
- 输入数据 (Input):需要处理的具体内容
- 输出格式 (Format):指定结构、长度、风格等
- 约束条件 (Constraints):限制范围、避免偏离
当然,你不按照这种格式也可以,大模型也会回答你,但效果可能会打折扣。