Skip to content

人人都能学会的基于大模型的简易智能问答系统

对于包括我个人在内的多数开发者来说,35岁是一道坎。坎坎难过,坎坎过。唯一不变的道理就是不断提升自身的战力值。

本文将手把手给大家讲解如何设计一个简单的基于大模型的智能问答系统。

架构图

兵马未动,粮草先行。通过架构图让大家全面了解简易智能问答系统的整体设计方案。为了大家更容易地理解,以下分步骤说明:

  • 构建知识库/向量数据库

将已有文本数据使用大模型的向量化能力实现文本向量化(可以理解为一个多维数组),然后将原文本和向量化数据存入向量数据库(如Milvus),此时就利用已有数据构建好了知识库。

  • 提问向量化并查找相似文本

当用户发起提问后,先使用上文提到的同一个大模型的向量化能力对提问的文本进行向量化,然后利用向量化数据库的向量搜索能力找出N个相似文本。

  • 提问与相似文本组成Prompt

将提问与相似文本组成新的Prompt,然后喂给大模型,等待大模型回答后返回给用户。

是不是觉得好像也没有什么很难的东西,不过事实也确实如此。

RAG

RAG,检索增强生成(Retrieval-augmented Generation),结合了语言模型与信息检索技术,是当下大模型前沿技术之一。

上述方案也是基于RAG的思想设计,相比于直接使用大模型来实现问答有如下优势:

俗话说,术业有专攻。大模型更像一个上知天文、下至地理,琴棋书画样样精通的大师,而基于RAG构建的私有知识库则更像李时珍、徐霞客、李白等在某一领域无人能及般的存在。

基础大模型 + RAG 是当下解决行业问题的一个不错的方案。

需要理解的一点是,在构建私有知识库的时候会遇到各种各样的工程问题。相信凭借各位的聪明智慧,在不久后都会有好的解决方案。

进阶

了解了RAG的基本思想,搭建一个简易的智能问答系统就信手拈来了。接下来将为大家讲解如何利用开源向量数据库Milvus构建自己的智能问答系统。如果你想要提前学习Milvus,可以关注:遇码,回复milvus获取官方文档。

遇码MeetCoding 开源技术社区