دیبا-امبد (Diba-Embed) نخستین مدلِ بردارسازیِ متن (Text Embedding) شرکت دیباچین و اولین مدلِ امبدینگِ خانوادهٔ دیباست — مدلی فارسیمحور که متنِ فارسی و انگلیسی را به بردارهای عددی تبدیل میکند تا متنهای هممعنا در فضای برداری به هم نزدیک شوند. ویژهٔ کاربردهای فارسیزبان و ایرانی، جایی که بیشترِ مدلهای متنباز ضعیف عمل میکنند. از آن برای جستوجوی معنایی، RAG، تطبیقِ پرسشهای پرتکرار، خوشهبندی و بازچینشِ نتایج استفاده کنید.
چه کارهایی انجام میدهد
- جستوجوی معناییِ فارسی: یافتنِ مرتبطترین سند برای یک پرسشِ فارسی، حتی وقتی کلمهها فرق دارند.
- بازیابی برای RAG: یافتنِ بخشهای درستِ اسنادِ شما تا پاسخِ یک مدلِ گفتوگو مانند دیبا بر پایهٔ همان اسناد ساخته شود.
- تطبیقِ میانزبانی: یک پرسشِ فارسی میتواند سندِ انگلیسی را پیدا کند و برعکس.
- خوشهبندی و حذفِ تکراری: گروهبندیِ تیکتها، نظرها یا محصولاتِ مشابه و تشخیصِ موارد نزدیک.
- بازچینش نتایج (Reranking): مرتبکردنِ بخشهای نامزد بر اساسِ ارتباط با پرسش.
مشخصات فنی
| نوع | مدل بردارسازیِ متن (متن ← بردار) |
|---|---|
| تعداد پارامتر | حدود ۰٫۶ میلیارد |
| اندازهٔ بردار | ۱۰۲۴ (قابل کاهش تا ۳۲ با روش Matryoshka) |
| بیشینهٔ طول ورودی | ۳۲٬۷۶۸ توکن |
| زبانها | چندزبانه، بهینه برای فارسی و انگلیسی |
| حجم | حدود ۱٫۲ گیگابایت · قابل اجرا روی CPU |
| سنجهٔ شباهت | کسینوسی |
| مجوز | Apache 2.0 (متنباز) |
آزمونِ بازیابیِ فارسی
روی ۴۰۰ جفت پرسش و پاسخِ فارسی (از دادهٔ مستندِ خودِ دیبا: تاریخ ایران، موضوعاتِ معاصر و پرسشهای شرکت دیباچین) سنجیده شد. هر پرسش باید پاسخِ درستِ خود را از میان کلِ مجموعه بازیابی کند — روی CPU و بدون آموزشِ اختصاصی.
| معیار | نتیجه |
|---|---|
| Recall@1 | ۸۲٪ |
| Recall@3 | ۹۵٪ |
| MRR | ۰٫۸۹ |
در ۹۵٪ موارد، پاسخِ درست میان سه نتیجهٔ نخست است؛ برای جستوجو و RAG فارسیِ قابلِ اتکا کافی است.
شروع سریع
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) # بیشترین امتیاز به سند درست اشاره میکند
llama-server -m Diba-Embed-Q8_0.gguf --embedding --pooling last -c 2048 --port 8080
راهنمای کامل، فایلهای GGUF/ONNX و نمونههای بیشتر در کارتِ مدل روی Hugging Face در دسترس است.
دموها و نمایشِ زنده
کاربرد و محدودیتها
دیبا-امبد برای جستوجو و بازیابی ساخته شده، نه برای تولیدِ متن؛ خروجی آن بردار است نه نوشته. بهترین کیفیت روی فارسیِ عمومی و رسمی است؛ متنهای بسیار تخصصی یا پرنویز ممکن است به تنظیمِ اختصاصی نیاز داشته باشند. برای تولید و گفتوگو از دیبا (Diba-Base) استفاده کنید.
پرسشهای متداول
دیبا-امبد چه کاری انجام میدهد؟
متن فارسی و انگلیسی را به بردار عددی تبدیل میکند تا بتوان جستوجوی معنایی، RAG، خوشهبندی و بازچینش انجام داد. خروجی آن بردار است، نه متن.
آیا دیبا-امبد برای RAG فارسی مناسب است؟
بله؛ در آزمونِ بازیابیِ فارسی به Recall@3 برابر ۹۵٪ و MRR برابر ۰٫۸۹ رسیده که برای جستوجو و RAG فارسیِ قابلاتکا کافی است.
اندازهٔ بردارِ خروجی چقدر است؟
۱۰۲۴ بُعد که با روش Matryoshka میتوان تا ۳۲ بُعد کاهشش داد تا حافظه و سرعت بهینه شود.
آیا روی CPU اجرا میشود؟
بله؛ حجمِ وزنها حدود ۱٫۲ گیگابایت است و فایلهای GGUF آماده برای اجرای CPU با llama.cpp دارد.