趋近智
将检索到的文档片段与用户查询结合,是检索增强生成(RAG)过程中向大型语言模型(LLM)有效呈现信息的主要一步。虽然检索可以识别语义相关的文档片段,但仅仅执行检索是不够的。LLM需要被明确指示如何使用这些获得的内容来生成其回答。
其核心在于,结合内容和查询涉及细致的提示词工程。我们需要构建一个提示词,引导LLM在组织其回答时优先使用所提供的内容。目标是让LLM的生成 依赖于 检索到的文档,而不是仅仅依赖其内部预训练知识。
一种常见方法是创建一个提示词模板,其中包含检索到的内容和原始用户查询的占位符。结构通常如下所示:
以下是一个使用Python f-string来说明此结构的示例:
# 假设 'retrieved_chunks' 是一个字符串列表(文档内容)
# 假设 'user_query' 是原始问题字符串
# 将文档片段组合成一个字符串,通常使用分隔符
formatted_context = "\n\n---\n\n".join(retrieved_chunks)
# 创建最终提示词
prompt = f"""
你是一个助手,旨在 *仅* 根据所提供的文档回答问题。
不要使用下面所给内容之外的任何信息。
如果在文档中找不到答案,请明确说明。
内容文档:
{formatted_context}
用户查询:
{user_query}
回答:
"""
# 这个 'prompt' 字符串随后会发送给LLM API。
你如何格式化 formatted_context 部分很重要。简单地拼接文本可能会让LLM感到困惑。常见策略包括:
---、***,或特定标记([DOCUMENT 1 START]...[DOCUMENT 1 END])。文档 1: ...,文档 2: ...)。选择取决于具体的LLM和实验。目标是使其明确,一段检索到的信息在哪里结束,另一段在哪里开始,并清晰区分内容部分与指示和用户查询。
提示词的初始指示部分影响力很大。它为LLM应如何表现奠定了基础。考虑这些变体:
这些指示的清晰度和具体性直接影响生成回答的质量和忠实度。你本质上是通过提示词来编程LLM针对此特定任务的行为。
获取查询、检索内容、并在发送给LLM之前格式化提示词的过程可以按如下方式可视化:
流程图说明了用户查询和检索到的内容如何通过提示词格式器组合,以创建发送给LLM的增强型提示词。
通过细致地构建提示词,以包含清晰的指示和格式良好的内容以及原始查询,你有效地为LLM提供了它需要的特定信息,以生成相关、贴合内容的回答,克服其静态内部知识的局限性。这一增强步骤是RAG技术有效性的核心所在。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造