Skip to content

v1.1.0 — BAAI/bge family support and a BERT backend

Choose a tag to compare

@xhighhongo41 xhighhongo41 released this 26 Aug 03:57
· 60 commits to main since this release
4068166

eeANE 1.1.0 adds support for the BAAI/bge model family: six newly verified models, a new BERT compile backend, and an opt-in for the pickle-based checkpoints some of these models are distributed as. Existing setups keep working as is — nothing changes unless you compile new models.

Six newly verified bge models

All of these compile with a single eeane compile <HF ID> and serve through the existing multi-model server, with accuracy self-checks against the FP32 originals passing on an M2 Mac (cosine ≥ 0.99998 for embeddings, sigmoid score difference ≤ 0.00001 for rerankers, Neural Engine placement 95.8–98.8%):

A third architecture family: BERT

The compiler now has a BERT backend for embedding models — the bge v1.5 series above is the verified example, and other BERT-based sentence-transformers checkpoints are expected to work the same way. BERT cross-encoder rerankers are deliberately refused with an explanation rather than compiled: the compiled graph would have to pin BERT's segment ids to zero, which silently changes what a query/document pair means to this architecture. ModernBERT and XLM-RoBERTa rerankers are unaffected.

Pickle-based checkpoints: --allow-pickle

Some bge models (bge-m3 among them) are distributed as pytorch_model.bin only, with no safetensors weights. eeANE keeps requiring safetensors by default — for both Hub downloads and local directories — and now offers an explicit opt-in:

eeane compile BAAI/bge-m3 --allow-pickle

The opt-in loads the checkpoint through torch.load(weights_only=True) and logs a warning. The new Checkpoint formats section of the README explains the trade-off honestly: weights_only=True reduces but does not eliminate the risks of the pickle format, so only use the flag with checkpoints from publishers you trust. When a repository has safetensors, the flag changes nothing and the .bin files are never downloaded.

Richer PyPI metadata

The PyPI page now carries keywords, trove classifiers, and project links, making the package easier to find and evaluate.

Requires Python 3.11 or 3.12, an Apple Silicon Mac on macOS 13+, and Xcode Command Line Tools for compiling models.

🤖 Generated with Claude Code