ChatGPT系列文章(一)-如何解决回答不准确问题


写在前面

众所周知,GPT经常会一本正经的胡说八道。具体表现如下:

  • 编造事实
  • 计算不准确
  • 数据过时

对于这些问题,GPT是如何解决的呢?

RAG 检索增强生成

Retrieval Augmented Generation。大预言模型训练是有时间截断的,它无法知道训练知识截断以后发生的事情。

RAG支持用户上传自己的知识库,让LLM的回答基于这个知识库来回答问题。比如用户上传一个pdf、一段视频,然后询问一些关注这个pdf、视频的内容的问题。这就是RAG的作用。

RAG有利于搭建企业知识库和个人知识库。

PAL 程序辅助语言模型

Program-Aided Language Models。LLM是无法自行计算的,这也就是它在数理计算方面存在的弱点,因为它的内容都是通过生成的,而不是计算。比如你问它1+1等于几?虽然它可能给出正确答案2,但是不是计算出来的,而是基于历史知识生成的。

PAL背后是一个可以运行程序Python代码的模型,利用这个模型,LLM将用户问题拆解成python代码,然后用PAL运行代码,得到最终结果并返回给用户,这样结果就是计算出来的了。

ReAct 推理行动结合

Reason Action。推理+行动,解决了知识截断问题。当你问一个最近的知识,比如“你对于王自如说没有看过格力给他的工资条怎么看”,LLM可能会去bing搜索”王自如没见看过工资条”,然后将搜索到的结果整理给用户。当然实际上并非这么简单。

Reason表示推理,它会将用户的问题拆解成一个一个的小问题。Action表示行动,它针对每个小问题去做一些动作,比如上网搜索、连接数据库、操作某个app等等。

最终的执行过程可能是:

小问题1:
动作1:

小问题2
动作2:

结果:

参考

1]AI数据过时、编造事实、计算不准,怎么办?详解RAG、ReAct、PAL


文章作者: Alex
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex !
  目录