向量库中向量和原始文本是如何绑定的?FAISS 检索返回的为什么是段落

在使用 FAISS、Milvus 等向量数据库进行语义搜索时,你是否也有这样的疑问:

❓“我明明是用嵌入模型把问题转成向量进行检索,那为什么 FAISS 最终返回的结果是段落文本,而不是向量呢?”

这是一个非常核心且容易被忽略的问题,理解这个问题的本质,有助于你更好地构建 RAG 系统、语义搜索引擎、知识库问答等功能。


一、核心观点:向量和原始文本是绑定的,一一映射

你检索出来的不是“向量”,而是:

与向量绑定的原始文本段落


二、构建向量库时,系统如何“绑定”文本与向量?

我们以 LangChain + FAISS 为例,来看如何构建向量库并自动完成这种绑定。

✅ 示例代码:

from langchain.vectorstores import FAISS
from langchain.embeddings import HuggingFaceEmbeddings

# 原始段落列表
documents = [
    "PVC is a widely used plastic...",
    "PE is lightweight and flexible...",
    "Aluminum has high recyclability...",
]

嵌入模型将文本转为向量

embeddings = HuggingFaceEmbeddings(model_name=“bge-base-en”)

构建 FAISS 向量库

faiss_db = FAISS.from_texts(texts=documents, embedding=embeddings)

这一步发生了什么?
模型会:

对每个文本生成一个向量(如 768维)

存入 FAISS 向量索引

同时 保存向量与原始段落的映射关系

📌 例如:

向量编号 向量表示 绑定的文本段
#0 [0.12, -0.45, …] “PVC is a widely used plastic…”
#1 [0.05, 0.23, …] “PE is lightweight…”

三、查询时:是怎么从向量查回文本的?

假设你有一个查询:
query = "What is PVC?"
docs = faiss_db.similarity_search(query, k=3)

for doc in docs:
    print(doc.page_content)

系统内部流程:

query → 嵌入模型 → 向量Q

与 FAISS 中所有向量比较 → 找最相似的向量Vi

通过映射找到 Vi 对应的原始文本段落

返回结果

四、为什么不是返回“相似向量”而是返回“段落”?

因为你真正需要的是:“内容”,不是“数学向量”。

向量只是检索的“手段”

文本才是最终大模型生成答案的“材料”

这就像你去图书馆查关键词索引,最终找到的是原始书页,而不是“关键词的编码值”。

五、如何显式绑定更多信息?用 metadata!

你可以为每个段落绑定更多信息,如 ID、来源、文档名、标签等:

FAISS.from_texts(
    texts=["PVC is a plastic...", "PE is flexible..."],
    embedding=embeddings,
    metadatas=[{"id": 1, "type": "material"}, {"id": 2, "type": "polymer"}]
)

之后检索时你就可以拿到:

results = faiss_db.similarity_search_with_score("PVC", k=3)
for doc, score in results:
    print(doc.metadata["id"], doc.page_content)

六、图示理解

【构建阶段】
“PVC is a plastic…” ─→ 向量1 ─┐
“PE is soft…” ─→ 向量2 ─┤→ FAISS 向量库 + 文本绑定关系
“Aluminum…” ─→ 向量3 ─┘

【查询阶段】
“PVC 是什么?”

转成向量Q

和库中所有向量做余弦相似度

找 Top-K 最相似向量

返回这些向量绑定的文本段落

七、总结一句话:

✅ FAISS 检索到的不是“向量”,而是“与向量绑定的原始段落文本”。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