在一个完整的大型RAG流程中,除了需要使用文本召回模型,还涉及提示词的设计、文本切块、向量数据库的选择、召回环节的优化、RAG效果的评估以及LLM能力优化等环节
4.1 提示词工程
在RAG场景下,目标是利用大模型对召回的相关文本进行提炼和总结,以回答用户的问题。通常来说,提示词(prompt)的长度较长,对其编写的质量要求也较高。因此,了解如何撰写高质量的prompt变得非常重要。接下来介绍一些重要的prompt编写原则,然后再详细介绍在RAG场景下如何编写出优秀的prompt
4.1.1 提示词工程基础
与LLM进行交互时使用自然语言的方式,但是不同的问题描述方式会导致LLM回答质量的差异。因此,如何更好地向LLM描述问题变得非常重要。ChatGPT的爆火推动了prompt工程的兴起,旨在优化和开发提示词,以便更高效地利用LLM解决各种实际问题。prompt工程本质上是LLM不成熟的副产品。目前,在某些场景下,LLM很难准确理解用户意图,因此需要更详细地描述问题才能获得更好的答案。相信在未来,prompt工程这一概念会逐渐淡化。但在目前,掌握优化prompt的能力仍然非常必要,RAG场景下也不例外。接下来,通过一些基础案例来看看如何优化prompt,使大模型能更好地回答我们的问题
1. 描述答案的标注
在与LLM交互时,最好在提示中清楚地描述所期望的答案标准。不要假设LLM具有与人类相似的理解能力,也不要期望它一定会以人类的方式进行回答。与LLM交互时使用prompt通常会显得有些啰嗦,这是正常的。但要注意每一条关于答案标准的描述都应与所期望实现的目标密切