Repository navigation
v1.1.0 — BAAI/bge family support and a BERT backend
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%):
- BAAI/bge-m3 — multilingual embeddings, 1024 dimensions, 8192-token model (compile larger buckets with
--bucketsif you need more than the default 1024) - BAAI/bge-reranker-base and BAAI/bge-reranker-large — rerankers; their 512-token maximum is handled automatically
- BAAI/bge-small-en-v1.5, bge-base-en-v1.5 and bge-large-en-v1.5 — English embeddings at three sizes (the small one answers a 128-token request in about 1.5 ms warm)
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-pickleThe 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