(13-3)RAG基础知识介绍:标准RAG

1.3  标准RAG

标准RAG(Standard RAG)通常指的是一种基本的RAG(检索增强生成)架构,其中包含了基本的组件和流程。标准RAG提供了一种基本的架构,能够将检索技术和生成技术结合,从而提高对用户问题的回答的准确性和相关性。

1.3.1  标准RAG的实现流程

标准RAG的实现流程如图1-8所示,具体说明如下所示。

图1-8  标准RAG的实现流程

(1)文本分块:初始文本被分成小块或段落,以便更好地进行处理和索引。这有助于提高检索的效率,同时也可以提供更细粒度的上下文。

(2)Transformer Encoder模型嵌入:对于每个文本块,使用Transformer Encoder模型(通常是预训练的语言模型,如BERT或其他变种)将文本嵌入到向量中。这些向量捕捉了文本块的语义信息,提供了更高维度的表示。

(3)向量索引:将所有文本块的嵌入向量放入索引中,通常是一个向量数据库或搜索引擎,以便能够快速检索与用户查询相关的信息。

(4)LLM提示创建:根据搜索到的文本块的上下文,创建一个LLM提示,将其用作大型语言模型(LLM)的输入。这个提示包含了检索到的信息,以及适当的上下文,以便更好地回答用户的查询。

(5)模型回答查询:使用带有LLM提示的大型语言模型来回答用户的查询。模型利用检索到的信息和上下文,以生成更准确和相关的答案。

这种结合检索和生成的方法允许系统利用外部信息,从而提高在特定领域或任务中的适应性。这也是RAG架构的关键之一,使其在问答等任务中表现出色。

1.3.2  提示工程

提示工程(Prompt Engineering)是指在使用大型语言模型(LLM)时,通过设计合适的提示来引导模型生成期望的输出,这在RAG(检索增强生成)架构中尤其重要。在RAG中,创建LLM提示的过程被称为“提示工程”,这包括构建一个提示,以指导LLM在检索到的文本上下文中生成答案。提示工程的目标是确保LLM能够正确理解并回答用户的查询,结合检索到的信息。提示通常包含了查询的一部分,以及从检索步骤中找到的相关上下文信息。

具体来说,提示工程会涉及到以下几个方面。

(1)合理的查询构建:提示应该包括用户的查询,并且可能还包括一些引导语言,以确保LLM能够理解查询的背景和上下文。

(2)信息引导:提示可以引导LLM关注在检索步骤中找到的特定文本块,确保生成的答案与这些信息相关。

(3)上下文注入:提示工程可能会涉及将从检索到的文本块中提取的信息正确注入到LLM的提示中,以便模型能够更好地理解并回答查询。

提示工程对于RAG的性能至关重要,因为它直接影响了LLM在给定上下文中生成答案的质量。通过巧妙设计提示,可以引导模型更好地利用检索到的信息,从而提高系统的效果。在运行时,使用相同的编码器模型对用户的查询进行向量化,然后搜索该查询向量的索引,找到前k个结果。然后,从数据库中检索相应的文本块,并将它们作为上下文输入到LLM提示中。

例如下面是一个典型的提示工程例子:

def question_answering(context, query):
    prompt = f"""
                Give the answer to the user query delimited by triple backticks ```{query}```\
                using the information given in context delimited by triple backticks ```{context}```.\
                If there is no relevant information in the provided context, try to answer yourself, 
                but tell user that you did not have any relevant context to base your answer on.
                Be concise and output the answer of size less than 80 tokens.
                """

    response = get_completion(instruction, prompt, model="gpt-3.5-turbo")
    answer = response.choices[0].message["content"]
    return answer

提示工程是提升RAG流程性能的一种简便有效的方法,具体信息可以查阅OpenAI官网中提供的指南信息。尽管OpenAI是LLM提供商的领导者,但是在市面中还有其他许多选择,例如Anthropic的Claude、Mistral的小型但功能强大的模型Mixtral、Microsoft的Phi-2,以及诸如Llama2、OpenLLaMA、Falcon等众多开源模型,都可以供您选择,作为RAG管道的智能引擎。

未完待续

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农三叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值