Skip to content

Commit d33051e

Browse files
committed
补充了提示词
1 parent dda90a0 commit d33051e

21 files changed

+2355
-0
lines changed

人工智能/Agent工程/问题总结.md

Whitespace-only changes.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
## 是什么
2+
3+
提示工程是一个较新的学科,应用于开发和优化提示词(Prompt),帮助用户有效地将语言模型用于各种应用场景和研究领域。掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。研究人员可利用提示工程来提高大语言模型处理复杂任务场景的能力,如问答和算术推理能力。开发人员可通过提示工程设计和研发出强大的技术,实现和大语言模型或其他生态工具的高效接轨。
4+
5+
6+
本文档主要给出以下三个内容
7+
8+
1. 提示词的技巧
9+
2. 提示词的模板
10+
3. 提示词的最佳实践
11+
12+
13+
## 模型的基本设置
14+
15+
使用提示词时,您通常会通过 API 或直接与大语言模型进行交互。你可以通过配置一些参数以获得不同的提示结果。调整这些设置对于提高响应的可靠性非常重要,你可能需要进行一些实验才能找出适合您的用例的正确设置。以下是使用不同LLM提供程序时会遇到的常见设置:
16+
17+
Temperature:简单来说,temperature 的参数值越小,模型就会返回越确定的一个结果。如果调高该参数值,大语言模型可能会返回更随机的结果,也就是说这可能会带来更多样化或更具创造性的产出。(调小temperature)实质上,你是在增加其他可能的 token 的权重。在实际应用方面,对于质量保障(QA)等任务,我们可以设置更低的 temperature 值,以促使模型基于事实返回更真实和简洁的结果。 对于诗歌生成或其他创造性任务,适度地调高 temperature 参数值可能会更好。
18+
19+
Top_p:同样,使用 top_p(与 temperature 一起称为核采样(nucleus sampling)的技术),可以用来控制模型返回结果的确定性。如果你需要准确和事实的答案,就把参数值调低。如果你在寻找更多样化的响应,可以将其值调高点。
20+
21+
使用Top P意味着只有词元集合(tokens)中包含top_p概率质量的才会被考虑用于响应,因此较低的top_p值会选择最有信心的响应。这意味着较高的top_p值将使模型考虑更多可能的词语,包括不太可能的词语,从而导致更多样化的输出。
22+
23+
一般建议是改变 Temperature 和 Top P 其中一个参数就行,不用两个都调整。
24+
25+
Max Length:您可以通过调整 max length 来控制大模型生成的 token 数。指定 Max Length 有助于防止大模型生成冗长或不相关的响应并控制成本。
26+
27+
Stop Sequences:stop sequence 是一个字符串,可以阻止模型生成 token,指定 stop sequences 是控制大模型响应长度和结构的另一种方法。例如,您可以通过添加 “11” 作为 stop sequence 来告诉模型生成不超过 10 个项的列表。
28+
29+
Frequency Penalty:frequency penalty 是对下一个生成的 token 进行惩罚,这个惩罚和 token 在响应和提示中已出现的次数成比例, frequency penalty 越高,某个词再次出现的可能性就越小,这个设置通过给 重复数量多的 Token 设置更高的惩罚来减少响应中单词的重复。
30+
31+
Presence Penalty:presence penalty 也是对重复的 token 施加惩罚,但与 frequency penalty 不同的是,惩罚对于所有重复 token 都是相同的。出现两次的 token 和出现 10 次的 token 会受到相同的惩罚。 此设置可防止模型在响应中过于频繁地生成重复的词。 如果您希望模型生成多样化或创造性的文本,您可以设置更高的 presence penalty,如果您希望模型生成更专注的内容,您可以设置更低的 presence penalty。
32+
33+
与 temperature 和 top_p 一样,一般建议是改变 frequency penalty 和 presence penalty 其中一个参数就行,不要同时调整两个。
34+
35+
36+
## 提示词的要素
37+
38+
提示词至少包括以下五个最基本的要素:
39+
40+
1. 角色:让大模型扮演某个角色
41+
42+
2. 指令:想要模型执行的特定任务或指令。
43+
44+
3. 上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。
45+
46+
4. 输入数据:用户输入的内容或问题。
47+
48+
5. 输出指示:指定输出的类型或格式。
49+

人工智能/Prompt工程/02 技巧原则.md

