Skip to content

rag promit 技巧

prompt优化技巧:

  • 指定LLM的身份、
  • 描述答案标准(准确回答问题,不要健谈)、
  • 设置兜底回答方式、
  • 通过特殊符号###分隔出召回文本的内容。

比如以下例子:

{context}位置需要放入和问题相关的召回文本,{query}位置放入用户提出的问题。在这个例子中,依次涉及如下prompt优化技巧:指定LLM的身份、描述答案标准(准确回答问题,不要健谈)、设置兜底回答方式、通过特殊符号###分隔出召回文本的内容。如果使用的LLM性能较差,无法遵循你的指令(比如“不要健谈”就是一条比较难执行的指令,一些对话模型总是习惯性地多输出内容),就要继续扩写prompt了,对LLM提出更加细致、严格的要求。总之,prompt的编写是一个需要不断迭代的工作。

以下是关于召回文本放在不同位置时,LLM 回答正确率的一个测试:

因此,在RAG场景下,应避免将更有可能包含正确答案的召回文本片段放在LLM输入的中间部分。文本片段包含正确答案的可能性可以用它与问题的文本相似度来表示。将召回的文本片段从大到小排序并标号为1~N,一种比较合理的放入LLM输入中的顺序如图4-2所示,即将文本片段按顺序在开头和结尾进行交替摆放。

文本切块