零基础学AI大模型之Embedding与LLM大模型对比全解析
文章目录
1. 引言:两个最容易混淆的概念
很多刚开始接触 AI 大模型的朋友,都会被两个词绕晕:Embedding(嵌入) 和 LLM 大模型(Large Language Model,大语言模型)。
- 有人说"用大模型做语义搜索",结果发现用的是 Embedding;
- 有人说"用 Embedding 写文章",结果发现它根本不会写;
- 还有人问:“ChatGPT 里面是不是也有 Embedding?”
这篇文章就用最通俗的语言,从零开始把这两个概念讲清楚。读完你会明白:它们各自解决什么问题、核心区别是什么、什么时候该用哪个,以及它俩是如何"合作"的。
先给一个最直观的类比:
- Embedding 像一台"翻译坐标的机器":它把一段文字压缩成一串数字(向量),用来"度量两段话像不像"。
- LLM 大模型像一个"会说话的大脑":它读得懂你的话,也能生成新的内容,用来"聊天、写作、回答问题"。
两者看似都在处理文字,但干的完全是两种活。
2. 认识 Embedding:把文字变成坐标的机器
2.1 什么是 Embedding
Embedding(嵌入/词向量),本质是一种把文字转换成数字向量的技术。
这里的"向量",你可以理解成一串有顺序的数字,比如:
[0.23, -0.15, 0.71, 0.08, ...]
这串数字的长度(维度)可能是 768 维、1024 维甚至更多。
为什么要把文字变成数字?因为计算机只认识数字。我们要想让计算机"理解"文字之间的相似性,就必须把文字映射到一个"数字空间"里。
2.2 一个生活化类比
想象你在一张大地图上给城市定位:
- 北京在东经 116°、北纬 40°;
- 上海在东经 121°、北纬 31°。
两个坐标越接近,说明两个城市地理位置越近。
Embedding 干的就是类似的事:它给每段文字算出一个"语义坐标"。"苹果"和"香蕉"的坐标会比较接近,"苹果"和"汽车"的坐标则相距很远。
2.3 Embedding 的核心能力
Embedding 模型的核心能力只有一件事:把文本映射成向量,让语义相近的文本在向量空间里距离更近。
基于这个能力,我们可以做很多事情:
- 语义搜索:用户问"怎么退火车票",能找到文档里"车票退款流程"这一段,哪怕字面完全不一样;
- 文本去重:两段话讲的是同一个意思,向量距离很近,就能识别出来;
- 推荐系统:找到和用户当前浏览内容"语义相似"的其他内容;
- 聚类分析:把一堆新闻自动分成"体育"“财经”"科技"等类别。
2.4 常见 Embedding 模型
目前常用的 Embedding 模型包括:
- OpenAI 的
text-embedding-3-small/text-embedding-3-large - 智谱的
embedding-2/embedding-3 - 百度的
bge-large-zh(BGE 系列) - 阿里的
text-embedding-v3 - 开源的
m3e、bge-m3等
这些模型的共同特点:输入文字,输出向量,仅此而已。
3. 认识 LLM 大模型:会说话的大脑
3.1 什么是 LLM
LLM(Large Language Model,大语言模型),是一种参数量巨大、经过海量文本训练的生成式模型。
它最典型的能力是:你给它一段文字(提示词 Prompt),它生成一段新的文字。
我们熟悉的 ChatGPT、文心一言、通义千问、Kimi、DeepSeek 等产品,底层都是 LLM 大模型。
3.2 LLM 的核心能力
与 Embedding 相比,LLM 的能力要丰富得多:
- 文本生成:写文章、写代码、写邮件、写诗;
- 对话问答:理解上下文,进行多轮对话;
- 总结归纳:把一篇长文压缩成几个要点;
- 翻译改写:在不同语言、不同风格之间转换;
- 推理分析:根据已知信息做逻辑推理。
3.3 LLM 的一个关键限制
但 LLM 也有个明显的短板:它不知道自己没学过的东西。
比如你问它:“我们公司今年第三季度的销售额是多少?” 如果这段数据没有出现在它的训练语料里,它会:
- 要么老实说"不知道";
- 要么一本正经地胡说八道(这就是"幻觉"问题)。
正是这个短板,催生了 Embedding 与 LLM 的经典合作模式——RAG(检索增强生成),这个我们后面会讲。
4. 核心对比:全方位解析两者的区别
为了让零基础读者一目了然,下面从多个维度把 Embedding 和 LLM 对比清楚。
| 对比维度 | Embedding 模型 | LLM 大模型 |
|---|---|---|
| 核心任务 | 把文字变成向量(数字) | 根据提示词生成文字 |
| 输入 | 一段文本 | 一段提示词(Prompt) |
| 输出 | 一串数字(向量) | 一段新文本 |
| 会"写文章"吗 | 不会 | 会 |
| 能算"相似度"吗 | 能,这是它的本职 | 不擅长,且成本高 |
| 模型规模 | 相对较小(百 MB ~ 几 GB) | 非常庞大(几十 GB ~ 数百 GB) |
| 单次调用成本 | 很低 | 较高 |
| 响应速度 | 快 | 相对慢 |
| 典型应用 | 搜索、推荐、去重、聚类 | 对话、写作、总结、推理 |
| 是否有"幻觉"问题 | 没有(它不生成文字) | 有 |
4.1 一句话理解差异
- Embedding 回答的问题是:“这段文字和哪段文字最像?”
- LLM 回答的问题是:“根据你的要求,我该怎么回答?”
4.2 一个容易误解的点
很多初学者以为"大模型"就是"LLM",其实Embedding 模型也算一种模型,但通常规模小得多,也"不会说话"。而当我们说"大模型"时,日常语境下更多指 LLM。
5. 黄金搭档:Embedding + LLM 的 RAG 模式
理解了区别之后,最重要的知识点来了:它俩常常配合使用,取长补短。
5.1 LLM 的痛点
前面说过,LLM 不知道私有数据,容易产生幻觉。比如企业内部的知识库、产品手册、最新新闻,LLM 都没有学过。
5.2 RAG 的工作流程
RAG(Retrieval-Augmented Generation,检索增强生成) 是目前最主流的解决方案,流程如下:
- 离线建库:把企业文档切成小段,用 Embedding 模型把每一段都转成向量,存到向量数据库里;
- 用户提问:用户问"我们公司的年假政策是什么?"
- 检索:把用户问题也用同一个 Embedding 模型转成向量,去向量数据库里找最相似的几段文档;
- 增强:把检索到的文档片段"塞进"提示词里,告诉 LLM:“请根据以下资料回答问题:……”
- 生成:LLM 基于真实资料生成答案,大大降低幻觉。
整个流程用一张图表示:
5.3 通俗理解
可以把 RAG 想象成一次**“开卷考试”**:
- LLM 是个聪明的考生,但脑子里的知识有限;
- Embedding + 向量数据库就是"考前递给考生的参考资料";
- 考生翻完资料再作答,自然答得更准。
6. 代码实战:用 Python 直观感受两者的区别
下面用 OpenAI 兼容接口各调用一次,直观感受它们的输出差异。
6.1 环境准备
pip install openai
6.2 调用 Embedding:输出是一串数字
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://api.openai.com/v1" # 可换成任意兼容服务地址
)
# 调用 Embedding 模型
resp = client.embeddings.create(
model="text-embedding-3-small",
input=["苹果很好吃", "香蕉也很好吃", "今天下雨了"]
)
for item in resp.data:
vec = item.embedding
print(f"文本索引: {item.index}, 向量维度: {len(vec)}")
print(f"向量前 5 个数字: {vec[:5]}")
print("-" * 40)
输出类似:
文本索引: 0, 向量维度: 1536
向量前 5 个数字: [0.0109, -0.0231, 0.0478, -0.0052, 0.0198]
----------------------------------------
文本索引: 1, 向量维度: 1536
向量前 5 个数字: [0.0201, -0.0187, 0.0512, -0.0011, 0.0253]
----------------------------------------
文本索引: 2, 向量维度: 1536
向量前 5 个数字: [-0.0312, 0.0421, -0.0088, 0.0334, -0.0278]
----------------------------------------
可以看到:它只输出数字,不会输出任何文字。
6.3 调用 LLM:输出是一段文字
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://api.openai.com/v1"
)
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "你是一个友好的助手。"},
{"role": "user", "content": "用一句话解释什么是 Embedding。"}
]
)
print(resp.choices[0].message.content)
输出类似:
Embedding 就是把文字转换成一组数字(向量),让计算机能够衡量文字之间语义上的相似程度。
可以看到:LLM 输出的是自然流畅的文字。
6.4 计算相似度:验证 Embedding 的能力
import numpy as np
from openai import OpenAI
client = OpenAI(api_key="sk-你的密钥", base_url="https://api.openai.com/v1")
texts = ["苹果很好吃", "香蕉也很好吃", "今天下雨了"]
resp = client.embeddings.create(
model="text-embedding-3-small",
input=texts
)
vectors = [np.array(item.embedding) for item in resp.data]
def cosine_similarity(a, b):
return float(np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)))
print("苹果 vs 香蕉:", round(cosine_similarity(vectors[0], vectors[1]), 4))
print("苹果 vs 下雨:", round(cosine_similarity(vectors[0], vectors[2]), 4))
你会发现,“苹果"和"香蕉"的相似度明显高于"苹果"和"下雨”,这正是 Embedding 的价值所在。
7. 选型建议:什么时候用哪个
最后,给零基础读者一份简单实用的"决策指南"。
7.1 用 Embedding 的场景
- 需要找相似内容:语义搜索、相似推荐;
- 需要判断文本像不像:去重、聚类、分类;
- 需要给 LLM 喂私有知识:RAG 的检索环节;
- 对成本敏感、数据量很大:Embedding 便宜且快。
7.2 用 LLM 的场景
- 需要生成内容:写作、翻译、总结、代码;
- 需要多轮对话:智能客服、陪聊助手;
- 需要理解复杂指令并执行:结构化信息提取、推理分析;
- 需要根据资料回答问题:RAG 的生成环节。
7.3 一句话总结选择逻辑
想"找相似的",用 Embedding;想"生成新的",用 LLM;想"基于私有数据回答问题",让两者合作构建 RAG。
8. 总结
我们来回顾一下这篇文章的核心要点:
- Embedding 的本质:把文字转成向量,用于度量语义相似度;
- LLM 的本质:根据提示词生成文字,是 AI 对话与写作的核心;
- 核心区别:Embedding 输出"数字",回答"像不像";LLM 输出"文字",回答"怎么说";
- 黄金组合:RAG 模式让 Embedding 负责"找资料",LLM 负责"写答案",解决 LLM 的幻觉与私有数据问题;
- 选型原则:找相似用 Embedding,生成用 LLM,私有数据问答用两者结合。
对于零基础入门者来说,不需要一上来就深究模型内部的数学原理,先理解"它俩各干什么、怎么配合",再用代码跑通一次 RAG 的最小闭环,就能建立起非常扎实的认知框架。
下一步,你可以试着动手做一个基于私有文档的问答机器人:切分文档 → Embedding 入库 → 向量检索 → LLM 生成,完整跑通后,你对这两个概念的理解会远超只看文章的人。
更多推荐

所有评论(0)