Lines changed: 547 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
> 参考文档
2+
> https://github.com/f/awesome-chatgpt-prompts
3+
> https://github.com/f/awesome-chatgpt-prompts?tab=readme-ov-file
4+
5+
6+
7+
## 简介
8+
9+
10+
现在结构化的提示词主要有两个方案,markdown格式、xml标签、列表格式。现在的复杂提示词基本都是使用xml格式。
11+
12+
提示词模板一般包含以下几个要素。在不同的应用场景下往往会添加一些不同的标签。尽量避免标签的嵌套,根据业务场景定义多个不同的标签。
13+
14+
15+
### 总结结构如下
16+
```
17+
背景/上下文/清晰度(范围)/情况/问题
18+
背景信息:
19+
做事情的上下联系
20+
做事的范围, 受众
21+
问题: 核心要解决的问题
22+
角色
23+
行动/指令
24+
支持: 为大模型提供该行动的额外信息或资源
25+
技术: 具体调用的程序或软件
26+
任务: 具体执行任务
27+
步骤: 期望采取的详细步骤
28+
计划: 行动方案
29+
目的/目标/结果/期望/预期方案
30+
31+
演变/评估
32+
执行后期望演变的样子
33+
行动后对效果的评估或分析
34+
个性
35+
语气
36+
格式:输出格式, 控制回复量
37+
38+
实验/示例: 多个示例,(有示例有时候可以省略语气和格式)
39+
示例
40+
要求生成几个例子
41+
```
42+
43+
### 以下是另一个实例
44+
45+
```
46+
# 角色:
47+
设定角色,以明确身份,在指定的任务中更专业。类似指定厨师来做菜。
48+
## 角色描述:
49+
提供角色的详细信息,描述角色背景、经验、专业能力等。
50+
## 任务:
51+
- 设置指令需要实现的目标或期望的结果,以明确指导角色在交互中所要实现的目标。
52+
## 输出要求:
53+
- 定义在交互过程中必须遵循的具体指导原则、行为规则或操作规程。
54+
## 技能:
55+
- 角色必须具备的能力、知识或技巧。这些技能用于执行角色在交互中的任务和职责。
56+
## 工作流程:
57+
类似指定做菜的流程
58+
1.第一步
59+
2.第二步
60+
3.第三步
61+
## 限制:
62+
- 把不想要或者禁止的信息写在这里。类似让厨师做菜不放辣。
63+
## 参考例子:
64+
- 这个只在需要的时候设置即可,就是常说的少样本提示,注意参考例子需要符合你设置的角色要求。类似让厨师先看看怎么做或者做成什么样。
65+
```
66+
67+
68+
69+
以下是一些常用的、专业的提示词模板,按不同场景分类:
70+
71+
## 通用模板
72+
### **CRISPE提示词框架**
73+
- **Capacity and Role(能力和角色)**:定义角色,如“扮演一个了解许家印生平的作者”。
74+
- **Insight(洞察)**:提供背景信息,如“许家印是中国恒大集团的创始人”。
75+
- **Statement(声明)**:明确任务,如“创作一篇关于许家印的200字简介”。
76+
- **Personality(个性)**:指定回应风格,如“保持客观公正,语言简练”。
77+
- **Experiment(实验)**:要求提供多个回答示例,如“尝试将许家印的生平事迹精炼到200字内”。
78+
### **CREATE框架**
79+
- **Clarity(清晰度)**:明确任务意图,如“提供一份健身爱好者的饮食计划”。
80+
- **Relevant info(相关信息)**:提供必要细节,如“以营养专家的身份”。
81+
- **Examples(实例)**:通过示例说明需求,如“以列表形式呈现”。
82+
- **Avoid ambiguity(避免含糊不清)**:确保提示词明确,如“避免使用模糊词”。
83+
- **Tinker(迭代、修补)**:通过测试和反馈优化提示词。
84+
### **RACE提示词框架**
85+
- **Role(角色)**:定义角色,如“你是一个商业记者”。
86+
- **Action(行动)**:描述要做的事情,如“撰写一篇关于许仰天的人物传记”。
87+
- **Result(结果)**:描述期望的结果,如“得到一篇2000字的许仰天商业传记”。
88+
- **Example(示例)**:提供参考示例,如“参考Amazon创始人的简介”。
89+
### **RTF提示词框架**
90+
- **R(角色)**:指定角色,如“营养专家”。
91+
- **T(任务)**:定义具体任务,如“提供一份针对健身爱好者的饮食计划”。
92+
- **F(格式)**:定义答案格式,如“以列表形式呈现”。
93+
94+
<think>
95+
好的,用户现在问的是“有哪些常用的专业的提示词模板”。我需要先理解用户的需求。提示词模板通常用于指导大语言模型(LLM)生成特定格式或内容的输出,可能用户是希望在使用LLM时更高效地达成目标,比如生成结构化内容、执行任务分解或者角色扮演等。
96+
97+
首先,我需要回忆常见的提示词模板类型。比如,角色扮演模板、任务分解模板、思维链(Chain-of-Thought)模板、结构化输出模板等。这些都是用户可能需要的。
98+
99+
用户可能是开发者、内容创作者或者研究人员,他们可能希望提高与LLM交互的效率,确保输出符合特定要求。比如,内容创作者可能需要模板来生成文章大纲,而开发者可能需要模板来分解编程任务。
100+
101+
接下来,我需要整理这些模板的结构和应用场景。例如,角色扮演模板可以让LLM以特定角色的身份回答问题,任务分解模板可以帮助LLM将复杂任务拆解为步骤,思维链模板用于引导逻辑推理,结构化输出模板确保输出格式统一。
102+
103+
还要考虑用户可能没有明确提到的需求,比如多语言支持、错误处理或者上下文管理。不过用户的问题集中在模板本身,所以可能需要先回答核心部分,再补充相关建议。
104+
105+
需要验证这些模板的实际应用案例,比如在GitHub或开源社区中是否有相关项目使用这些模板。例如,LangChain框架中可能集成了部分模板,或者一些自动化工具使用提示词模板来优化LLM的输出。
106+
107+
另外,用户可能希望了解如何具体实施这些模板,比如具体的提示词写法,或者是否有现成的资源库可以参考。这时候需要提供示例,并推荐一些GitHub项目或资源链接。
108+
109+
最后,确保回答结构清晰,分门别类,每个模板有示例和用途说明,同时给出通用技巧和资源推荐,帮助用户进一步学习和应用。
110+
111+
112+
</think>
113+
114+
以下是 **常用的专业提示词模板(Prompt Templates)**,覆盖不同场景和需求,帮助更高效地与大语言模型(LLM)交互:
115+
116+
117+
## 特定类型的模板
118+
### **角色扮演模板**
119+
```plaintext
120+
你是一个[角色/身份],请以[目标受众]为目标,[具体任务]。要求:[风格/格式/限制]。
121+
```
122+
**示例**
123+
> 你是一个资深的科技记者,请为普通读者撰写一篇关于量子计算的科普文章。要求:语言通俗易懂,包含3个实际应用场景。
124+
125+
### **任务分解模板**
126+
```plaintext
127+
我需要完成[复杂任务],请将其拆解为[子步骤数量]个步骤,并为每个步骤提供详细说明。
128+
```
129+
**示例**
130+
> 我需要完成“策划一场线下发布会”,请将其拆解为5个步骤,并为每个步骤提供详细说明。
131+
132+
### **思维链(Chain-of-Thought, CoT)模板**
133+
```plaintext
134+
请逐步思考以下问题:[问题描述]。
135+
步骤1:[分析]
136+
步骤2:[推理]
137+
...
138+
最终结论:[答案]
139+
```
140+
**示例**
141+
> 请逐步思考以下问题:为什么海水是咸的?
142+
> 步骤1:分析海水中的盐分来源。
143+
> 步骤2:推理盐分如何积累。
144+
> ...
145+
> 最终结论:海水的咸味主要来自河流冲刷岩石中的矿物质。
146+
147+
### **角色+场景+任务(RST)模板**
148+
```plaintext
149+
角色(Role):[身份]
150+
场景(Scene):[背景]
151+
任务(Task):[目标]
152+
要求(Requirements):[格式/风格/限制]
153+
```
154+
**示例**
155+
> 角色:营养师
156+
> 场景:为糖尿病患者设计一周食谱
157+
> 任务:提供每日三餐搭配建议
158+
> 要求:低糖、低脂,每餐热量标注。
159+
160+
### **WOT分析模板**
161+
```plaintext
162+
请对[主题]进行SWOT分析:
163+
优势(Strengths):
164+
劣势(Weaknesses):
165+
机会(Opportunities):
166+
威胁(Threats):
167+
```
168+
**示例**
169+
> 请对“某新能源汽车品牌进入东南亚市场”进行SWOT分析。
170+
171+
172+
### **长期任务规划模板**
173+
```plaintext
174+
我需要在[时间范围]内完成[长期目标]。请制定分阶段计划,包括:
175+
阶段1:[目标+时间]
176+
阶段2:[目标+时间]
177+
...
178+
关键风险与应对策略:
179+
```
180+
**示例**
181+
> 我需要在6个月内完成“从零学习Python数据分析”。请制定分阶段计划。
182+

0 commit comments

Comments
 (0)