问题: 有人说,对于搭建企业本地知识库,比如使用 RAG(Retrieval-Augmented Generation)方式,国内几家大模型都可以胜任。如果用 GPT-4 的话,有点像“杀鸡用牛刀”,关键在于应用端的调教。这个观点是否正确?
结论: 这种说法有一定道理,GPT-3.5 确实可以胜任大部分场景。然而,用 GPT-4 并不是“杀鸡用牛刀”,而更像是“如虎添翼”,甚至可以在某些情况下带来质的飞跃。
细节分析:RAG 和 GPT-4 的优势
RAG 的原理并不复杂。通常,我们先对文档进行预处理,以方便检索。文档被分块后,会使用 Embedding 将文本向量化处理。当用户提问时,同样对问题进行 Embedding,找到相关文档,再交给大语言模型来整理并返回给用户。对于大部分这种基于检索的内容生成任务,GPT-3.5 就可以很好地完成。
然而,RAG 的实现中有许多细节,例如如何分块、如何检索、如何将结果交给大语言模型生成。这些方面都有所不同,接下来,我们聚焦于与大语言模型相关的部分:
1. 借助大语言模型进行检索预处理
如果直接将用户的问题做 Embedding 并送入向量数据库,检索效果通常不理想。原因在于,用户提问的方式多种多样,语义可能不清晰,有时甚至包含多个子问题。因此,需要大语言模型对用户的问题进行预处理,提炼出核心问题并分解为多个子问题。GPT-4 在这方面的表现明显优于 GPT-3.5,结果更精准。
2. 借助大语言模型进行排序(Ranking)
在检索出大量相关结果后,有些结果与用户问题高度相关,而有些则相对不太相关。这时需要对检索结果排序,只返回最相关、最重要的信息给大语言模型进行总结。这也是大语言模型展现其能力的场景,尽管 GPT-3.5 可以完成这一任务,但 GPT-4 的效果更佳。
3. 汇总检索结果
当把检索结果交给大语言模型时,模型需要根据用户的问题和相关资料进行汇总,以给出符合用户期望的答案。这时,大语言模型的能力再次发挥作用。模型越强,生成的回答越准确,幻觉现象(错误回答)也越少。此外,大语言模型本身的知识库也会影响结果。GPT-4 相比 GPT-3.5 拥有更大的知识库,能够更全面地涵盖问题的各个方面。
总结
总的来说,GPT-3.5 足以在 RAG 场景中胜任大多数任务,但 GPT-4 的表现会更优。它在检索预处理、排序、汇总等方面都更为出色,并非“杀鸡用牛刀”,而是可以显著提高应用的质量。