如何保障RAG应用的安全?
Promptfoo熊猫伸手去拿伟大的知识之球,也就是向量数据库。
在我们之前的博客文章中,我们讨论了基础模型的安全风险。在这篇文章中,我们将探讨关于微调模型和部署RAG架构的担忧。
创建像Llama 3.2、Claude Opus或gpt-4o这样复杂的LLM是多年工作和数百万美元计算能力的结晶。大多数企业会战略性地选择基础模型,而不是从头开始创建自己的LLM。这些模型就像可以被系统架构和提示工程塑造成业务需求的粘土。一旦选择了基础模型,下一步就是确定如何应用该模型以及在哪里可以使用专有数据来增强它。
为什么知识截止点很重要
正如我们在之前的博客文章中提到的,基础模型是在大量数据上训练的,这些数据决定了模型的表现。这些训练数据也会影响LLM的事实回忆能力,即LLM访问和再现存储在其参数中的事实知识的过程。
虽然LLM可能基于其训练数据包含广泛的知识,但总有一个知识截止点。基础模型提供者可能会在模型卡片中披露这一点以保持透明。例如,Llama 3.2的模型卡片指出其知识截止点是2023年8月。问基础模型一个关于2023年9月事件的问题,它根本不会知道(尽管它可能会产生幻觉以提供帮助)。
我们可以通过向ChatGPT询问历史问题与今天的时事问题来了解这一点。
在这 个回答中,gpt-4o基于其神经网络权重中编码的信息再现了事实知识。然而,输出的准确性可能会因提示和模型中的任何训练偏差而广泛变化,从而损害LLM事实回忆的可靠性。由于无法“引用”LLM生成回答所使用的来源,你不能仅仅依赖基础模型的输出作为唯一的事实来源。
换句话说,当基础模型产生事实知识时,你需要带着怀疑的态度去接受。信任,但要验证。
当您询问模型关于最近事件的问题时,可以看到基础模型的知识截止点的一个例子。在下面的例子中,我们问ChatGPT关于最新的通货膨胀新闻。你可以看到模型完成了一个功能,它搜索网络并总结结果。
这个输出依赖于一种检索增强生成(RAG)类型,它搜索最新的知识库并将相关信息整合到提供给LLM的提示中。换句话说,LLM通过嵌入第三方来源的上下文来增强其响应。我们将在本文后面更深入地探讨这种结构。
虽然基础模型有其优势,但它们在特定领域任务和实时分析中的实用性也有限。希望利用LLM与专有数据或外部来源的企业将需要确定他们是否要微调模型和/或部署RAG架构。以下是每种选项的高级概述。
对输出高度依赖提示工程 | 在特定领域任务中性能提升 | 实时检索可引用的来源 | 减少事实回忆中的幻觉风险 | |
---|---|---|---|---|
基础模型 | ✅ | |||
微调模型 | ✅ | ✅ | ||
检索增强生成 | ✅ | ✅ | ✅ | ✅ |