提示词工程PLUS
prompt
当前大模型是没有“心算”能力的,无法探知自然语言背后的“隐含信息”,对于中文隐含信息量又是及其庞大的。但我们可以通过提示词让模型将心算能力摆在前台,通过上下文将隐含信息摆在前台。
举个例子:
36 * 12等于几,人类通过心算时大部分会拆成3610=360放在心里某个位置,然后在算362=72放在心里某个位置,最终相加得出结果,而模型没有地方可以放这个临时值
- 这种情况下可以在提示词上说:请分步给出答案,通过step by step的方式让模型有放临时值的“地方”
“老王儿子明天摆宴席,让我上台讲两句,我该说点什么词?”,在这个提问背后如果是人与人之间的沟通它背后隐含着老王儿子和提问者是什么关系、摆的什么宴席(结婚、升学…..)可能马上就知道怎么回事,但是模型是无法探知的
- 这种情况下可以在提示词上说:老王儿子是我外甥,明天要摆升学宴,通过给出隐含信息让模型输出结果更精准
ReAct
ReAct 是 Reasoning 和 Acting 的缩写。这个框架的基本思想是给一个 Prompt,这个 Prompt 将 Question 拆成几个步骤。分别是:
- Tought: 面对这个 Question 我下一步应该做什么。
- Action:执行某个动作。在 ReAct 里有三种动作,第一个是 Search[entity] 如果存在对应实体的维基页面,则返回前5句话,否则使用维基百科搜索引擎搜索前5个类似的实体;第二个是 Look[string] 它将返回包含该字符串的页面中的下一句话,模拟浏览器上的 Ctrl+F 功能。第三个是 Finish[answer] 它将使用答案完成当前任务。
- Observation:观察到的外部工具给到的结果,将作为新的提示输入给 ChatGPT
Embedding
基于embeddings+GPT的Q&A探索 - blog (chunfei-he.github.io)
Langchain
提示词工程PLUS
https://chunfei-he.github.io/2024/07/23/提示词工程PLUS/