rag搭建,是如何进行向量匹配检索的?
RAG 里为什么要“向量检索”?
在 Retrieval-Augmented Generation (RAG) 中,我们的目标是让 LLM 能够“回答它本身不知道的内容”。做法是:
- 将知识(文本)进行向量化,存入向量数据库;
- 用户提问后,也将问题向量化;
- 去数据库里 找出与这个问题最相似的一批知识,返回喂给 LLM。
向量匹配检索:原理解析
第一步:构建向量数据库(也叫“知识库”)
比如你有一大段文档,做法是:
- 切分成 chunk(段落),如每 300 字为一个段;
- 每个 chunk 用 Embedding 模型(如 OpenAI 的
text-embedding-ada-002
或 BGE) 转成一个向量:"向量" = 文本的语义表示,一个高维空间中的点。
- 把每个向量连带元信息&#x