LangChain教程:embedding词嵌入(文字转化为向量、向量维度)

提出问题

大模型 不理解人类的文字,无法直接处理 文本 这种原始格式的数据,因为大模型只能做 数学运算,文本无法做数学运算

解决

需要将 文字 转换 为向量

介绍

将 文字 转换 为向量 ,这一过程,称为:文本的向量化,又称为:Embedding(嵌入)

最终得到的向量叫 文本向量/词向量/句向量/文档向量,大模型里统一叫 Embedding向量。

可以通过特定的 神经网络层 或 利用另一个 预训练的神经网络模型,将这些 原始数据 转换为深度学习架构容易理解和处理的 密集向量 表示,如下图:

向量本质

把文字,转换成计算机能理解的「数字数组」

数组里的每个数字都是浮点数

比如:把 人工智能 转换成 [0.123, -0.456, 0.789, ...]。

向量维度本质

维度 就是 数组的长度

核心逻辑

语义越相似的文字,转化后的向量在高维空间中的「距离越近」,这是大模型能理解语义、做问答/翻译/摘要/检索的底层根基。

在使用词嵌入技术(如word2vec)时,表示相似概念的词通常会在嵌入空间中彼此接近。

例如:如果词嵌入是二维的,那么就可以将它们绘制在二维散点图中进行可视化。不同类型的 鸟类的距离 通常比国家和城市之间的距离更近

提示:高维嵌入 难以进行可视化。这是因为我们的感官以及常见的图形表示方法本质上局限于三维或更低的维度

向量维度

维度就是向量数组的长度:

  • 768 维向量 = 768 个数字组成的数组(如 [0.12, -0.34, 0.56, …, 共 768 个]);
  • 1024 维向量 = 1024 个数字组成的数组。

向量维度可类比为“描述文本的 特征维度”——维度越多,能捕捉的文本细节越丰富,是衡量文本表示精细度的关键

如:向量数组长度是3,只有 语义、情感、逻辑关系

维度越高,语义刻画越精准(检索更准)

  • 低维度(如 256 维):只能捕捉文字的 “核心大意”,比如 “苹果手机” 和 “苹果水果” 可能被判定为相似(因为只捕捉了 “苹果” 这个核心词,没区分 “手机” 和 “水果”);

  • 高维度(如 768/1024 维):能捕捉更细的语义差异,比如 “苹果手机” 会被刻画成 “品牌 + 电子产品”,“苹果水果” 会被刻画成 “水果 + 可食用”,RAG 检索时能精准区分,避免答非所问。

常见取值与影响

  • 低维度(如128、256维):计算快、存储成本低,但可能丢失精细语义,适用于简单场景(如文本快速检索)。
  • 中高维度(如512、768、1024、2048维):主流取值(如BERT-base的输出向量为768维),能平衡语义捕捉能力与计算成本,适用于多数NLP任务(如相似度匹配、分类)。

  • 高维度(如2048维及以上):语义表示更精准,但计算和存储开销剧增,多用于高精度需求场景(如专业文档分析)。


原文出处:/show_1GW2pGD0EB8l.html