نقشه راه اجرای محلی هوش مصنوعی با اولاما (Ollama)

راهنمای جامع و گام‌به‌گام راه‌اندازی و اجرای مدل‌های زبانی بزرگ به صورت کاملاً محلی، رایگان و خصوصی روی لپ‌تاپ شخصی با ابزار Ollama.

🎧 خلاصه صوتی مقاله (پادکست ۲ دقیقه‌ای):

فرصت مطالعه ندارید؟ چکیده این مطلب را همین‌جا گوش دهید:

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

ویژگیمقدار / وضعیت
نام ابزارOllama
هزینه۱۰۰٪ رایگان و متن‌باز
سیستم‌عامل‌های پشتیبانی‌شدهویندوز، مک‌او‌اس، لینوکس
وضعیت دسترسی ایراندارای محدودیت منطقه‌ای برای ایران (نیازمند دقت در دریافت فایل‌های نصبی)
سطح مهارت مورد نیازمتوسط (آشنایی پایه با محیط خط فرمان)

مرحله اول: آشنایی با مدل‌های متن‌باز و نصب ابزار Ollama

پیش از هر چیز، باید بدانیم مدل‌های متن‌باز (Open-Weights) چه تفاوتی با مدل‌های بسته‌ی تجاری دارند. در این مدل‌ها، وزن‌ها و پارامترهای شبکه عصبی در اختیار عموم قرار می‌گیرد تا هرکسی بتواند آن‌ها را روی سخت‌افزار خود بارگذاری کند. اولاما ابزاری سبک و بهینه‌سازی‌شده است که مدیریت، دانلود و اجرای این مدل‌ها را به ساده‌ترین شکل ممکن در سیستم‌عامل‌های مختلف امکان‌پذیر می‌کند.

برای شروع کار، باید بسته نصبی متناسب با سیستم‌عامل خود را از وب‌سایت رسمی دریافت و نصب کنید. پس از اتمام نصب، سرویس اولاما در پس‌زمینه سیستم شما فعال می‌شود. برای اطمینان از نصب درست و بررسی عملکرد صحیح آن، ترمینال (Terminal در مک/لینوکس یا Command Prompt/PowerShell در ویندوز) را باز کرده و دستور زیر را وارد کنید:

ollama --version

این دستور نسخه نصب‌شده‌ی ابزار را بر روی سیستم شما نمایش می‌دهد. خروجی موفقیت‌آمیز به شما نشان می‌دهد که موتور اجرایی آماده دریافت و راه‌اندازی مدل‌هاست. در این مرحله نیازی به هیچ‌گونه تنظیمات پیچیده‌ای نیست و همeth ابزار به صورت پیش‌فرض آماده به کار است.

مرحله دوم: دانلود و اجرای مدل‌های متنی سبک روی سیستم‌عامل

حالا که زیرساخت آماده است، باید یک مدل زبانی را به انتخاب خود روی سیستم بارگذاری کنید. انتخاب مدل باید بر اساس میزان رم (RAM) و حافظه گرافیکی (VRAM) سیستم شما انجام شود. مدل‌های سبک‌تر مثل Llama 3 یا Phi-3 با حجم‌های کمتر (مثلاً نسخه ۷ میلیارد پارامتری یا کمتر) به راحتی روی لپ‌تاپ‌های معمولی با ۸ یا ۱۶ گیگابایت رم اجرا می‌شوند.

برای دانلود و اجرای مستقیم یک مدل، از دستور run استفاده می‌شود. به عنوان مثال، برای اجرای مدل محبوب Llama 3 با حجم ۸ میلیارد پارامتر، دستور زیر را در ترمینال وارد کنید:

ollama run llama3

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

مرحله سوم: اتصال مدل‌های محلی به محیط‌های برنامه‌نویسی و ابزارهای ویرایش کد

قدرت واقعی Ollama زمانی آشکار می‌شود که آن را به عنوان یک موتور هوش مصنوعی پشت صحنه در پروژه‌های نرم‌افزاری یا ابزارهای توسعه کد خود به کار بگیرید. اولاما دارای یک وب‌سایت و رابط برنامه‌نویسی کاربردی (API) محلی است که روی پورت پیش‌فرض 11434 گوش می‌دهد. این یعنی هر نرم‌افزار یا کتابخانه‌ای که از پروتکل‌های استاندارد پشتیبانی کند، می‌تواند به این مدل متصل شود.

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

import ollama

# ارسال درخواست به مدل محلی لاما ۳
response = ollama.chat(model='llama3', messages=[
  {
    'role': 'user',
    'content': 'سلام! یک توضیح کوتاه درباره هوش مصنوعی محلی بده.',
  },
])

# چاپ پاسخ دریافتی از مدل
print(response['message']['content'])

