你有没有想过,让 AI 回答「我们公司的报销标准是什么」这类只有你的资料里才有答案的问题?直接把几百页文档塞进对话框,又贵又容易超长。业界的主流解法是给 AI 配一个「知识库」,而它的地基是一块叫 embedding(向量化)的技术。这篇用零基础的讲法讲清它是什么、怎么工作,以及怎么用三步搭一个最小可用的知识库问答。
embedding 是什么?把文字变成「坐标」
一句话:embedding 就是把一段文字变成一串数字坐标(也叫向量),意思越接近的文字,坐标就离得越近。可以类比成一张巨大的「语义地图」:把全世界的意思都画在地图上,「猫」和「小狗」会被放进相邻的街区,而「猫」和「税务报表」隔着大半个城。这样一来,「找意思相近的内容」就变成了「地图上找最近的点」——这是计算机最擅长的事。
在接口层面,生成向量的是 /v1/embeddings 端点:把文本发过去,返回一串浮点数数组。一段文字对应一个向量,维度通常有一千多个——完全不用懂每一维是什么意思,只管用「距离」来衡量相似度。
curl https://api.aigcbreeze.cn/v1/embeddings \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-text-embedding-flash",
"input": "我们公司的差旅报销标准是什么?"
}'
相似度怎么算?近朱者赤,近墨者黑
有了坐标,判断「两段话像不像」就是算两个点之间的距离,最常用的是余弦相似度:夹角越小越相似。比如「报销流程」和「差旅费怎么报」会被算出很高的相似度,而「报销流程」和「周末去哪玩」就很低。聊天模型负责「生成」回答,embedding 模型只负责「量距离」,两者各司其职,谁也替代不了谁。
三步搭一个最小知识库问答
- 第一步:切分文档。把你的资料按段落切成小份(比如每份 300~500 字)。切太长会稀释重点,切太短会丢上下文,这个粒度要反复试。
- 第二步:向量化入库。把每一小份都调用
/v1/embeddings转成向量,连同原文一起存下来。起步阶段用文件、表格数据库都行,不必一上来就上专业向量库。 - 第三步:先检索、后回答。用户提问时,把问题也转成向量,找出最相似的几段原文,把它们连同问题一起发给聊天模型(比如 glm-5.3),并告诉它「请根据以下资料回答」。
这就是「检索增强生成」(RAG)的最小雏形:模型不再单凭记忆回答,答案有你的原文兜底,编造的空间小得多。以后聊到的 RAG、Agent 等进阶玩法,底层都是这三步的扩展。
一句话总结:embedding 负责「找得到」,聊天模型负责「答得好」。检索召回的原文越准,回答就越可靠。
常见问题
embedding 模型和聊天模型能互相替代吗?
不能。embedding 模型不会生成回答,聊天模型也不输出向量,两者的接口和返回格式完全不同(/v1/embeddings vs /v1/chat/completions),计费方式也不一样。做知识库问答时两个都要调,各干各的活。
一段文字能发多长?
embedding 模型同样有自己的输入上限,超长会报错或被截断,所以实践里都是先切分再入库,别把整份文档一次性丢进去。这个上限和聊天模型的上下文窗口是两回事,别混为一谈。
站内有哪些 embedding 模型可以用?
打开模型列表页搜「embedding」就能看到当前在售的向量化模型(例如 qwen3.7-text-embedding-flash),按输入 token 计费,价格很便宜。先把资料全量向量化一次存好,之后每次提问只需要向量化一句话,成本几乎可以忽略。