# SigLIP2 (siglip2)

`siglip2`（SigLIP2-B）将图像和文本嵌入同一个共享向量空间。文本向量可以直接与图像向量比较，因此既能用一句话搜索图片，也能无需训练就将图像与一组候选标签进行分类。

| | |
|---|---|
| 模型 ID | `siglip2` |
| 模型 | SigLIP 2 base，patch 16，224 px（Google） |
| 权重 | Google 官方发布（`google/siglip2-base-patch16-224`） |
| 用例 | [嵌入与检索](https://stack.foldbun.com/zh/docs/use-cases/embeddings/) |
| 接口 | `POST /v1/embeddings` |
| 模型池 | 公共池：所有已注册账户可用，每个 UTC 日包含 100 次调用 |
| 计费单位 | `image`、`text`。单位与价格：[计费](https://stack.foldbun.com/zh/docs/billing/#价目表) |
| 许可证 | Apache-2.0 |

## 工作原理

SigLIP 2 有两个一同训练的编码器，使描述同一事物的图片和句子在同一个向量空间中彼此靠近。一次调用只运行其中一个：一张图片走图像编码器，或每条文本走文本编码器。

**图像。** 图片转换为 RGB，缩放到 224 × 224 像素并做归一化，再送入图像编码器的视觉 Transformer（ViT，图块大小 16）。一张图片对应一次前向推理。

**文本。** 每条文本转为小写，切分为 token，并填充或截断到 64 个 token，再送入文本编码器。每条文本各自一次前向推理，因此包含 N 条文本的调用运行 N 次推理。

两个编码器返回的向量都缩放到长度 1（L2 归一化），以 float32 数值返回；录制的响应中 `dimensions` 为 768。两类向量位于同一个空间，所以图像向量与文本向量的点积就是它们的余弦相似度，文本可以用来搜索图片，也可以为一张图片给一组标签排序。计费对应推理次数：一张图片计为一个 `image`，每条文本计为一个 `text`，两者都不依赖缓存。

## 各用例下的特性

### 嵌入与检索

`siglip2` 为 `POST /v1/embeddings` 提供服务，图像和文本位于同一个空间。一次调用只能给出 `image`（一张图片）和 `texts`（1 到 64 条文本，每条 1 到 1000 个字符）中的一个，不能同时给出。仅含文本的调用，其响应中没有 `image`。

- 图像与文本之间的得分数值很小。录制的示例中，最佳匹配得分为 0.133，无关组合约为 0。有意义的只是排名和得分之间的差距，因此应在同一个查询内部比较各得分，不假设固定的截断值。
- 不同模型的向量不可比较：`siglip2` 的向量不能与 `dinov3` 的向量比较。图像与图像之间的相似度、去重和以图搜图，请使用只嵌入图像、向量描述图像外观的 [`dinov3`](https://stack.foldbun.com/zh/docs/models/dinov3/#嵌入与检索)。

用例说明与调用示例：[嵌入与检索](https://stack.foldbun.com/zh/docs/use-cases/embeddings/)。

## 限制与说明

- 每次调用只能给出一张 `image` 或 1 到 64 条 `texts`，不能同时给出。每条文本 1 到 1000 个字符；每条文本只有前 64 个 token 会被嵌入。
- 图片限制：详见[图片](https://stack.foldbun.com/zh/docs/images/)。
- 延迟：录制的调用中 `timing.processingMs` 约为 200 ms。该数值取决于输入、排队情况和节点负载，不构成保证。
