پرش به محتوای اصلی
پرش به محتوای مقاله

نقشه راه استقرار مدل‌های زبانی محلی با Ollama و معماری RAG

·۱۸ تیر ۱۴۰۵۶ دقیقه مطالعه
راهنما
بررسی عمیق هوش مصنوعی محلی: چرا یک سایت آموزشی مرا از API پولی بی‌نیاز کرد؟
بررسی عمیق هوش مصنوعی محلی: چرا یک سایت آموزشی مرا از API پولی بی‌نیاز کرد؟
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

ارائه یک متدولوژی مهندسی‌شده برای ترکیب Ollama و ComfyUI در یک استک واحد، به‌جای تکیه بر آموزش‌های پراکنده و سطحی.

اگر امروز برای استفاده از مدل‌های هوش مصنوعی ماهانه هزینه پرداخت می‌کنید، احتمالاً از نشت داده‌های حساس سازمانتان به سرورهای خارجی می‌ترسید. باید بدانید که با تسلط بر Docker و Python، می‌توانید یک مرکز هوش مصنوعی خصوصی را روی سخت‌افزار خودتان بنا کنید و APIهای پولی را با سرویس‌های محلی جایگزین کنید.

به گزارش وب‌سایت ferryman1980.github.io در تاریخ ۹ جولای ۲۰۲۶، یک نقشه راه جامع برای تکنسین‌ها منتشر شده است تا بدون وابستگی به شخص ثالث و بدون نگرانی از نشت داده‌ها به شرکت‌های خارجی، استک AI خود را بسازند. برای بسیاری از توسعه‌دهندگان، انتقال به هوش مصنوعی محلی شبیه به یک شکاف عمیق میان مستندات رسمی که بیش از حد انتزاعی هستند و آموزش‌های ویدیوئی که بسیار سطحی‌اند، به نظر می‌رسد. این راهنما برخلاف آموزش‌های گذرا، استقرار محلی را به جای یک نصب ساده نرم‌افزاری، یک پروژه مهندسی می‌بیند. در واقع، این منبع مانند یک نقشه دقیق برای ایجاد یک مرکز اطلاعاتی خصوصی است که روی سخت‌افزار شخصی شما اجرا می‌شود و به‌طور خاص برای کسانی طراحی شده که می‌خواهند وابستگی به APIها را قطع کنند اما فاقد یک متدولوژی سیستماتیک برای استقرار هستند.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی حاکمیت داده‌ها اشاره کردیم، کنترل بر لایه‌ی استنتاج، تنها راه رسیدن به امنیت مطلق است.

بستر استقرار هوش مصنوعی محلی

این منبع یک نرم‌افزار قابل دانلود نیست، بلکه یک وب‌سایت آموزشی کامل و یک راهنمای جامع است. طبق مستندات این سایت، مخاطبان هدف کاربرانی فنی هستند که پیش از این با Docker و مفاهیم پایه پایتون آشنایی دارند. برای کسانی که به دنبال نصب‌های «تک‌کلیکی» و بدون کد (Zero-code) هستند، این سایت توصیه نمی‌شود. با این حال، برای مخاطبان هدف، این راهنما به‌طور قابل‌توجهی زمان صرف شده برای آزمون و خطاهای تکراری در هنگام راه‌اندازی سرویس‌های هوش مصنوعی خصوصی را کاهش می‌دهد.

استقرار مدل‌های زبانی محلی (LLM)

