nurysso/eulix 是一个旨在本地处理数百万行规模代码、构建结构与语义索引的项目。2026年10月25日的提交 d19a730 将嵌入器的批次大小计算代码移至共用父类,并修复了 Torch 流水线的崩溃。
批次大小(batch size)是一次性送入模型并处理的句子数量。该仓库按长度区间(桶)对句子分组处理,并让区间越长批次大小越小,从而避免注意力内存占用增长。对于超过 512 令牌基准长度的区间,计算方式是线性地缩减批次大小,并将最小值设为 1。这段代码原本只存在于完整的嵌入器包装器(ONNX)之中,而本次提交将其移至新建的 eulix-embed/embedders/mixins.py 中的 BucketBatchMixin,使 Torch 侧的包装器也能继承它。共享流水线中的 EmbeddingGenerator 协议明确列出了 batch_size_for 条目,以对齐两个实现的契约,_batch_size_for 也改为调用该方法,而不再使用固定的 batch_size。两个流水线文件中残留的、拼写有误的 _bacth_size_for 方法被删除。
提交信息指出这一变更修复了 Torch 流水线的崩溃。变更规模为 7 个文件新增 20 行、删除 26 行,同时包含了行为修正与重复代码的清理。不过,批次缩减规则对准确率或吞吐量影响的比较数值并未包含在本次提交中。取决于处理长文档的频率,仅凭本次提交也无法判断 512 令牌的基准设置是否合适,许可证与发布时间表何时确定同样无从得知。