Instructions to use Dibachain/Diba-Embed with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use Dibachain/Diba-Embed with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("Dibachain/Diba-Embed", trust_remote_code=True) sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Dibachain/Diba-Embed with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf Dibachain/Diba-Embed:Q4_K_M # Run inference directly in the terminal: llama cli -hf Dibachain/Diba-Embed:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Dibachain/Diba-Embed:Q4_K_M # Run inference directly in the terminal: llama cli -hf Dibachain/Diba-Embed:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf Dibachain/Diba-Embed:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Dibachain/Diba-Embed:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf Dibachain/Diba-Embed:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Dibachain/Diba-Embed:Q4_K_M
Use Docker
docker model run hf.co/Dibachain/Diba-Embed:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use Dibachain/Diba-Embed with Ollama:
ollama run hf.co/Dibachain/Diba-Embed:Q4_K_M
- Unsloth Desktop
- Pi
How to use Dibachain/Diba-Embed with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Dibachain/Diba-Embed:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Dibachain/Diba-Embed:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use Dibachain/Diba-Embed with Docker Model Runner:
docker model run hf.co/Dibachain/Diba-Embed:Q4_K_M
- Lemonade
How to use Dibachain/Diba-Embed with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Dibachain/Diba-Embed:Q4_K_M
Run and chat with the model
lemonade run user.Diba-Embed-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use Dibachain/Diba-Embed with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Dibachain/Diba-Embed:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Dibachain/Diba-Embed:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use Dibachain/Diba-Embed with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Dibachain/Diba-Embed:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Dibachain/Diba-Embed:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Diba-Embed · دیبا-امبد
A Persian-first text embedding model by Dibachain مدل نمایش برداری متن، فارسیمحور، ساختهی دیباچین
Website · 🤖 Agent · Chat demo (GPU) · Chat demo (CPU) · Diba-Base
English
Diba-Embed is the first text-embedding model from Dibachain and the first embedding model in the Diba family — a Persian-first model that turns Persian and English text into dense vectors, placing similar meanings close together. Built by Dibachain (dibachain.ir) and tuned and packaged for Iranian, Persian-language use cases where most open models fall short.
Use it to build semantic search, retrieval‑augmented generation (RAG), FAQ matching, clustering, deduplication, and reranking — in Persian, in English, and across the two.
What it can do
- Persian semantic search — find the most relevant document for a Persian question, even when the wording differs.
- Retrieval for RAG — retrieve the right passages to ground a chat model such as Diba-Base on your own documents.
- Cross‑lingual matching — a Persian query can find an English passage and vice‑versa.
- Clustering & deduplication — group similar tickets, comments, or products; detect near‑duplicates.
- Reranking — order candidate passages by relevance to a query.
Specifications
| Parameters | ~0.6B |
| Embedding size | 1024 (Matryoshka: truncatable down to 32) |
| Max input length | 32,768 tokens |
| Languages | Multilingual, optimized for Persian + English |
| Weights | ~1.2 GB · runs on CPU |
| Similarity | cosine |
| License | Apache 2.0 |
Persian retrieval benchmark
Measured on 400 Persian question/answer pairs drawn from Diba's own grounded data (Iran history, contemporary topics, and Dibachain company Q/A). Each question must retrieve its correct passage out of the full pool. Greedy, on CPU, no task‑specific training:
| Metric | Score |
|---|---|
| Recall@1 | 82% |
| Recall@3 | 95% |
| MRR | 0.89 |
In 95% of cases the correct passage is among the top three results — enough to drive reliable Persian RAG and search.
Quick start
Diba-Embed ships with the Diba model definition, so pass
trust_remote_code=Truewhen loading.
sentence-transformers (recommended):
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Dibachain/Diba-Embed", trust_remote_code=True)
# queries use the built-in "query" prompt; documents are embedded as-is
queries = ["پایتخت ایران کجاست؟"]
documents = [
"تهران پایتخت و بزرگترین شهر ایران است.",
"اصفهان یکی از شهرهای تاریخی ایران است.",
]
q = model.encode(queries, prompt_name="query", normalize_embeddings=True)
d = model.encode(documents, normalize_embeddings=True)
scores = q @ d.T
print(scores) # highest score points to the matching document
transformers (last-token pooling, for full control):
import torch, torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer
tok = AutoTokenizer.from_pretrained("Dibachain/Diba-Embed", padding_side="left")
model = AutoModel.from_pretrained("Dibachain/Diba-Embed", trust_remote_code=True).eval()
def embed(texts, is_query=False):
if is_query:
texts = [f"Instruct: Given a query, retrieve passages that answer it\nQuery: {t}" for t in texts]
enc = tok(texts, padding=True, truncation=True, max_length=512, return_tensors="pt")
with torch.no_grad():
h = model(**enc).last_hidden_state
lengths = enc["attention_mask"].sum(1) - 1
v = h[torch.arange(h.size(0)), lengths] # last non-pad token
return F.normalize(v, dim=1)
sim = embed(["پایتخت ایران؟"], is_query=True) @ embed(["تهران پایتخت ایران است."]).T
print(sim)
Tip: always add the query instruction to search queries; embed documents without it. Normalize vectors and rank by cosine (dot product of normalized vectors).
Run with llama.cpp (GGUF)
Diba-Embed ships ready-to-run GGUF files for CPU inference with llama.cpp — no Python required.
| File | Size | Best for |
|---|---|---|
Diba-Embed-Q8_0.gguf |
~0.6 GB | recommended — near‑full quality |
Diba-Embed-Q4_K_M.gguf |
~0.4 GB | smallest, fastest |
Diba-Embed-f16.gguf |
~1.2 GB | full precision |
# start an OpenAI-compatible embeddings server on CPU
llama-server -m Diba-Embed-Q8_0.gguf --embedding --pooling last -c 2048 --port 8080
# then request embeddings
curl http://localhost:8080/v1/embeddings -H "Content-Type: application/json" -d '{"input": ["تهران پایتخت ایران است", "capital of Iran"]}'
Direct download: https://huggingface.co/Dibachain/Diba-Embed/resolve/main/Diba-Embed-Q8_0.gguf
Intended use and limitations
Diba-Embed is built for search and retrieval, not for generation — it produces vectors, not text. Quality is strongest on general and formal Persian and on the domains in the benchmark above; very specialized or noisy text may need domain adaptation. It reflects biases present in its training data. For generation and chat, use Diba-Base.
فارسی
دیبا-امبد نخستین مدل بردارسازی متن (Text Embedding) شرکت دیباچین و اولین مدل امبدینگ خانوادهی دیبا است — مدلی فارسیمحور که متن فارسی و انگلیسی را به بردارهای عددی تبدیل میکند تا متنهای هممعنا در فضای برداری به هم نزدیک شوند. ساختهی شرکت دیباچین (dibachain.ir) و ویژهی کاربردهای فارسیزبان و ایرانی، جایی که بیشتر مدلهای متنباز ضعیف عمل میکنند.
از آن میتوانید برای جستوجوی معنایی، تولید پاسخ مبتنی بر بازیابی (RAG)، تطبیق پرسشهای پرتکرار، خوشهبندی، حذف موارد تکراری و بازچینش نتایج استفاده کنید؛ به فارسی، به انگلیسی و میان این دو.
چه کارهایی انجام میدهد
- جستوجوی معنایی فارسی: یافتن مرتبطترین سند برای یک پرسش فارسی، حتی وقتی کلمهها فرق دارند.
- بازیابی برای RAG: پیدا کردن بخشهای درست از اسناد شما تا پاسخ یک مدل گفتگو مانند Diba-Base بر پایهی همان اسناد ساخته شود.
- تطبیق میانزبانی: یک پرسش فارسی میتواند سند انگلیسی را پیدا کند و برعکس.
- خوشهبندی و حذف تکراری: گروهبندی تیکتها، نظرها یا محصولات مشابه و تشخیص موارد نزدیک به هم.
- بازچینش نتایج: مرتب کردن بخشهای نامزد بر اساس میزان ارتباط با پرسش.
مشخصات
| تعداد پارامتر | حدود ۰٫۶ میلیارد |
| اندازهی بردار | ۱۰۲۴ (قابل کاهش تا ۳۲ با روش Matryoshka) |
| بیشینهی طول ورودی | ۳۲٬۷۶۸ توکن |
| زبانها | چندزبانه، بهینه برای فارسی و انگلیسی |
| حجم وزنها | حدود ۱٫۲ گیگابایت · قابل اجرا روی CPU |
| سنجهی شباهت | کسینوسی |
| مجوز | Apache 2.0 |
آزمون بازیابی فارسی
روی ۴۰۰ جفت پرسش و پاسخ فارسی از دادهی مستند خود دیبا (تاریخ ایران، موضوعات معاصر و پرسشهای شرکت دیباچین) سنجیده شد. هر پرسش باید پاسخ درست خود را از میان کل مجموعه بازیابی کند. بدون هیچ آموزش اختصاصی و روی CPU:
| معیار | نتیجه |
|---|---|
| Recall@1 | ۸۲٪ |
| Recall@3 | ۹۵٪ |
| MRR | ۰٫۸۹ |
در ۹۵ درصد موارد، پاسخ درست میان سه نتیجهی نخست است؛ برای جستوجو و RAG فارسی قابل اتکاست.
شروع سریع
دیبا-امبد با تعریف مدل دیبا منتشر شده است؛ هنگام بارگذاری
trust_remote_code=Trueرا بدهید.
با sentence-transformers (پیشنهادی):
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Dibachain/Diba-Embed", trust_remote_code=True)
queries = ["پایتخت ایران کجاست؟"]
documents = [
"تهران پایتخت و بزرگترین شهر ایران است.",
"اصفهان یکی از شهرهای تاریخی ایران است.",
]
q = model.encode(queries, prompt_name="query", normalize_embeddings=True)
d = model.encode(documents, normalize_embeddings=True)
print(q @ d.T) # بیشترین امتیاز به سند درست اشاره میکند
نکته: برای پرسشهای جستوجو حتماً از دستور «query» استفاده کنید و اسناد را بدون آن بردار کنید. بردارها را نرمال کنید و بر اساس شباهت کسینوسی مرتب نمایید.
اجرا با llama.cpp (GGUF)
دیبا-امبد فایلهای GGUF آماده برای اجرا روی CPU با llama.cpp دارد؛ بدون نیاز به پایتون.
| فایل | حجم | مناسبِ |
|---|---|---|
Diba-Embed-Q8_0.gguf |
حدود ۰٫۶ گیگابایت | پیشنهادی — کیفیت نزدیک به کامل |
Diba-Embed-Q4_K_M.gguf |
حدود ۰٫۴ گیگابایت | کوچکترین و سریعترین |
Diba-Embed-f16.gguf |
حدود ۱٫۲ گیگابایت | دقت کامل |
# اجرای سرور سازگار با OpenAI روی CPU
llama-server -m Diba-Embed-Q8_0.gguf --embedding --pooling last -c 2048 --port 8080
لینک مستقیم دانلود: https://huggingface.co/Dibachain/Diba-Embed/resolve/main/Diba-Embed-Q8_0.gguf
کاربرد و محدودیتها
دیبا-امبد برای جستوجو و بازیابی ساخته شده، نه برای تولید متن؛ خروجی آن بردار است، نه نوشته. بهترین کیفیت روی فارسی عمومی و رسمی و روی حوزههای آزمون بالاست؛ متنهای بسیار تخصصی یا پرنویز ممکن است به تنظیم اختصاصی نیاز داشته باشند. مدل سوگیریهای موجود در دادهی خود را بازتاب میدهد. برای تولید و گفتگو از Diba-Base استفاده کنید.
- Downloads last month
- 157