基于RAG的大模型知识库搭建
RAG实际落地如何优化跟拔高。
·
什么是RAG
RAG(Retrieval Augmented Generation),即检索增强生成技术。
RAG优势
- 部分解决了幻觉问题。由于我们可以控制检索内容的可靠性,也算是部分解决了幻觉问题。
- 可以更实时。同理,可以控制输入给大模型上下文内容的时效性,解决大模型更新不及时问题。
- 可以成为某个领域的专家。
- 可追溯。
RAG大概示意

大致示意图如上。网上资料一搜一大堆,这里就不过多赘述。
想要自己搞一套也很简单,可以用一些开源的组装好的项目,也可以用langchain、llama-index自己搞一套。关于langchain、llama-index该选哪个,简单搞搞langchain,深入搞llama-index。
RAG 进一步优化
实现一个RAG很容易,但是想要做好有一定难度,这里提一些优化方案,也是本文的核心。
优化输入内容的组织形式
输入的内容不要只是简单平铺的文本,建议markdown、html形式,带上段落信息,分割也是以段落以句子为分割点,不要只是固定长度。
内置一些问答对
针对常见问题,预先内置一些问答对。
支持图文表格形式
对图片、表格,也通过一样上传向量库的方式进行支持。图片可以上传到cos,向量数据库存图片描述的embedding跟cos地址。
去掉低相关度回复
embedding检索时不要简单用top-k进行检索,需要关注实际相关度,相关度比较低时进行异常提示。
支持多轮
RAG多轮比较麻烦,除了对话多轮外,还需要支持的是检索多轮,即怎么根据上下文决定本次检索的信息。
其他
其他就是做好评测,做好正负反馈数据收集,持续迭代的事情了。另外,llama-index的数据结构也需要多看看,会有很多有意思的优化点。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)