دستیار هوش مصنوعی «کوروش» نخستین دستیار تحلیل متن به زبان فارسی است که به صورت متنباز عرضه شده و امکان راهاندازی یک مدل زبان بزرگ (LLM) را به شکل محلی و آفلاین فراهم میکند. این دستیار که ویژه زبان فارسی توسعه یافته، به توسعهدهندگان اجازه میدهد بدون وابستگی به سرویسهای ابری، یک هوش مصنوعی متنی را روی سرور یا سیستم شخصی خود اجرا کنند. اهمیت این ابزار از آن جهت است که تاکنون دستیارهای متنی فارسی موجود عمدتاً به صورت پلتفرمهای آنلاین و وابسته به سرورهای ابری عرضه میشدند .
در پژوهشهای اخیر نیز اشاره شده که برخلاف زبان انگلیسی، برای زبان فارسی سیستمهای پیشرفتهٔ تولید محتوا همراه با بازیابی اطلاعات (RAG) بسیار کمیاب بودهاند . منبع
هوش مصنوعی کوروش با رویکردی متنباز و ارائه امکان اجرا در محیطهای داخلی، نویدبخش رفع این خلأ در اکوسیستم هوش مصنوعی فارسی است.
این دستیار توسط تیم توسعه دهنده رخشای برای رشد جامعه پردازش زبانی فارسی آماده سازی شده و برنامه بلند مدت برای توسعه آن در نظر گرفته شده است و به صورت منبع باز در اختیار توسعه دهندگان قرار گرفته است : دریافت مستندات و دستیار هوش مصنوعی کوروش
راهاندازی آسان یک LLM محلی برای زبان فارسی
یکی از برجستهترین ویژگیهای کوروش این است که شما بهسادگی میتوانید یک مدل زبان بزرگ فارسی را به صورت محلی راهاندازی کنید. این دستیار به شکل یک نرمافزار متنباز ارائه شده و پس از دریافت کد منبع و مدلهای مربوطه، به راحتی بر روی سرور یا حتی سیستم شخصی شما اجرا میشود. به این ترتیب، تمامی پردازشهای زبان فارسی بدون نیاز به اینترنت و به شکل کاملاً آفلاین انجام میگیرد. چنین رویکردی علاوه بر کاهش هزینههای سرویسهای ابری، حریم خصوصی دادههای شما را نیز تضمین میکند؛ زیرا هیچ دادهای از دستگاه شما به بیرون ارسال نمیشود .
مدل به کار رفته در کوروش از خانوادهٔ مدلهای LLaMA شرکت متا است که به صورت رایگان و متنباز منتشر شدهاند .
اکوسیستم این دستیار هوش مصنوعی بدین معنی است که شما میتوانید یک هوش مصنوعی فارسی قدرتمند را بدون نیاز به تجهیزات گرانقیمت یا اتصال اینترنت، در اختیار داشته باشید و مطمئن باشید که اطلاعات شما به صورت ۱۰۰٪ خصوصی باقی میماند .
API مستقل و قابل دسترسی برای همهجا
هوش مصنوعی کوروش بعد از نصب روی سرور، یک سرویس API وب ارائه میدهد که از طریق آن میتوانید از هر وبسایت، برنامه یا پلتفرم دیگری با این دستیار زبان فارسی تعامل داشته باشید. این API به شکل ساده طراحی شده تا ادغام آن در پروژههای مختلف آسان باشد. به عنوان مثال، پس از اجرای سرور کوروش، میتوانید یک درخواست HTTP به آدرس /api/ask
ارسال کرده و سوال مدنظر خود را به صورت پارامتر query یا در قالب JSON ارسال کنید و در پاسخ، جواب تحلیلشده توسط مدل را دریافت نمایید. ساختار این API مشابه سایر سرویسهای پرسشوپاسخ متنی است. برای نمونه، در یک پروژهٔ متنباز دیگر، درخواست به صورت زیر انجام میشود:
GET /api/ask?سوال=...
یا از طریق POST یک JSON به شکل:
{ "question": "متن پرسش مورد نظر" }
پاسخ نیز معمولاً یک شئ JSON حاوی متن جواب (و احتمالاً اطلاعات تکمیلی مانند منبع یا میزان اطمینان) خواهد بود. وجود چنین رابط برنامهنویسی کاربردی (API) استانداردی به این معناست که شما میتوانید دستیار کوروش را به راحتی در انواع کاربردها ادغام کنید: از ساخت یک بات گفتگو در وبسایت خود گرفته تا طراحی دستیارهای هوشمند در نرمافزارهای دسکتاپ یا اپلیکیشنهای موبایل. پاسخدهی آنی و بلادرنگ از طریق API این امکان را میدهد که کوروش به عنوان موتور پرسشوپاسخ در سرویسهای مختلف به کار گرفته شود .
به عبارتی، با کوروش میتوانید هوش مصنوعی فارسی را به هر کجا که نیاز دارید ببرید؛ تنها کافیست یک درخواست وب به سرور خود ارسال کنید تا پاسخ هوشمندانه را دریافت نمایید.
جستجوی ترکیبی با FAISS و BM25 برای بازیابی اطلاعات
یکی از چالشهای اصلی در سیستمهای پرسشوپاسخ، یافتن اطلاعات مرتبط با سوال کاربر از میان انبوه دادههاست. کوروش برای حل این مسئله از یک موتور جستجوی ترکیبی بهره میبرد که دو روش قدرتمند را با هم ادغام میکند: جستجوی برداری (Vector Search) با FAISS و جستجوی کلیدواژهای کلاسیک با الگوریتم BM25.
FAISS (Facebook AI Similarity Search) کتابخانهای برای جستجوی برداری است که متنها را بر اساس معنای ضمنی و شباهت مفهومی مقایسه میکند. در مقابل، BM25 یک الگوریتم کلاسیک بازیابی اطلاعات مبتنی بر مدلهای احتمالی و TF-IDF بهبودیافته است که بر کلمات کلیدی دقیق تمرکز دارد . ادغام این دو روش به کوروش امکان میدهد که هم از شباهت معنایی بین پرسش و اسناد بهره ببرد و هم مطابقت دقیق کلمات کلیدی را در نظر بگیرد. نتیجهٔ این ترکیب، پوشش حداکثری اطلاعات مرتبط با پرسش کاربر است؛ به طوری که احتمال نادیده ماندن اسناد مهم کاهش مییابد و در عین حال دقت نتایج نیز حفظ میشود .
به بیان دیگر، جستجوی برداری تضمین میکند که اگر مفهوم سؤال با عباراتی متفاوت بیان شده باشد، باز هم متنهای معنایی مرتبط پیدا شوند، و جستجوی BM25 اطمینان میدهد که اسنادی که مستقیماً حاوی کلمات مهم سؤال هستند از قلم نیفتند .
این رویکرد ترکیبی که در معماریهای مدرن پرسشوپاسخ (RAG) نیز توصیه میشود، منجر به بازیابی هوشمندانهتر و کاهش نرخ پاسخهای نامرتبط یا ناقص خواهد شد .
. در نهایت، اسناد برگزیده از هر دو روش، ترکیب شده و به مدل زبانی کوروش داده میشوند تا پاسخ نهایی را بر اساس آنها تولید کند.
خزندهٔ وب هوش مصنوعی کوروش – سوخترسان موتور دانش دستیار فارسی
«خزندهٔ وب» (Web Crawler) کوروش همان پیشرانهای است که این سوخت اطلاعاتی را از وبِ فارسی جمعآوری، پاکسازی، خرد و ایندکس میکند تا موتور بازیابیِ دوگانهٔ سیستم—ترکیب شباهت برداری (FAISS) و جستوجوی واژگانی (BM25)—بتواند بهترین شواهد را برای مدل زبانی فراهم کند.
چرا خزندهٔ وبِ اختصاصی؟
- تمرکز بر وب فارسی: در هستهٔ پروژه، تمرکز بر گردآوری و ایندکس منابع فارسیِ قابلاعتماد است؛ بهصورت پیشفرض، فهرست «دامنههای مجاز» (Allowlist) فعال است تا خزیدن فقط روی منابع تأییدشده انجام شود (پیشفرض: ویکیپدیای فارسی) و بعداً میتوان خبرگزاریها و مراجع آموزشی معتبر را افزود.
- استقلال کامل از سرویسهای ابری: کل زنجیرهٔ پردازش، از خزیدن تا تولید پاسخ با مدل محلی LLaMA، روی زیرساخت بومی اجرا میشود؛ بنابراین دادهٔ کاربر از محیط خارج نمیشود و سیستم در حالت آفلاین نیز قابلاستفاده است.
- تنباز و توسعهپذیر (MIT): ساختار ماژولار، امکان جایگزینی/ارتقای اجزا را فراهم میکند؛ مجوز MIT توسعه و استقرار در سناریوهای سازمانی را ساده میسازد.
معماری خزیدن تا پاسخ: از «URL» تا «شاهد»
- بذرگذاری و کنترل دامنهها
فرآیند با فهرست ALLOWED_DOMAINS آغاز میشود؛ خزنده فقط همان دامنههای مجاز را میبیند تا ریسک آلودگی داده و سوگیری منبع کاهش یابد. در نسخهٔ متنباز، این فهرست بهصورت پیشفرض با fa.wikipedia.org شروع میشود. - دریافت و تبدیل محتوا
صفحهها واکشی و متن آنها استخراج میشود؛ سپس نرمالسازی فارسی روی متن اعمال میگردد تا اختلافهای نگارشی (نیمفاصله، ی و ک فارسی، اعداد و …) مانع همخوانی معنایی نشود. - حذف تکرار هوشمند با SimHash
برای جلوگیری از تورم پایگاه، روی هر سند SimHash محاسبه میشود؛ اگر سندِ مشابه قبلاً ایندکس شده باشد، از بازایندکس صرفنظر میشود. شناسهٔ SimHash همراه با عنوان، زبان و URL در جدول Document نگهداری میشود. - خُردسازی به «قطعه»های بازیابیپذیر
متن به جملهها و سپس «قطعه»های چندجملهای تقسیم میشود؛ هر قطعه پس از نرمالسازی بهعنوان Chunk ذخیره میشود. - ایندکس دوگانه: برداری + واژگانی
برای هر قطعه، یک بردار معنایی ساخته و در FAISS بهصورت پایدار روی دیسک ذخیره میشود؛ همزمان شاخص BM25 نیز بر پایهٔ توکنهای فارسی ساخته میشود. این ترکیب باعث میشود هم شباهت معنایی و هم انطباق واژگانی پوشش داده شود. - بازیابی شواهد و تولید پاسخ
هنگام پرسش، متنِ پرسش نرمالسازی، بُردار و توکنایز میشود؛ نتایج FAISS و BM25 با وزندهی تجمیع و «بهترین قطعهها» بهعنوان شاهد به مدل LLaMA داده میشوند. نگاشت بین پاسخ نهایی و شواهد در جدول AnswerEvidence ذخیره میشود تا «قابلیت ردیابی شواهد» حفظ گردد.
لایهٔ داده و ماندگاری
- مدلهای پایگاهدادهٔ جنگو: Document (متادیتا + SimHash)، Chunk (قطعههای نرمالشده)، Question/Answer و AnswerEvidence برای پیوند پاسخها به شواهد. این طراحی هم ردیابی منشأ داده را تضمین میکند و هم مسیر بهروزرسانی تدریجی را هموار میسازد.
- بردارها روی دیسک: نمایهٔ FAISS روی دیسک نگهداری و در هر بار افزودن داده بهروزرسانی و ذخیره میشود؛ BM25 در حافظه نگهداری میشود تا پاسخگویی سریع بماند.
تولید پاسخ به کمک مدل زبانی LLaMA (اجرای کاملاً محلی)
موتور تولید پاسخ در کوروش یک مدل زبان بزرگ (LLM) از خانواده LLaMA است. LLaMA (مخفف Large Language Model Meta AI) مجموعهای از مدلهای زبانی قدرتمند توسعهیافته توسط شرکت Meta (مالک فیسبوک) است که از نظر معماری شبیه GPTهای OpenAI میباشند اما با این تفاوت کلیدی که به صورت متنباز و رایگان برای استفاده عمومی منتشر شدهاند .
استفاده از مدل LLaMA این مزیت را دارد که توسعهدهندگان بدون محدودیتهای تجاری میتوانند آن را بومیسازی کرده و برای زبان فارسی بهینه کنند. در واقع تیم توسعهدهندهٔ کوروش با بهرهگیری از این مدل، آن را با مجموعه دادههای متنی فارسی تنظیم دقیق (Fine-tune) کرده است تا برای پاسخگویی به سوالات به زبان فارسی عملکرد مطلوبی داشته باشد.
مزیت دیگر LLaMA اجرای آفلاین آن است؛ یعنی بر خلاف مدلهای بزرگ بسته مانند GPT-4 که تنها از طریق APIهای ابری در دسترساند، مدلهای LLaMA را میتوان دانلود و روی سختافزار محلی اجرا کرد . به لطف بهینهسازیهایی که در نسلهای جدید این مدل انجام شده، حتی نسخههای با تعداد پارامتر کمتر (مانند 7 میلیارد یا 13 میلیارد پارامتر) روی رایانههای شخصی و سرورهای متوسط نیز قابل اجرا هستند .
کوروش از چنین مدلی برای تولید متن و پاسخ بهره میبرد و لذا تمام پردازشهای مربوط به تولید پاسخ در داخل همان سیستمی انجام میشود که کوروش را روی آن نصب کردهاید. این موضوع علاوه بر ارتقای محرمانگی (چون دادههای پرسش کاربر جهت دریافت پاسخ به سرور ثالث ارسال نمیشود)، پایداری سرویس را نیز افزایش میدهد؛ چرا که وابسته به سرعت اینترنت یا شرایط سرویسهای بیرونی نخواهید بود. مدل LLaMA توانایی تولید پاسخهای طبیعی و روان را دارد و به خوبی میتواند با بهرهگیری از اسناد بازیابیشده، پاسخهای دقیق و مبتنی بر دانش روز ارائه دهد – رویکردی که از آن با عنوان ترکیب دانش بیرونی با مدل زبانی یاد میشود.
به طور خلاصه، کوروش ترکیب قدرت یک مدل زبانی بزرگ و دانش بهروز را در یک بستهٔ کاملاً محلی و فارسیزبان در اختیار شما قرار میدهد.
رابط پرسشوپاسخ (/api/ask) و تجربهٔ استفاده از کوروش
رابط اصلی تعامل با این دستیار همانطور که اشاره شد، یک API تحت وب است که از آدرس /api/ask
در دسترس قرار میگیرد. این رابط به گونهای طراحی شده که پرسش کاربر را دریافت کرده و پس از طی مراحل پردازش و تحلیل، پاسخ نهایی را برمیگرداند. در پشت صحنه، فرآیند به این شکل است که به محض دریافت سؤال، ابتدا ماژول بازیابی اطلاعات کوروش وارد عمل شده و با استفاده از روش ترکیبی FAISS/BM25 مرتبطترین متون و دانش موجود در پایگاه دانش را پیدا میکند. سپس مدل زبانی LLaMA این متون بازیابیشده را به همراه خود پرسش به عنوان زمینه (Context) ورودی دریافت میکند و بر اساس آنها پاسخ مناسب را تولید مینماید. این پاسخ در قالب تعیینشده (مثلاً متن ساده یا JSON) از طریق API به کلاینت (کاربر یا برنامهٔ درخواستدهنده) بازگردانده میشود.
توسعهدهندگان میتوانند بنا به نیاز خود، خروجی API را در برنامههایشان پردازش و ارائه کنند. برای نمونه، میتوان یک رابط کاربری چتمانند طراحی کرد که پرسش کاربر را گرفته و پاسخ JSON بازگشتی از کوروش را به صورت متنی قابل خواندن نمایش دهد. یا میتوان از این API در یک ربات پیامرسان (مثلاً تلگرام) استفاده کرد تا کاربران نهایی از طریق چت، سوالاتشان را مطرح کنند و کوروش پاسخ دهد. به دلیل سرعت بالای پردازش محلی و عدم نیاز به ارتباطات شبکهای مکرر، تجربهٔ کاربری در این حالت میتواند بسیار سریع و بیوقفه باشد .
در واقع کوروش میتواند به عنوان هستهٔ هوشمند بسیاری از سرویسهای فارسیزبان عمل کند: از پاسخدهی خودکار به سوالات متداول در سایتها گرفته تا تحلیل اسناد و گزارشهای داخلی یک سازمان به زبان فارسی، همگی با یک واسط پرسشوپاسخ یکسان قابل پیادهسازی هستند.
. در واقع کوروش میتواند به عنوان هستهٔ هوشمند بسیاری از سرویسهای فارسیزبان عمل کند: از پاسخدهی خودکار به سوالات متداول در سایتها گرفته تا تحلیل اسناد و گزارشهای داخلی یک سازمان به زبان فارسی، همگی با یک واسط پرسشوپاسخ یکسان قابل پیادهسازی هستند.
خودداری از تولید محتوای نادرست (hallucination)
برای درک بهتر نحوهٔ استفاده، فرض کنید مجموعهای از مقالات یا مستندات فارسی را به عنوان دانشپسزمینه به کوروش دادهاید. اکنون با فراخوانی API پرسشوپاسخ میتوانید پرسشی مانند «تأثیر حافظ بر شعر معاصر چه بوده است؟» را ارسال کنید؛ کوروش با جستجو در میان مستندات (مثلاً مقالات ادبیات) به دنبال اطلاعات مرتبط با حافظ و شعر معاصر میگردد و سپس پاسخی مستدل ارائه میدهد. خروجی ممکن است پاسخی متنی شامل توضیحی دربارهٔ نفوذ حافظ بر شاعران معاصر باشد که با شواهد موجود در اسناد پشتیبانی شده است. همهٔ این مراحل در کسری از ثانیه و بدون دخالت انسان انجام میشود. همچنین اگر پرسش خارج از دامنهٔ دانش موجود باشد، کوروش میتواند با اعلام عدم وجود پاسخ مناسب، از تولید محتوای نادرست (hallucination) خودداری کند. این رفتار نتیجهٔ طراحی دقیق سیستم و استفاده از دانشبنیان بودن پاسخها است .
آفلاین بودن و بینیازی از سرویسهای ابری
یکی از دغدغههای مهم توسعهدهندگان و سازمانها در استفاده از ابزارهای هوش مصنوعی، امنیت و محرمانگی دادهها است. کوروش با ارائهٔ یک راهکار کاملاً آفلاین، این دغدغه را برطرف میکند. شما برای بهرهگیری از تواناییهای این دستیار نیاز به هیچگونه سرویس ابری یا ارتباط اینترنتی نخواهید داشت. تمامی اجزای مورد نیاز (از جمله مدل زبانی و شاخصهای جستجو) به صورت محلی در اختیار شما قرار میگیرند. این ویژگی به خصوص برای نهادها یا شرکتهایی که با دادههای حساس سر و کار دارند حائز اهمیت است؛ زیرا با استفاده از کوروش میتوانند یک دستیار هوشمند فارسیزبان درونسازمانی داشته باشند بیآنکه نگران نشت اطلاعات به بیرون باشند .
بینیازی از زیرساخت ابری همچنین به این معناست که هزینههای عملیاتی به شکل چشمگیری کاهش مییابد. در مدلهای ابری، معمولاً استفاده از APIهای زبان بزرگ (مانند GPT-5 یا GPT-4) مستلزم پرداخت هزینه بهازای هر پرسش یا به صورت اشتراک ماهانه است. در مقابل، کوروش پس از یکبار راهاندازی، بدون هزینهٔ اضافی به هر تعداد پرسش پاسخ میدهد. علاوه بر این، در سناریوهایی که دسترسی به اینترنت محدود یا قطع است (مثلاً در محیطهای آفلاین، نقاط دورافتاده یا به دلایل امنیتی)، سیستم شما همچنان با تکیه بر کوروش قادر به ارائهٔ خدمات هوشمند خواهد بود. این خودکفایی زیرساختی یک مزیت استراتژیک محسوب میشود که به شما امکان میدهد هوش مصنوعی را به لبهها (Edge) ببرید – جایی که شاید اینترنت پایدار در دسترس نباشد اما نیاز به پردازش هوشمند حس میشود.
در مجموع، دستیار هوش مصنوعی کوروش با ترکیب قابلیتهای پردازش زبان طبیعی پیشرفته و بازیابی دانش در یک پلتفرم متنباز، فرصتی نوین برای توسعهدهندگان و پژوهشگران ایرانی فراهم کرده است. شما میتوانید از این ابزار برای ساخت انواع برنامههای کاربردی بهره ببرید: از سیستمهای پرسشوپاسخ تخصصی در حوزههای پزشکی، حقوقی و علمی گرفته تا دستیارهای شخصی که به کاربران در انجام امور روزمره به زبان فارسی کمک میکنند. تمامی این کاربردها بدون نیاز به اینترنت، با حفظ کامل حریم خصوصی و با اتکا بر توان پردازشی سیستم خودتان میسر شده است. کوروش را میتوان گامی مهم در جهت خودکفایی هوش مصنوعی زبانی برای فارسیزبانان دانست؛ گامی که امکان میدهد شکاف میان فناوریهای پردازش زبان انگلیسی و فارسی کمتر شود و توسعهٔ محصولات مبتنی بر هوش مصنوعی در کشور شتاب گیرد. با انتشار متنباز کوروش، از این پس جامعهٔ توسعهدهندگان میتوانند در بهبود آن سهیم شده و مدلهای بهینهتری را برای زبان و فرهنگ فارسی ایجاد کنند. این آغاز راهی است که در آن هوش مصنوعی فارسی، کاملاً بومی و در عین حال همگام با دانش روز دنیا در خدمت پیشرفت قرار میگیرد.