در این کد، تابع ollama.chat یک پیام متنی را به موتور محلی ارسال می‌کند. بخش model مشخص می‌کند که از کدام مدل در حال اجرا استفاده شود و بخش messages نقش مکالمه را تعریف می‌کند. خروجی این اسکریپت، پاسخ تولید شده توسط هوش مصنوعی خواهد بود که بدون نیاز به اینترنت و با سرعت بالا روی پردازنده یا کارت گرافیک شما تولید شده است. برای توسعه‌گرانی که به مباحث پیشرفته‌تر هوش مصنوعی علاقه‌مندند، مطالعه مسیرهای یادگیری تخصصی مانند راهنمای جامع LLM Course می‌تواند دید بسیار بازی نسبت به ساختار درونی این مدل‌ها بدهد.

مرحله چهارم: پروژه‌ای عملی برای ساخت ربات پرسش‌وپاسخ آفلاین روی فایل‌های متنی شخصی

در این مرحله، تمامی آموخته‌های خود را در قالب یک پروژه‌ی کاربردی ترکیب می‌کنیم: ساخت یک دستیار آفلاین که می‌تواند متن‌های دلخواه ما را بخواند و به سوالات ما درباره آن‌ها پاسخ دهد. این تکنیک که به RAG (Retrieval-Augmented Generation) معروف است، به مدل اجازه می‌دهد به جای تکیه بر اطلاعات عمومی، به فایل‌های محلی شما استناد کند.

اسکریپت زیر یک فایل متنی فرضی را می‌خواند، آن را به عنوان زمینه به مدل محلی اولاما تزریق می‌کند و به یک سوال مشخص پاسخ می‌دهد:

import ollama

# خواندن متن محلی به عنوان سند مرجع
with open('my_document.txt', 'r', encoding='utf-8') as f:
    document_text = f.read()

user_question = "خلاصه وضعیت مالی پروژه چیست؟"

# ساخت دستورالعمل ترکیبی برای مدل
prompt = f"""
بر اساس متن زیر به سوال کاربر پاسخ بده:
متن سند:
{document_text}

سوال کاربر:
{user_question}
"""

response = ollama.chat(model='llama3', messages=[
    {
        'role': 'user',
        'content': prompt,
    },
])

print("پاسخ دستیار محلی:")
print(response['message']['content'])

بخش‌به‌بخش این کد به این صورت عمل می‌کند: ابتدا فایل متنی my_document.txt با کدگذاری UTF-8 خوانده می‌شود تا کاراکترهای فارسی به درستی پردازش شوند. سپس متن سند به همراه سوال کاربر در یک قالب مشخص (Prompt) به مدل لاما ۳ فرستاده می‌شود. مدل متن را تحلیل کرده و دقیقاً بر اساس اطلاعات موجود در همان فایل، پاسخ را تولید می‌کند. این ابزار برای تحلیل اسناد محرمانه کاری یا شخصی بی‌نظیر است.

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

کار با مدل‌های محلی چالش‌های خاص خودش را دارد. یکی از خطاهای رایج، انتخاب مدلی است که حجم آن از حافظه سخت‌افزاری سیستم (RAM یا VRAM) بیشتر باشد؛ این کار باعث کندی شدید سیستم یا خطای کمبود حافظه (Out of Memory) می‌شود. اشتباه دیگر، عدم استفاده از رمزگذاری درست در فایل‌های متنی فارسی است که ممکن است باعث خوانده شدن نامعتبر متن‌ها توسط اسکریپت شود. همچنین به خاطر داشته باشید که مدل‌های کوچک‌تر (کمتر از ۷ میلیارد پارامتر) ممکن است در درک دستورات پیچیده زبان فارسی دقت مدل‌های ابری بزرگ را نداشته باشند.

پرسش‌های متداول

آیا اجرای اولاما به کارت گرافیک قدرتمند نیاز دارد؟

خیر. اولاما هم روی پردازنده اصلی (CPU) و هم روی کارت گرافیک (GPU) قابل اجراست. البته وجود کارت گرافیک اختصاصی سرعت پاسخ‌دهی مدل را به شدت افزایش می‌دهد.

چگونه مدل‌های نصب شده روی سیستم را مدیریت یا پاک کنیم؟

با وارد کردن دستور ollama list در ترمینال می‌توانید لیست مدل‌های موجود را ببینید و با دستور ollama rm نام_مدل مدل‌های اضافی را پاک کنید تا فضای دیسک آزاد شود.

آیا اولاما بدون اینترنت کار می‌کند؟

بله. پس از اینکه مدل مورد نظر خود را یک بار دانلود کردید، تمام مراحل پردازش و تولید پاسخ به صورت کاملاً آفلاین و محلی انجام می‌شود.

جمع‌بندی

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

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *