Downloads · 30 days
123
8% of all-time downloads
cstr/bidirlm-omni-2.5b-textonly-GGUF
bidirlm-omni-2.5b-textonly-GGUF is a feature extraction model from cstr. Use it when you need embeddings to search or compare text. The card lists the license as apache-2.0.
GGUF format of BidirLM/BidirLM-Omni-2.5B-Embedding for use with CrispEmbed.
Downloads · 30 days
123
8% of all-time downloads
All-time downloads
1.5K
Public
Repo size
28.8 GB
Likes
0
Public
Click a slice to open those files.
.gguf12 GB · 100%
From the Hugging Face model README
GGUF format of BidirLM/BidirLM-Omni-2.5B-Embedding for use with CrispEmbed.
BidirLM-Omni 2.5B — text-only GGUF. Qwen3-derived bidirectional encoder, 2048-d shared embedding space, 90+ languages. The upstream model's audio + vision towers are NOT included in this file (use the bidirlm-omni-2.5b-GGUF variant for cross-modal embedding).
The upstream model is omnimodal (text + image + audio). This GGUF contains only the text path — the bidirectional Qwen3 body with mean pooling, producing 2048-d embeddings in the model's shared cross-modal space.
For text → text similarity (semantic search, retrieval, clustering across 90+ languages), this GGUF is functionally complete and matches the upstream reference at cosine ≥ 0.999.
For cross-modal queries (text ↔ image, text ↔ audio), use the bidirlm-omni-2.5b-GGUF variant — it includes the audio tower (text + audio cross-modal) and is the recommended choice for omnimodal retrieval. The vision tower is not yet supported by either GGUF.
| File | Quantization | Size |
|---|---|---|
| bidirlm-omni-2.5b-textonly-f16.gguf | F16 | 3881 MB |
| bidirlm-omni-2.5b-textonly-q4_k.gguf | Q4_K | 1077 MB |
| bidirlm-omni-2.5b-textonly-q5_k.gguf | Q5_K | 1245 MB |
| bidirlm-omni-2.5b-textonly-q6_k.gguf | Q6_K | 1423 MB |
| bidirlm-omni-2.5b-textonly-q8_0.gguf | Q8_0 | 2621 MB |
Cosine similarity vs the upstream sentence-transformers reference on a fixed test set (text, jfk.wav for audio):
| Quant | Cosine |
|---|---|
| f16 | 0.9998 |
| q8_0 | 0.9991 |
| q6_k | 0.9939 |
| q5_k | 0.9831 |
| q4_k | 0.9374 |
Note: below the 0.99 retrieval-quality bar — text: q5_k (0.983), q4_k (0.937). Embeddings are still functionally usable (>0.9 = directionally correct for similarity ranking) but expect small differences in nearest-neighbor results vs the upstream f32 reference.
# Download
huggingface-cli download cstr/bidirlm-omni-2.5b-textonly-GGUF bidirlm-omni-2.5b-textonly-f16.gguf --local-dir .
# Run with CrispEmbed
./crispembed -m bidirlm-omni-2.5b-textonly-f16.gguf "Hello world"
# Or with auto-download
./crispembed -m bidirlm-omni-2.5b-textonly "Hello world"
| Property | Value |
|---|---|
| Architecture | Qwen3-Bidirectional |
| Parameters | 2.5B (text only) |
| Embedding Dimension | 2048 |
| Layers | 28 |
| Pooling | mean |
| Tokenizer | BPE |
| Base Model | BidirLM/BidirLM-Omni-2.5B-Embedding |
Verified bit-identical to HuggingFace sentence-transformers (cosine similarity >= 0.999 on test texts).
CrispEmbed is a lightweight C/C++ text embedding inference engine using ggml. No Python runtime, no ONNX. Supports BERT, XLM-R, Qwen3, and Gemma3 architectures.
# Build CrispEmbed
git clone https://github.com/CrispStrobe/CrispEmbed
cd CrispEmbed
cmake -S . -B build && cmake --build build -j
# Encode
./build/crispembed -m bidirlm-omni-2.5b-textonly-f16.gguf "query text"
# Server mode
./build/crispembed-server -m bidirlm-omni-2.5b-textonly-f16.gguf --port 8080
curl -X POST http://localhost:8080/v1/embeddings \
-d '{"input": ["Hello world"], "model": "bidirlm-omni-2.5b-textonly"}'
convert-decoder-embed-to-gguf.pyBidirLM.apache-2.0. This repository redistributes under the same terms; it grants no rights the upstream licence does not.