این راهنما برای ایجاد جایگزینی محلی برای ChatGPT در محیط‌های لینوکس، مک و ویندوز، ترکیب Ollama و Open WebUI را در اولویت قرار می‌دهد. فرآیند استقرار از یک توالی دستور مشخص پیروی می‌کند:

  • نصب Ollama: اجرا از طریق دستور curl رسمی توصیه شده: (curl -fsSL https://ollama.com/install.sh | sh).
  • فراخوانی مدل: دانلود یک مدل کاربردی ۷-۸ میلیارد پارامتری از طریق دستور ollama pull llama3.1:8b.
  • راه‌اندازی رابط کاربری: اجرای Open WebUI از طریق Docker با استفاده از دستوری که پورت ۳۰۰۰:۸۰۸۰ را مشخص کرده و Gateway میزبان را برای ارتباطات داخلی مپ می‌کند.

بر اساس تست‌های عملی، مدل Llama 3.1:8b روی یک مک‌بوک پرو M1 با ۱۶ گیگابایت رم، به سرعت استنتاج (Inference) — لحظه‌ای که مدل واقعاً جواب تولید می‌کند، شبیه به خودِ آشپزی و نه دوره‌ی آموزش آشپزی — حدود ۱۵ توکن در ثانیه می‌رسد. در یک تست کاربردی، پاسخ به یک سؤال ۵۰۰ کلمه‌ای حدود ۴ ثانیه زمان برد. اگرچه این سرعت به‌طور قابل‌توجهی کمتر از پاسخ‌های تقریباً ۰.۵ ثانیه‌ای GPT-4o است، اما هزینه آن صفر است و حریم خصوصی داده‌ها را به‌طور کامل تضمین می‌کند.

معماری پایگاه دانش RAG

برای عبور از چت‌های ساده و تعاملی، این راهنما یک خط‌لوله کامل تولید بازیابی‌افزا (RAG) — شبیه به دانش‌آموزی که قبل از جواب دادن، اول کتاب درسی را باز می‌کند و از آن نقل می‌آورد — را با استفاده از LangChain و Chroma ترسیم می‌کند تا مدل بتواند بر اساس اسناد شخصی پاسخ دهد.

پیاده‌سازی فنی این معماری به شرح زیر است:

  • مدل بردارساز (Embedding Model): استفاده از OllamaEmbeddings با مدل nomic-embed-text برای تبدیل متن به بردار.
  • پردازش اسناد: به‌کارگیری RecursiveCharacterTextSplitter با اندازه تکه‌بندی (chunk_size) ۵۰۰ و هم‌پوشانی (chunk_overlap) ۵۰ برای مدیریت بهتر متن‌های طولانی.
  • بارگذاری داده: استفاده از PyPDFLoader برای خواندن و بلعیدن (ingest) اسناد PDF.
  • ذخیره‌سازی برداری: ذخیره تکه‌های متن در یک Vector Store با استفاده از Chroma.from_documents و تعیین مسیر ذخیره‌سازی در ./chroma_db.
  • مکانیزم پرس‌وجو: تنظیم بازیاب (Retriever) با پارامتر search_kwargs={"k": 3} برای استخراج سه مرتبط‌ترین سند پیش از تولید پاسخ نهایی توسط مدل.

یک نکته حیاتی و فنی این است که مدل nomic-embed-text باید ابتدا از طریق دستور ollama pull nomic-embed-text فراخوانی شود. بدون این گام صریح، سیستم خطای «مدل یافت نشد» (model not found) می‌دهد؛ این یک نقطه کور رایج است که می‌تواند باعث توقف فرآیند نصب برای چندین دقیقه شود.

تولید تصویر محلی

برای بخش بصری و هوش مصنوعی مولد تصویر، راهنما گردش‌کار اتوماسیون ComfyUI را از طریق Docker Compose ارائه می‌دهد. این پیکربندی از تصویر yanwk/comfyui-boot:latest استفاده کرده و پورت‌های ۸۱۸۸:۸۱۸۸ را مپ می‌کند. در فایل YAML، مدل به‌طور مشخص قابلیت‌های GPU انویدیا را از طریق بلوک‌های deploy و resources رزرو می‌کند تا شتاب سخت‌افزاری تضمین شود.

تست‌ها روی کارت گرافیک RTX 3060 (۱۲ گیگابایت VRAM) نشان می‌دهد که تولید یک تصویر ۵۱۲x۵۱۲ حدود ۳.۲ ثانیه زمان می‌برد. ذکر شده است که کیفیت خروجی نزدیک به SDXL است، هرچند کمی کندتر از بازه ۱ تا ۲ ثانیه‌ای Midjourney است؛ اما مزیت اصلی این است که کل این فرآیند کاملاً رایگان است.

بنچمارک‌های عملکرد در دنیای واقعی

زمان‌های واقعی نصب اغلب به‌دلیل وابستگی‌های محیطی، بیشتر از تخمین‌های خوش‌بینانه راهنما است. بر اساس بنچمارکی که روی مک‌بوک M1 (۱۶ گیگابایت رم) با اینترنت ۱۰۰ مگابیت بر ثانیه انجام شد، نتایج seguinte بود:

  • استقرار Ollama: ۲۲ دقیقه زمان برد (تخمین: ۱۵ دقیقه). این شکاف ۴۶ درصدی به‌دلیل کندی دانلود مدل llama3.1:8b بود که حجم آن تقریباً ۴.۵ گیگابایت است.
  • راه‌اندازی RAG: ۵۱ دقیقه زمان برد (تخمین: ۳۰ دقیقه). دلیل این شکاف ۷۰ درصدی، تداخل نسخه‌های پایتون بود که هنگام نصب وابستگی‌های Chroma رخ داد.
  • استقرار Stable Diffusion: ۳۵ دقیقه زمان برد (تخمین: ۲۰ دقیقه). این شکاف ۷۵ درصدی به‌دلیل حذف گام بررسی درایور CUDA در آموزش بود.

این نتایج نشان می‌دهد که اگرچه مراحل فنی دقیق هستند، اما زمان لازم برای آماده‌سازی محیط به‌شدت دست‌کم گرفته شده است. نکته قابل توجه این است که راهنما اصلاً پیشنهاد نمی‌کند از محیط‌های مجازی (Virtual Environments) برای جلوگیری از تداخل‌های pip استفاده شود.

تله‌های بحرانی استقرار

کاربرانی که در محیط‌های شبکه محدود هستند، ممکن است با افت سرعت دانلود مدل‌های Ollama تا ۲۰۰ کیلوبایت بر ثانیه مواجه شوند، که در این صورت دانلود یک مدل ۴.۵ گیگابایتی می‌تواند بیش از ۶ ساعت طول بکشد. راهنما پیشنهاد می‌کند از سایت‌های Mirror یا انتقال دستی فایل‌ها به دایرکتوری ~/.ollama/models به عنوان راهکار جایگزین استفاده شود.

مانع رایج دیگر، دیوار احراز هویت Open WebUI است. به‌طور پیش‌فرض، سیستم از کاربر می‌خواهد که حساب کاربری ثبت کند. با افزودن متغیر محیطی -e WEBUI_AUTH=false به دستور docker run در زمان اجرا، کاربران می‌توانند این مرحله را به‌طور کامل دور بزنند.

سازگاری نسخه‌ها به‌ویژه در Chroma یک ریسک جدی است. راهنما از نسخه ۰.۴.x استفاده می‌کند، اما APIهای جدید در نسخه ۰.۵.x تغییرات ساختاری (breaking changes) ایجاد کرده‌اند. کاربرانی که با خطای AttributeError: module 'chromadb' has no attribute 'PersistentClient' مواجه می‌شوند، توصیه می‌شود دقیقاً نسخه pip install chromadb==0.4.24 را نصب کنند تا مشکل حل شود.

محدودیت سخت‌افزاری آخرین سد است. نسخه کوانتایز شده Q4 مدل Llama 3.1:8b به حدود ۶ گیگابایت حافظه ویدیویی (VRAM) نیاز دارد. سخت‌افزارهایی که تنها ۴ گیگابایت VRAM دارند، با خطای Out-of-Memory (OOM) مواجه خواهند شد. راهکارهای پیشنهادی در این مورد، تغییر مدل به نسخه‌های 3B یا استفاده از استنتاج روی CPU است، هرچند دومی تقریباً ۱۰ برابر کندتر است.

تحلیل تطبیقی: هوش مصنوعی محلی در برابر جایگزین‌ها

در مقایسه با سایر منابع، این وب‌سایت جایگاه منحصر‌به‌فردی را اشغال کرده است:

  • در برابر مستندات رسمی LangChain: مستندات رسمی عمیق‌تر اما تمایل دارند بیش از حد تئوریک باشند. این سایت کاربرد عملی بالایی دارد و کدهای آن به‌طور مستقیم قابل اجراست.
  • در برابر یوتیوب (مثلاً Fireship): آموزش‌های ویدیویی اغلب سطحی هستند و جزئیات بحرانی پیاده‌سازی را حذف می‌کنند. این منبع عمق محتوایی متوسط تا بالایی را ارائه می‌دهد.
  • سئو و دسترسی: سایت سئوی بالایی برای عباراتی مانند "Local AI" و "Local Deployment" دارد که آن را به یک نقطه کشف قوی برای تکنسین‌ها تبدیل می‌کند.

این چرخش فنی، هوش مصنوعی را از یک «سرویس اشتراکی» به یک «قطعه از زیرساخت محلی» تبدیل می‌کند. برای توسعه‌دهنده فردی، این یعنی جایگزینی صورت‌حساب ماهانه با یک سرمایه‌گذاری سخت‌افزاری یک‌باره و چند ساعت پیکربندی. برای تیم‌های کوچک، این کار یک محیط امن برای داده‌های اختصاصی ایجاد می‌کند که هرگز شبکه محلی را ترک نمی‌کند.

با این حال، بهای این تغییر، «مالیات وابستگی» (dependency tax) است. هوش مصنوعی محلی شما را مجبور می‌کند مدیریت محیط‌های مجازی پایتون، درایورهای CUDA و Volumeهای داکر را بر عهده بگیرید؛ کارهایی که APIهای پولی آن‌ها را انتزاعی کرده و پنهان می‌کنند. ارزش این راهنما در یادداشت‌های مهندسی‌اش است که این اصطکاک‌ها را صادقانه‌تر از یک صفحه مارکتینگ توصیف می‌کند.

امتیاز نهایی و توصیه

در مقیاس ۱ تا ۵، این منبع امتیازات زیر را می‌گیرد:

  • عملکرد: ۳.۵ (سناریوهای اصلی را پوشش می‌دهد اما محتوایی درباره Agentها و Fine-tuning ندارد).
  • کارایی: ۴.۰ (خودِ راهنما بهینه است، هرچند ابزارهای خارجی متغیرند).
  • ارزش: ۵.۰ (کاملاً رایگان است و هزینه‌های API را حذف می‌کند).
  • مستندات: ۳.۰ (کدها کار می‌کنند اما جزئیات آماده‌سازی محیط و بخش FAQ غایب است).
  • به‌روزرسانی: ۲.۵ (یک سایت شخصی است و تداوم نگهداری آن نامعلوم است).

امتیاز کل: ۳.۶ از ۵.۰

اگر مبتدی هستید و با کدنویسی آشنایی ندارید (Zero-code beginner)، این مراحل ممکن است دشوار و طاقت‌فرسا باشد. اکوسیستم فعلی هنوز فاقد یک نصب‌کننده «تک‌کلیکی» واقعی و بدون نقص برای خط‌لوله‌های پیچیده RAG است. تخصص فنی، در واقع بهای ورود برای رسیدن به «حاکمیت واقعی هوش مصنوعی» است. گام بعدی شما باید بررسی دقیق مقدار VRAM و فضای دیسک سخت‌افزار محلی‌تان باشد تا متوجه شوید قبل از تلاش برای استقرار، واقعاً کدام سطح از مدل‌ها را پشتیبانی می‌کنید.

گام بعدی شما

  • مقدار VRAM و فضای دیسک سخت‌افزار محلی خود را بررسی کنید تا متوجه شوید کدام سطح از مدل‌ها (3B یا 8B) را پشتیبانی می‌کنید.
  • برای جلوگیری از تداخل کتابخانه‌ها، حتماً از محیط‌های مجازی (venv یا conda) پیش از نصب Chroma استفاده کنید.
  • برای دور زدن احراز هویت در Open WebUI، متغیر محیطی WEBUI_AUTH=false را در دستور اجرا قرار دهید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است؛ برای درک تأثیر تراشه‌های جدید بر استنتاج محلی، به تحلیل ما درباره‌ی نسل جدید پردازنده‌های گرافیکی مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد با انتقال پردازش از ابر به لبه، وابستگی استراتژیک سازمان‌ها به شرکت‌های آمریکایی را کاهش می‌دهد. اعتبار این روش بر اساس تجربه عملی توسعه‌دهندگانی است که امنیت داده‌ها را بر سرعت پاسخ‌دهی ترجیح می‌دهند.

تأثیر برای ایران

به‌دلیل تحریم‌ها و محدودیت‌های دسترسی به APIهای OpenAI و Anthropic، استقرار مدل‌های وزن‌باز (Open Weights) محلی، تنها راه دسترسی پایدار و بدون سانسور برای توسعه‌دهندگان ایرانی است.

·نگاه ما
تحریریه دات‌هوش

تلاش برای جایگزینی APIهای تجاری با استقرار محلی، نشان‌دهنده گذار از «دوران مصرف» به «دوران مالکیت» در ابزارهای AI است. نکته کلیدی این است که هزینه واقعی استقرار محلی، نه در خرید سخت‌افزار، بلکه در «زمان مهندسی» برای مدیریت وابستگی‌های نرم‌افزاری (مانند CUDA و Docker) نهفته است. این روند احتمالاً منجر به ظهور ابزارهای مدیریت Orchestration ساده‌تر برای کاربرانی می‌شود که تخصص DevOps ندارند اما به حریم خصوصی نیاز دارند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.