news 2026/8/19 11:27:00

小白程序员必看:掌握 RAG 中 Embedding 的核心,让你的大模型应用效果翻倍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小白程序员必看:掌握 RAG 中 Embedding 的核心,让你的大模型应用效果翻倍

本文深入浅出地解析了 RAG 技术中 Embedding 的关键作用,强调 Embedding 是影响 RAG 效果的关键环节。文章详细阐述了 Embedding 的本质、工作原理、模型选择标准,以及如何通过业务数据评估其效果。同时,还提供了实用的代码示例,帮助读者更好地理解和应用 Embedding 技术。对于想要提升大模型应用效果的程序员来说,本文是不可多得的参考资料。

面试里问 RAG,很多人会把重点放在“向量数据库”和“Prompt 组装”上,却把 Embedding 轻轻带过:文本转向量嘛,调个 API 就行。

这其实是一个很危险的误区。RAG 能不能把正确资料找出来,第一步就卡在 Embedding。如果问题和文档被映射到错误的语义空间,后面的 Rerank、Prompt、LLM 都是在补漏洞。

这章用通俗方式讲清楚 5 件事:Embedding 到底是什么,为什么相似文本会靠近,RAG 里它怎么工作,模型应该怎么选,以及怎样用业务数据评估效果。

一、先给一个面试级简答

Embedding 是把文本映射成固定长度数字向量的过程。它的核心价值不是“变成数字”,而是让语义相近的文本在向量空间里距离更近。

在 RAG 里,系统会先把知识库 Chunk 转成向量存入向量数据库;用户提问时,再把 Query 转成向量,用相似度检索找到最相关的 Chunk,最后把这些 Chunk 作为上下文交给大模型回答。

选模型不能只看 MTEB 排行榜,也不能盲目相信某一个 API。实际工程里要看语言场景、数据合规、向量维度、最大输入长度、部署成本和业务评测结果。真正有参考价值的是在自己的业务数据上跑 Hit@K、MRR、nDCG 等指标。

二、Embedding 的本质:不是数字游戏,而是语义坐标

Embedding 模型做的事情,可以理解成“给文本找一个语义坐标”。一段话、一个标题、一个问句,都会被映射成一串浮点数。比如 768 维、1024 维、1536 维,本质上都是在高维空间里给文本定位。

这串数字单独看没有意义,真正有意义的是向量之间的距离。两个文本表达的意思越像,它们的向量方向越接近;意思越远,它们在空间里就越分散。

这也是为什么 RAG 能处理“同义不同字”的问题。用户说“iPhone 如何截屏”,知识库里写的是“苹果手机怎么截图”,关键词可能对不上,但语义向量可以把它们拉到同一个区域。

三、为什么常用余弦相似度?

衡量两个向量像不像,常见方法有余弦相似度、点积和欧氏距离。RAG 里最常见的是余弦相似度,因为它主要看两个向量的方向,而不是向量长度。

可以把每个向量想成一支箭头。如果两支箭头指向差不多的方向,说明两段文本在语义上接近;至于箭头长一点还是短一点,不是最重要。

工程里要特别注意:Embedding 模型、向量库和评测脚本必须使用一致的距离函数。如果离线评测用 cosine,线上向量库用 L2 或点积,排序结果可能会不一致。

四、RAG 里的 Embedding 有两条链路

第一条是离线建库链路:原始文档经过清洗、切块、加元数据后,每个 Chunk 都会送入 Embedding 模型,得到向量,然后和原文、来源、标题、更新时间等信息一起存入向量库。

第二条是在线问答链路:用户提问后,系统会把 Query 转成向量,去向量库里找最相似的 Chunk,再把这些 Chunk 拼进 Prompt,让大模型基于证据回答。

所以 Embedding 的质量,直接决定“正确资料能不能被召回”。一旦召回错了,大模型即使再强,也只能在错误资料上发挥。

五、Embedding 检索和关键词检索有什么不同?

关键词检索擅长精确匹配,比如合同编号、产品型号、错误码、专有名词。Embedding 检索擅长语义泛化,比如同义词、口语化表达、跨语言表达、不同说法的同一个问题。

