不是直接“喂向量”,而是喂“原始文本 + 检索出来的文本片段”给大模型;向量只是用来做检索的“索引形式”,不会直接展示给模型看。[golangstar]

可以分两步理解:

1. RAG 里向量干什么用?

在 RAG(检索增强生成)里,向量的作用是:

  • 先用嵌入模型把知识库里的文本切片(段落、句子等)转换成向量(embedding);

  • 把这些向量存到向量数据库里,用于做语义相似度检索;[github]

  • 用户提问时,把问题也编码成向量,在向量库中查找最相似的若干条记录;

  • 找到对应的原始文本片段(不是向量),再把这些片段和用户问题一起送进大模型。

所以:向量是用来检索“哪些文本片段相关”,大模型真正看的仍然是文本。[blog.csdn]

2. 大模型实际接收的输入是什么?

标准 RAG 流程里,大模型看到的内容通常是这样的:

Prompt = 系统提示词 + 用户问题 + 检索到的原始文本片段(上下文)

例如:

  • 系统指令:你是某领域助手,必须严格依据给定资料回答;

  • 用户问题:例如“某产品的退货政策是什么?”;

  • 检索上下文:从知识库里查到的 3~5 段相关文本。

大模型在这三部分基础上生成答案,它不需要知道向量值是多少、更不需要做向量相似度计算,那部分已经由向量数据库/检索层完成了。[blog.csdn]


所以可以一句话回答你的问题:

  • RAG 的存储与检索用的是“向量数据”

  • 但喂给大模型的是“原始的文本内容(或者表格、结构化片段)”,不是向量本身