Rag知识库原理和向量数据库

40 阅读1分钟

大模型的知识储备在训练结束的那一刻就固定了,随着时间的推移或者需要回答一下专业性的问题就需要使用到知识库,当我们使用知识库后大模型的回答流程也会变化

用户消息 -> 大模型检索知识库 -> 用户消息 + 知识库片段 -> 大模型根据用户消息、知识库片段、自身知识储备润色返回结果

向量数据库:我们的知识库是分割向量化后按向量存储在向量数据库中的 当用户发送问题后进行向量化,根据向量计算出余弦相似度,如果余弦相似度高于我们预设的值就会返回该数据

存储过程 将知识库数据进行分割 -> 对分割的文本片段进行向量化 -> 将向量以及对应的文本片段存储到数据库中 image.png

image.png

检索过程 将用户消息向量化 -> 将用户消息的向量跟向量数据库存储的向量 进行比对 计算余弦相似度 -> 把余弦相似度高于我们预设值的数据进行返回 -> 用户消息 + 检索的知识库片段结合给到大模型 -> 大模型给出回答 image.png