但语义检索不是万能的。它可能把“意思像但事实不对”的内容也召回来;而关键词检索虽然死板,却能在精确约束上表现稳定。

成熟的 RAG 系统一般会采用混合检索:关键词召回保证精确性,向量召回保证语义泛化,再用 Reranker 做最终排序。

六、常见 Embedding 模型怎么选?

Embedding 模型大致可以分为 API 型、本地开源型、多模式型和专域增强型。API 型接入快、维护少,适合快速验证;本地开源型适合数据敏感、私有化部署的企业场景。

如果知识库主要是中文,不能只看英文排行榜。中文客服、金融、政务、医疗等场景,需要优先在自己的中文业务数据上测 BGE、Qwen3-Embedding 等模型。中英混合或多语言场景,可以重点测试 BGE-M3 这类多语言模型。

模型维度也不是越高越好。高维向量通常表达能力更强,但存储成本、检索延迟、索引构建时间都会提高。百万级以上知识库,维度差异会明显影响预算。

Embedding 模型选型矩阵。

维度、效果和成本之间存在取舍。

七、不要只看排行榜,要用业务数据评估

MTEB 这类通用榜单适合做初筛,但不能直接代表你的业务效果。因为你的知识库可能是法律条款、客服 FAQ、医疗病例、代码文档,也可能有大量行业缩写和内部黑话。

更可靠的方式,是准备几百到几千条业务评测样本:每条样本包含一个真实用户问题,以及它对应的正确答案 Chunk。然后用候选 Embedding 模型分别建库、检索,看正确 Chunk 是否出现在 TopK。

Hit@5 = 0.80 的意思是:100 个问题里,有 80 个问题的正确答案出现在检索结果前 5 条。这个指标很直观,也很适合和业务方沟通。

八、代码示例:生成向量并计算相似度

下面是一个最小化示例:把 query 和文档都转成向量,然后用余弦相似度排序。实际项目里需要把文档向量提前存入向量库,不会每次现算。

from openai import OpenAI import numpy as np client = OpenAI() def embed(text: str) -> np.ndarray: resp = client.embeddings.create(model="text-embedding-3-small",input=text,) return np.array(resp.data[0].embedding, dtype=np.float32) def cosine(a: np.ndarray, b: np.ndarray) -> float: return float(np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))) query = "iPhone 如何截屏?" docs = ["苹果手机截图可以同时按侧边键和音量上键。","苹果汁可以用榨汁机制作。","安卓手机通常可以通过电源键和音量键截图。",] q_vec = embed(query) ranked = sorted([(doc, cosine(q_vec, embed(doc))) for doc in docs],key=lambda x: x[1],reverse=True,) for doc, score in ranked: print(round(score, 4), doc)

如果你使用本地模型,代码结构类似,只是把 API 调用换成本地推理服务。关键不是代码长短,而是要确保文档和 Query 使用同一个模型版本、同一个维度、同一种归一化策略。

九、代码示例:用 Hit@K 做业务评测

下面这个评测函数可以帮助你判断:正确答案是否出现在 TopK 结果里。真实项目中,retriever 可以是向量库,也可以是混合检索 + Rerank。

from typing import List, Dict # eval_set 示例: # [ # {"query": "如何重置密码?", "gold_chunk_id": "faq_001"}, # {"query": "发票在哪里下载?", "gold_chunk_id": "faq_102"}, # ] def hit_at_k(eval_set: List[Dict], retriever, k: int = 5) -> float: hit = 0 for item in eval_set: query = item["query"] gold_id = item["gold_chunk_id"] results = retriever.search(query, top_k=k) retrieved_ids = [r.chunk_id for r in results] if gold_id in retrieved_ids: hit += 1 return hit / len(eval_set) score = hit_at_k(eval_set, retriever, k=5) print(f"Hit@5 = {score:.2%}")

如果候选模型 A 的 Hit@5 是 82%,模型 B 是 76%,但模型 A 延迟是模型 B 的三倍,就不能只看准确率。生产选型要把召回质量、延迟、成本、合规一起算。

