跳到主要内容

嵌入

嵌入是一串称为向量的数字,用来表示一段文字、一张图片或一段声音的含义。含义相近的两段内容,会得到彼此靠近的向量,这让程序能够按含义,而不是按确切字词来搜索。

更新于 2026年11月8日

  1. 只在你的设备上可读。

    对话只在你的设备上可读;开启同步后,其他设备上也可读。别处一概读不到。

  2. 我们读不了。

    消息只是经过,不会留下记录;你的对话始终只以加密形式保存。

  3. 模型不知道你是谁。

    它只收到问题,绝不会收到你的邮箱、账户或 IP 地址。

  4. 途中什么也不留下。

    回复传回后加密保存在这里;即使开启同步,你的密钥也从不以明文到达我们这里。

一段对话在 NeverNo 上的路径。详情见透明度页面。

工作原理

嵌入模型读取一段文字,返回一串固定长度的数字,比如 1,024 个。单独的某个数字没有任何意义;重要的是整个向量在一个多维空间里的位置。一句关于领养小狗的话,和一句关于从收容所领一只狗的话,会落在彼此附近,而一句关于报税的话则落得很远。距离通常用余弦相似度来衡量,它比较的是两个向量的方向,而不是长度。可以想象一张地图,每段文字都是一枚图钉,相邻的图钉说的是同一件事。也有面向图片和音频的模型,把一张照片和它的说明映射到相近的点。像英文 bank(既指河岸,也指银行)这样的词,究竟靠近河流还是靠近金钱,取决于它周围的句子。

这把模糊的问题变成了算术。要搜索一大堆文档,你把每个段落嵌入一次并存下向量;提问时,把问题也嵌入,然后寻找向量最接近的段落。同样的思路也支撑着推荐、重复内容检测、客服工单的聚类,以及助手的记忆。它还是检索增强生成的第一步,找到的段落会交给语言模型,让它据此作答。商店、图书馆和客服中心用它做推荐货架、语义搜索栏和垃圾信息或重复内容的检测,并使用专门的索引来快速找到邻居,而不是逐个检查所有存储的向量。

嵌入也有局限。向量保留了含义,却丢失了确切的措辞,所以搜索一个精确的代码、名字或数字时可能会漏掉,许多系统会把向量与关键词匹配结合起来使用。不同模型的向量彼此无法比较:换了嵌入模型,就必须把所有内容重新嵌入一遍。长文本通常要先切成段落,因为用一个向量代表一整本书,会让内容变得模糊,而段落大小的选择会改变能找到什么。不同模型的质量也有差异:有些能处理多种语言,有些在一种语言上最好,所以在做决定之前,先用你自己的材料测试。典型的资料集有合同、客服工单、菜谱、歌词或源代码。

在 NeverNo 中

NeverNo 的保险箱会对你自己的文档使用嵌入。每个约 800 个 token 的段落,都会得到一个由 1,024 个数字组成的向量,由 DeepInfra 上的一个私密模型计算一次。向量保存在你浏览器里,紧挨着加密的文档,搜索本身也在那里完成。Z.ai 的 GLM 5.3 Flash 是能看图的免费私密模型,是随后能根据找到的段落作答的模型之一。

开发者也可以使用同一个嵌入模型。API 的 /embeddings 端点返回来自 qwen3-embedding-0.6b 的向量,每个向量有 1,024 个值,一次请求最多可以有 128 个输入。dimensions 选项可以缩短向量,也支持 base64 编码,OpenAI 的嵌入模型名称同样被接受,并由它来提供服务。关于私密 AI 的页面,说明了你的其余数据保存在哪里。

值得记住

  1. 嵌入是一个数字向量,把一段文字放在含义空间里的某一点。

  2. 相似的文字得到相近的向量,这让按含义而不是按确切字词搜索成为可能。

  3. 向量会丢失确切的措辞,所以精确的名字和代码可能还需要配合关键词搜索。

  4. 两个不同模型的向量无法比较:换模型就意味着要把所有内容重新嵌入。

  5. 嵌入是检索增强生成的第一步。

常见问题

嵌入和 token 有什么区别?

Token 是模型读取的一小段文字。嵌入则是代表一个 token 或一整段文字含义的一串数字。Token 输入,描述它们的向量输出。

语言模型内部也使用嵌入吗?

是的,它在处理之前,会先把每个 token 变成向量。不过,单独的嵌入模型是为一项工作而设计的:为一整段文字生成适合比较和搜索的向量。

有人能从嵌入还原出我的文字吗?

向量不是可读的文字,但它由文字生成,可能透露很多信息。请像对待原始文档那样小心对待存储的向量。把存储的向量加密,或者保存在你自己的设备上,是明智的预防措施。

问出你的第一个问题

无需账户,无需银行卡。NeverNo 会 10 种语言,用哪种写都行。

打开聊天