RAG(检索增强生成)系统中的少样本示例通过提供如何处理上下文和生成答案的具体演示,帮助指导模型有效利用检索到的信息。实际上,这需要在提示中包含一个或多个结构化示例,每个示例都包含一个示例问题、检索到的相关上下文以及正确利用该上下文由模型生成的答案。这些示例充当模板,向模型展示如何从提供的信息中提取关键细节并构建其响应。对于开发者而言,这种方法通过阐明检索到的数据与最终输出之间预期关系,减少了歧义。
例如,考虑一个旨在回答历史问题的 RAG 系统。少样本示例可能包含一个问题,如“柏林墙何时倒塌?”,并配有检索到的上下文片段:“柏林墙是冷战分裂的象征,于 1989 年 11 月 9 日开放,导致德国重新统一。”示例中相应的答案将直接引用上下文中的日期和事件:“柏林墙于 1989 年 11 月 9 日东德当局开放边境时倒塌。”通过包含此示例,模型学会优先从上下文中提取特定日期和事件,而不是依赖一般知识或猜测。开发者可以通过定制示例来展示如何从检索到的文本中提取步骤、错误代码或产品详细信息,将此方法扩展到其他领域,例如技术文档或客户支持。
为了实现这一点,请使用清晰的分隔符(例如,“问题:”,“上下文:”,“答案:”)来构建每个示例的提示,以帮助模型区分各个组成部分。例如
Question: What causes a '404 Not Found' error?
Context: HTTP 404 errors occur when a client requests a resource the server cannot locate.
Answer: A '404 Not Found' error happens when the server cannot find the requested resource.
包含 2-3 个此类示例可以涵盖各种场景,增强了如何将上下文映射到答案的能力。开发者应确保示例简洁、与目标用例相关且不包含不必要的细节。虽然这种方法提高了可靠性,但仍需要进行测试以完善模型处理边缘情况或模糊上下文的能力。通过优先考虑示例的清晰度,开发者可以训练模型使其输出与提供的证据保持一致。