Signed Byte 被当成原始位串解包
`binary` 量化会把 `np.packbits` 生成的无符号字节减去 128,以 `int8` 存入 Usearch;重排阶段却直接把取回的有符号字节转换为 `uint8`,相当于翻转每个字节的最高位,点积分数和最终排序都会被改写。同时,`packbits` 会把维度补齐到整字节,未裁掉的填充位会让非 8 倍数维度在重排时发生形状不匹配。

Hugging Face 维护的嵌入、语义检索与重排序框架,统一支持 Sentence Transformer、Cross Encoder、Sparse Encoder 与 Multi-Vector Encoder,并提供量化向量搜索和多种后端集成。
量化重排只有在字节域和向量维度都被准确还原时才有意义;一个最高位翻转或几位 padding,就足以让更多候选带来更差的召回。
01101101uint8 · 109STORED11101101int8 · −19astype(uint8)237 · MSB FLIPPEDAFTERint16 + 128109 · BITS RESTORED[10]≠UNPACKED[16]unpackbits(...)[..., :query_dim]`binary` 量化会把 `np.packbits` 生成的无符号字节减去 128,以 `int8` 存入 Usearch;重排阶段却直接把取回的有符号字节转换为 `uint8`,相当于翻转每个字节的最高位,点积分数和最终排序都会被改写。同时,`packbits` 会把维度补齐到整字节,未裁掉的填充位会让非 8 倍数维度在重排时发生形状不匹配。
Usearch 返回的是索引中真实存储的 `int8`,并不会自动恢复量化前的字节域;解包前必须先在更宽的整数类型中加回 128,避免 NumPy 对 `int8 + 128` 的溢出限制。位解包后还必须以原始查询维度为唯一边界裁剪尾部 padding,否则候选向量与查询不再属于同一向量空间。
在 Usearch 重排路径中先执行 `int8 → int16 → +128 → uint8`,恢复原始 packed bytes,再用 `[..., :query_dim]` 裁掉解包后的尾部填充位。新增真实索引回归,分别验证 signed binary 的排序正确性和非字节对齐维度;合并版本同时把 padding 修复扩展到 FAISS,并为量化 EmbeddingSimilarityEvaluator 补齐浮点转换与精度覆盖。
修复前,候选池越大反而越容易得到错误排序:维护者对 200 条语料实测,`rescore_multiplier` 从 2、8 增至 40 时,Recall@5 由 0.48、0.28 降到 0.24;修复后分别恢复为 0.66、0.98 和 1.00,并与暴力点积排序完全一致。非 8 倍数维度也不再因 padding 导致广播错误。