DibaOne X1 (دیباوان X1) یک مدل تصمیمگیریِ فارسیمحور و متنباز (Apache-2.0) برای عاملهای هوش مصنوعی است. به آن یک زمینه (گفتگو، درخواست یا صفحهٔ وب)، یک پرسش و فهرستی از گزینهها میدهید؛ مدل یکی را انتخاب میکند و اطمینانِ کالیبرهشدهی آن را برمیگرداند. X1 متن تولید نمیکند، پس خروجیِ آزادی برای توهم یا تجزیه ندارد. این مدل جایگزینی باز و خودمیزبان برای مدلهای تصمیمگیریِ بسته و فقط-API است و در ابزارخوانیِ عامل و تصمیمهای توسعهٔ نرمافزار، چند برابر دقیقتر از رقیبِ متنبازِ laya است.
چه کارهایی انجام میدهد
- ابزارخوانیِ عامل هوش مصنوعی: انتخابِ ابزار و آرگومانِ درست، یا تشخیصِ «ابزار لازم نیست» (دقتِ ۰٫۹۱۳).
- تصمیمهای مسیرِ توسعهٔ نرمافزار: از دلِ یک درخواستِ آزاد، الگو، مجموعهٔ قابلیتها و لحنِ درست را تشخیص میدهد.
- ناوبریِ وب (Wiki Race): انتخابِ پیوندی که شما را به مقالهٔ هدف نزدیکتر میکند.
- اطمینانِ کالیبره: هر تصمیم یک احتمالِ واقعبینانه دارد تا بدانید کِی به پاسخ اعتماد کنید.
- بدونِ توهم: متن تولید نمیکند؛ خروجیِ آزادی برای اشتباه یا تجزیه نیست.
- متنباز و خودمیزبان: روی سختافزارِ خودتان، بدونِ وابستگی به API بسته.
مشخصات فنی
| نوع | مدل تصمیمگیری (کراسانکودر؛ انتخاب گزینه) |
|---|---|
| پارامترها | کراسانکودرِ ۲۷۸ میلیونی + بازیابِ مرحلهٔ ۱ (۱۱۸ میلیون) |
| معماری | ترنسفورمرِ ۱۲ لایهٔ خانوادهٔ XLM-R + هد امتیازدهی |
| حالتها | fast / balanced (پیشفرض) / best |
| زبانها | فارسیمحور، بههمراه انگلیسی |
| اجرا | ONNX Runtime روی CPU، GPU و مرورگر (fp32/fp16/int8) |
| مجوز | Apache 2.0 (مجاز برای استفادهٔ تجاری) |
مقایسهٔ دقت با laya (دقتِ انتخابِ اول روی ۴٬۳۵۸ پرسشِ آزمون)
همهٔ اعداد، دقتِ انتخابِ اول روی بخشِ آزمونِ منجمدشدهٔ سه بنچمارکاند (نیمی فارسی، نیمی انگلیسی). laya بهصورت zero-shot (بدون آموزش روی این وظایف) سنجیده شد، در حالیکه X1 آموزش دیده است؛ پس این مقایسه نشان میدهد آموزشِ اختصاصی چهقدر اثر دارد.
| مدل | مسیر توسعه (۱٬۶۰۲) | ابزارخوانی (۱٬۰۹۸) | Wiki Race (۱٬۶۵۸) |
|---|---|---|---|
| DibaOne X1 — حالت best | ۰٫۷۶۷ | ۰٫۷۵۱ | ۰٫۲۷۹ |
| DibaOne X1 — balanced (پیشفرض) | ۰٫۷۶۷ | ۰٫۷۵۱ | ۰٫۲۹۰ |
| DibaOne X1 — fast (فقط مرحلهٔ ۱) | ۰٫۱۸۰ | ۰٫۰۹۷ | ۰٫۴۲۸ |
| DibaOne M3 (نسل قبلی) | ۰٫۳۵۱ | ۰٫۱۷۹ | ۰٫۱۸۸ |
| laya (zero-shot) | ۰٫۳۳۶ | ۰٫۱۷۶ | ۰٫۲۸۸ |
| انتخاب تصادفی | ۰٫۱۳۵ | ۰٫۰۹۷ | ۰٫۰۲۹ |
در مسیرِ توسعه حدود ۲٫۲ برابر و در ابزارخوانی حدود ۴٫۳ برابرِ laya. در ناوبریِ Wiki Race شباهتِ ساده (حالت fast) بهتر است و X1 تقریباً همسطحِ laya است.
دقت به تفکیکِ فارسی / انگلیسی
هر خانه بهصورتِ «فارسی / انگلیسی». ابزارخوانیِ فارسی (۰٫۷۰۰) از انگلیسی (۰٫۸۰۳) عقبتر است و بستنِ این فاصله، هدفِ نسخهٔ بعدی (X2) است.
| مدل | مسیر توسعه | ابزارخوانی | Wiki Race |
|---|---|---|---|
| DibaOne X1 (best) | ۰٫۷۶۲ / ۰٫۷۷۲ | ۰٫۷۰۰ / ۰٫۸۰۳ | ۰٫۲۹۵ / ۰٫۲۶۲ |
| laya (zero-shot) | ۰٫۳۰۳ / ۰٫۳۶۸ | ۰٫۱۶۵ / ۰٫۱۸۷ | ۰٫۳۰۹ / ۰٫۲۶۶ |
| DibaOne M3 | ۰٫۳۱۳ / ۰٫۳۸۸ | ۰٫۱۹۰ / ۰٫۱۶۷ | ۰٫۲۲۴ / ۰٫۱۵۱ |
کالیبراسیون (خطای کالیبراسیونِ ECE — کمتر بهتر)
اطمینانِ خروجیِ مدل چهقدر با درستیِ واقعیِ آن همخوان است. X1 با دمای برازششده روی بخشِ dev منتشر شده و خطایش دو تا سه برابر کمتر از laya است.
| مدل | مسیر توسعه | ابزارخوانی | Wiki Race |
|---|---|---|---|
| DibaOne X1 (کالیبرهشده) | ۰٫۰۷۰ | ۰٫۱۰۱ | ۰٫۱۳۰ |
| DibaOne M3 | ۰٫۰۸۸ | ۰٫۱۷۲ | ۰٫۱۰۲ |
| laya (zero-shot) | ۰٫۲۴۷ | ۰٫۳۹۴ | ۰٫۲۳۹ |
نسخههای ONNX (حجم و دقت در حالت best)
هر سه نسخه روی کلِ بخشِ آزمون سنجیده شدهاند. fp16 برای GPU و مرورگر پیشنهاد میشود؛ روی CPU از fp32 استفاده کنید.
| نسخه | حجم | مسیر توسعه | ابزارخوانی | Wiki Race |
|---|---|---|---|---|
| ONNX fp32 | ۱٬۵۰۹ مگابایت | ۰٫۷۶۷ | ۰٫۷۵۱ | ۰٫۲۷۹ |
| ONNX fp16 (پیشنهادی GPU/مرورگر) | ۷۵۵ مگابایت | ۰٫۷۶۵ | ۰٫۷۵۱ | ۰٫۲۸۱ |
| ONNX int8 | ۴۸۲ مگابایت | ۰٫۷۵۰ | ۰٫۷۱۱ | ۰٫۳۲۹ |
شروع سریع
pip install onnxruntime tokenizers numpy huggingface_hub
import sys
from huggingface_hub import snapshot_download
sys.path.insert(0, snapshot_download("Dibachain/DibaOne-X1", allow_patterns=["dibaone_x1.py"]))
from dibaone_x1 import DibaOneX1
x1 = DibaOneX1.from_pretrained("Dibachain/DibaOne-X1", backend="onnx", variant="fp32")
r = x1.decide(
state="user: گزارش فروش هفتهٔ پیش را برای مدیر مالی ایمیل کن.\nTools:\n- send_email\n- sql_query\n- reply_directly",
question="کدام ابزار صدا زده شود؟",
options=["send_email", "sql_query", "reply_directly"],
mode="best", goal="toolcall")
print(r["choice"], round(r["confidence"], 3))
راهنمای کامل، فایلهای GGUF/ONNX و نمونههای بیشتر در کارتِ مدل روی Hugging Face در دسترس است.
دموها و نمایشِ زنده
کاربرد و محدودیتها
X1 برای تصمیمهای تکانتخابی ساخته شده (نه بله/خیر یا درجهبندی). برای ناوبریِ سبک Wiki Race حالتِ fast بهترین است. ابزارخوانیِ فارسی در این نسخه حدود ۱۰ امتیاز از انگلیسی ضعیفتر است و نسخهٔ X2 برای بهبودِ همین ساخته میشود. رقیبِ متنبازِ laya روی GPU سریعتر است (چون همهٔ گزینهها را در یک گذر میخواند)، اما X1 در ابزارخوانی و تصمیمهای توسعه بهمراتب دقیقتر است. این نسخه (x1-v1) در حال توسعهٔ فعال است.
پرسشهای متداول
DibaOne X1 چه فرقی با یک مدل زبانی بزرگ (LLM) دارد؟
X1 متن تولید نمیکند؛ از میان گزینههای مشخص یکی را با اطمینانِ کالیبره انتخاب میکند. برای تصمیمهای ساختارمند مثل ابزارخوانی و مسیریابی، ارزانتر، سریعتر و بدونِ توهم است.
X1 چقدر دقیقتر از laya است؟
در تصمیمهای توسعهٔ نرمافزار حدود ۲٫۲ برابر و در ابزارخوانی حدود ۴٫۳ برابرِ laya (که zero-shot سنجیده شد). دقتِ انتخابِ ابزار ۰٫۷۵۵ و تشخیصِ «ابزار لازم نیست» ۰٫۹۱۳ است.
آیا X1 برای استفادهٔ تجاری آزاد است؟
بله؛ وزنها و کدِ مرجع با مجوزِ متنبازِ Apache 2.0 منتشر شدهاند و روی سختافزارِ خودتان اجرا میشوند.
X1 روی چه سختافزاری اجرا میشود؟
با ONNX Runtime روی CPU، GPU و حتی داخلِ مرورگر؛ نسخههای fp32/fp16/int8 موجود است و دموی زنده کاملاً در مرورگر اجرا میشود.