EMBEDDING LAB

GLM embedding-3 · 语义向量现场 · Day 09

直连模式 · 无代理

Request 请求实验台

改任何一个参数,左侧的 HTTP 报文会实时变化。点「发射」看真实的智谱响应 —— 这就是一次标准的 POST /v4/embeddings

请求参数

即将发出的报文

POST https://open.bigmodel.cn/api/paas/v4/embeddings

        
等价的 curl 命令

        

响应 尚未请求

左侧配好参数 → 点「发射请求」
响应 JSON 会出现在这里

🎓 观察点:① usage.total_tokens 按输入文本的 token 计,不是输出;② data[i].index 与输入行号对齐;③ 换 dimensions 后向量条数不变、每条变短 —— 语义基本还在(套娃训练)。

Anatomy 返回值逐字段拆解

一次 embedding 响应里每个字段是什么、拿来干什么。上半部分是字典,下半部分会显示你在 EXP·01 最近一次真实响应的实测值

响应结构字典

字段类型含义 / 用途
modelstring实际使用的模型名。以请求传入为准,用于校验别拿错模型。
createdintUnix 秒级时间戳。审计用,业务上少碰。
data[]array向量数组 —— 核心返回。一条输入对应一条 data[i]
data[i].indexint对应输入 input 数组的下标。不要按顺序盲取,永远按 index 对齐。
data[i].objectstring固定 "embedding",OpenAI 兼容协议的遗产字段。
data[i].embeddingfloat[]语义向量本体。维度 = 模型默认或请求的 dimensions。分量取值围绕 0 分布,没有天然语义,只有相对几何。
usage.prompt_tokensint输入文本消耗的 token 数。embedding 没有 completion_tokens,恒为 0。
usage.total_tokensint计费依据 ≈ 所有输入文本 token 之和。文本翻倍 → 费用翻倍。
error.messagestring失败时出现(HTTP 4xx/5xx)。常见:密钥无效、超过长度、限流 QPS。

示例报文(带行内注解)

{
  "model": "embedding-3",          // 请求什么回什么
  "created": 1726560000,           // 服务端生成时间(Unix 秒)
  "data": [
    {
      "object": "embedding",
      "index": 0,                  // 对应 input[0]
      "embedding": [0.0241, -0.0517, 0.0088, …]  // ← 2048 个 float
    },
    { "object": "embedding", "index": 1, "embedding": [ … ] }
  ],
  "usage": {
    "prompt_tokens": 12,           // 按输入计费
    "completion_tokens": 0,        // 永远为 0
    "total_tokens": 12
  }
}

实测 · 向量几何属性 等待 EXP·01 的请求结果

去 EXP·01 发一次请求,这里会自动填上真实统计。

怎么消费这个返回值(伪代码 5 行)

resp = POST("/v4/embeddings", body).json()
vec  = { d.index: d.embedding for d in resp.data }[i]
n    = sqrt(sum(x*x for x in vec))
unit = [x / n for x in vec]        # L2 归一化
sim  = dot(unit_a, unit_b)         # 余弦 ∈ [-1, 1]

🎓 入库前记得归一化;查询与文档必须同一个模型、同一维度 —— 换了模型 = 旧向量全部作废。

Similarity 相近词匹配

把一组文本装进同一次批量请求,拿到向量后两两算余弦,当场排序。字面完全不重叠却语义相近的一对,是关键词检索的死穴、向量检索的主场。
mode② 则不迷信传说:用三个经典算式实测 C − B + A 这套向量算术在现代模型上还灵不灵。

示例场景:

排序结果

跑一次,这里出现按余弦相似度排名的条形图。

🎓 亲手记两个数:语义最近一对的 cos 和字面重叠但语义远一对的 cos —— 前者更高,就是向量检索行业的立身之本。而 mode② 是个"反例教学":向量算术是 word2vec 时代的传说,在 2048 维检索式 embedding 上并不稳定(三组经典算式常常只对一组)。检索/排序交给向量,类比/推理由 LLM 负责 —— 这正是 RAG 分工的依据。