在 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 绑定 两个关键步骤。

最终,这些环节共同保证了知识库在检索时既高效可解释

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