知识库②——向量化 (Embedding):从文本片段到语义向量
中文/多语 + 本地部署:优先BGE-M3云端稳定 + 免运维:选已有 E5 系统或轻量多语:可用从文本片段 → 向量知识库文本切片 (Chunks)↓ Embedding 模型编码 → 向量表示↓ 存储与索引 (Vector DB: FAISS / Pinecone / Weaviate / Chroma / Milvus / Qdrant)↓ Chunk ↔ Metadata 绑定↓ 可检索的
在 RAG(Retrieval-Augmented Generation)知识库构建流程中,**向量化(Embedding)**是承上启下的核心环节。其作用是将经过切片的文本(chunks)映射到高维向量空间,以便后续进行高效的语义检索。本文将围绕 模型选择 与 向量入库后的关键步骤 两方面展开。
一、选择合适的 Embedding 模型
不同 embedding 模型在语种支持、精度、部署方式和使用习惯上存在差异。根据应用场景,可以考虑以下几类:
1. BGE-M3(推荐:中文/多语、本地化部署)
-
特点:支持 100+ 种语言,最大上下文长度 8192;同时支持稠密向量、稀疏向量(BM25 融合)和多向量(ColBERT 风格)。
-
优势:
-
针对中文/中英混合文本表现优异;
-
不要求输入带
query:/passage:
前缀,使用方便; -
原生支持 Hybrid 检索与重排(bge-reranker)。
-
-
适用场景:需要处理中文长文档、跨语言问答、或想在本地自建可控知识库的场景。
2. OpenAI text-embedding-3 系列(推荐:云端 SaaS、稳健通用)
-
版本:
-
text-embedding-3-large
:精度高,适合追求极致效果; -
text-embedding-3-small
:1536 维,成本低、延迟短,性价比高。
-
-
优势:
-
云端托管,免维护;
-
与 OpenAI 生态无缝兼容,是业界常见的 RAG 默认基线。
-
-
适用场景:希望快速上线、减少运维成本的 SaaS 环境。
3. Multilingual-E5-Large
-
特点:多语能力强,向量维度 1024。
-
注意点:必须在输入前加前缀:
-
查询:
query: 你的问题
-
文档:
passage: 文本片段
否则性能会显著下降。
-
-
适用场景:已有 E5 模型体系,或需要严格遵循 query-passage 范式的场景。
选择总结
-
中文/多语 + 本地部署:优先 BGE-M3
-
云端稳定 + 免运维:选 OpenAI text-embedding-3
-
已有 E5 系统或轻量多语:可用 Multilingual-E5-Large
二、向量化之后的关键步骤
将文本转为向量只是第一步。要让它真正成为可用的知识库,还需经历以下环节:
1. 向量存储与索引(Indexing)
-
存储目标:向量需要进入支持相似搜索的数据库(如 FAISS、Pinecone、Weaviate、Chroma、Milvus、Qdrant)。
-
格式要求:不同数据库要求统一格式,通常是
(id, vector, metadata)
,例如:-
Pinecone:建库时指定维度,
upsert
时传(id, vector, metadata)
; -
Chroma/Weaviate:需传入
documents, metadatas, vectors
三者对应的数组。
-
-
常见索引结构:
-
IVF + PQ(倒排文件 + 产品量化):适合大规模数据,能减少存储与计算成本;
-
HNSW(层次化小世界图):兼顾速度与精度,是 Milvus、Weaviate、Chroma 的默认选择。
-
2. 绑定原文与 Metadata(Chunk ↔ Metadata 关联)
-
为什么要绑定?
向量检索结果本身只是一个“数字”,必须能追溯到原始文本。 -
做法:在入库时,为每个向量关联:
-
原始文本片段(chunk_text);
-
Metadata(文件名、章节、时间戳、作者等)。
-
-
价值:
-
检索后能准确返回片段内容;
-
Metadata 可用于检索过滤(如“只查某年份文档”);
-
支持可追溯性和解释性。
-
三、整体流程总结
从 文本片段 → 向量知识库 的路径如下:
文本切片 (Chunks)
↓ Embedding 模型编码 → 向量表示
↓ 存储与索引 (Vector DB: FAISS / Pinecone / Weaviate / Chroma / Milvus / Qdrant)
↓ Chunk ↔ Metadata 绑定
↓ 可检索的语义知识库
结语
-
Embedding 模型选择 决定了检索精度、语言适配性与部署方式:
-
中文/多语本地 → BGE-M3
-
云端免运维 → OpenAI text-embedding-3
-
严格 query/passage 范式 → E5
-
-
向量化只是开始:要构建真正可用的知识库,必须经过 存储与索引 和 Chunk ↔ Metadata 绑定 两个关键步骤。
最终,这些环节共同保证了知识库在检索时既高效又可解释。
更多推荐
所有评论(0)