十、生产级 Embedding 服务怎么设计?

生产环境不要把 Embedding 当成一个简单函数。它应该是一个可观测、可回滚、可灰度的基础服务。

文档入库时,要记录 embedding_model、dimension、normalize、version、created_at 等元数据。因为一旦模型升级,历史向量通常需要重建;如果新旧向量混在一个索引里,检索结果会变得不可控。

在线检索时,要关注 P95 延迟、TopK 命中率、空召回率、Rerank 后排名变化、Embedding API 错误率和成本。尤其是大规模知识库,Embedding 成本不只在调用 API,还在存储、索引、备份和重建。

十一、常见坑:RAG 效果差,往往错在检索地基

第一,只看排行榜,不做业务评测。通用榜单适合初筛,但业务分布不同,模型效果可能完全不同。

第二,不区分 Query 和 Document。有些模型建议为查询和文档使用不同的输入提示,如果全部按普通文本处理,检索效果可能打折。

第三,换模型不重建索引。不同模型产生的向量空间并不一致,把不同模型的向量混在一起检索,等于把地图坐标系混用了。

第四,忽略 Chunking。Embedding 模型再好,如果 Chunk 把语义切碎,正确答案也很难被召回。

第五,只有向量检索,没有关键词兜底。订单号、错误码、型号、日期、法律条文编号这类信息,关键词检索往往更稳定。

十二、面试回答模板

Embedding 是 RAG 的检索基础,它把文本映射成固定长度的语义向量,让语义相近的 Query 和 Chunk 在向量空间里靠近。检索时,我们把用户问题也转成向量,用余弦相似度或点积从向量库里找 TopK 相关 Chunk,再交给大模型回答。

模型选型上,我不会只看排行榜。会先根据语言、合规、维度、最大输入长度和部署成本做初筛,再用自己的业务评测集跑 Hit@K、MRR、nDCG,同时关注 P95 延迟和存储成本。中文或私有化场景会重点测 BGE、Qwen3-Embedding 等本地模型;快速验证或英文场景可以测试 OpenAI、Voyage、Cohere 等 API 模型。

上线后还要做版本管理和监控。每条向量都要记录模型版本和维度;模型升级时要重建索引;召回效果要持续监控,避免知识库更新或用户问题变化后效果漂移。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2026 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要《AI大模型入门+进阶学习资源包》下方扫码获取~

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

以上资料如何领取?

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

以上全套大模型资料如何领取?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/19 11:22:58

自然语言驱动DataOps:kRAIG如何自动化生成Kubeflow机器学习流水线

1. 从“一句话需求”到“可执行流水线”:kRAIG的诞生背景与核心价值在数据工程和机器学习运维的日常工作中,我们经常面临一个经典的效率瓶颈:业务方或数据科学家用自然语言描述了一个数据处理或模型训练的需求,比如“帮我从用户行…

作者头像 李华
网站建设 2026/8/19 11:22:16

网络工程师命令行2

包括: OSPF动态路由协议 划分vlan 交换机接口配置Trunk 动态ARP配置 hybrid配置 STP消除环路配置 静态链路聚合配置 动态路由协议 配置路由器接口ip 配置路由器回环接口 在路由器上启动ospf协议 查看和调试ospf协议相关信息 路由自动学习信息 system-view sysname undo info-c…

作者头像 李华
网站建设 2026/8/19 11:16:05

单片机毕设选题推荐:基于 STM32 或 51 单片机的 MAX30102 体征检测装置设计 基于 STM32 或 51 单片机的人体健康参数采集与阈值报警系统(024103)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华
网站建设 2026/8/19 11:14:59

从74F08D与门芯片入门数字电路:硬件实践与排错指南

1. 从一颗芯片开始:为什么是74F08D? 如果你对数字电路感兴趣,或者正在学习计算机组成原理、嵌入式系统,那么“用74F08D搭建一个数字逻辑电路”这个标题,可能就是你动手实践的第一个完美起点。这听起来像是一个简单的入…

作者头像 李华