检索式回复是在外部知识库中检索出满意的回复,较为可靠和可控,但回复缺乏多样性;而生成式回复则依赖于强大的语言模型中储存的内部知识,不可控,解释性差,但能生成更丰富的回复。
把检索和生成结合起来,Facebook AI research 联合 UCL 和纽约大学于 2020 年提出:外部知识检索加持下的生成模型,Retrieval-Augmented Generation (RAG) 检索增强生成。
检索增强方法来克服大型语言模型(Large Language Models, llm)的局限性,比如幻觉问题(胡言乱语)和知识有限问题(常用于补充最新知识、公司内部知识)。随着 RAG 的出现,大家发现在现阶段的很多企业痛点上,使用 RAG 好像是更好的解决方案。
当前 ChatGPT-4 为代表的 LLM 的⽔平,做个类⽐,我觉得相当于 1970 年代末的 8086/8088 CPU,它让 PC 成为可能,但是因为运算速度很慢、物理内存⾮常有限,很多事情还做不了。
为了在极其有限的算⼒和内存上写出有⽤的程序,⼯程师们必须精打细算,仔细编写每⼀条指令和⽤好每⼀字节的内存。随着时间的推移,算⼒和内存在今天都不是问题,⼯程师们就可以把精⼒放在应⽤和业务逻辑上,⽽不是优化性能。
理论上,我们可以建设⼀个⽆所不包的图书馆,让 LLM 拥有⼀切知识,但是由于算⼒和 token 的限制,我们并不能在处理每个问题的时候,把所有书籍都交给 LLM。更合理的做法是,针对每个问题,先在图书馆内进⾏检索,找到正确的书籍,把它作为限定知识交给 LLM 回答问题。



