RAG架构(检索增强生成)与向量数据库

文章目录

  • [RAG 架构](#RAG 架构)
  • 向量数据库
  • [RAG 工作流程](#RAG 工作流程)

RAG 架构

如今传统LLM大模型有太多的缺点:

  1. 垂直领域知识不够:基于通用数据进行训练,无法应对垂直领域、特定公司业务的问题解答,这类垂直领域问题没办法在网络中得到答案,例如:i人事app的绩效考核任务如何创建发起?
  2. 知识时效性滞后:领域知识不足及数据安全问题的局限性,比如说公司需要打造一款公司产品业务的知识库,你公司的产品方面知识没办法使用通用AI大模型来解答,
  3. 幻觉:有些不懂的问题,他也会胡言乱语,答非所问。

所以才孕育出 RAG(Retrieval-Augmented Generation) 架构,所谓 RAG 指的是将 传统大模型 和 检索系统 (这里指向量数据库 )相结合,提供更精准的数据检索生成,传统 LLM 大模型不知道的问题,可以从数据库中进行检索查询,这样大大提高回答准确度!说白了:RAG是一种架构设计,简单说就是让大模型 LLM 再加了一个数据库,这样就能让大模型通过检索生成更精准的答案。

向量数据库

向量数据库中存储向量数据(好像一句废话),向量数据可以来自于文本、图片、音频...例如我想要把公司知识库的文本数据全部存储到向量数据库中,我就需要将文本通过向量模型(Embedding)进行向量化,数据会被清洗、分块(Chunk)后,存入向量数据库(Vector DB),向量数据的格式为浮点数组成的固定长度数组 ,向量之间的距离代表语义相似度。

所以我们需要事先将数据进行向量化处理,然后将检索数据不断存储到向量数据库里面,所以完全就解决上述提到的实时性、垂直性、准确性问题。随着不断收集数据进行词嵌入处理,LLM大模型的回答会越来越精准,专业。

RAG 工作流程

首先,要提前将检索数据进行分块(chunk),然后通过词嵌入模型进行向量化处理(例如将文本转换成浮点数组),然后将数据提前嵌入到向量数据库当中。当客户发起提问,首先也会讲问题进行向量化处理,然后才会在向量数据库中进行相似度检索,此时可能会检索出很多内容,还需要进行筛选、排名TopN,对数据进行召回发送给LLM大模型进行参考,最后大模型组织语言对客户问题进行回答。一个典型的RAG流程组成包含以下部分:

  1. 文本切片、分块
  2. Embedding 嵌入模型:例如 OpenAI text-embedding-3, BGE,
  3. 向量数据库:例如 FAISS(本地),Milvus(分布式)
  4. LLM大模型:例如 GPT-4 / Claude / Qwen2
  5. Rerank 重排模型:BERT / cross-encoder / bge-reranker
相关推荐
李宥小哥15 分钟前
结构型设计模式2
网络·数据库·设计模式
猫头虎24 分钟前
永久免费白嫖多个域名,一键托管Cloudflare,免费申请SSL加密证书,轻松建站、搭建线路伪装
服务器·开发语言·网络·数据库·python·网络协议·ssl
数据智能老司机28 分钟前
Spring AI 实战——评估生成结果
spring·llm·ai编程
真正的醒悟1 小时前
什么是安全设备组网
服务器·数据库·php
小哈里1 小时前
【软考架构】2025H2系统架构设计师考试复习.jpg(软件架构、软件工程、数据库、Web开发、高项)
数据库·架构·系统架构·软件工程·后端开发
B站_计算机毕业设计之家1 小时前
深度学习:Yolo水果检测识别系统 深度学习算法 pyqt界面 训练集测试集 深度学习 数据库 大数据 (建议收藏)✅
数据库·人工智能·python·深度学习·算法·yolo·pyqt
闲人编程2 小时前
用Python分析你的Spotify/网易云音乐听歌数据
开发语言·python·ai·数据分析·spotify·网易云·codecapsule
大模型教程2 小时前
从 RAG 到 CAG:AI 正在超越“检索”,学会“融会贯通”!
程序员·llm·agent
thorn_r2 小时前
MCP驱动的AI角色扮演游戏
人工智能·游戏·机器学习·ai·自然语言处理·agent·mcp
大模型教程2 小时前
传统RAG的局限被打破!三个轻量级智能体分工协作,如何让问答系统更精准?
程序员·llm·agent