آموزش Ollama: اجرای مدل هوش مصنوعی روی کامپیوتر شخصی
آموزش Ollama از نصب تا استفاده در کد: مدلهای زبانی مثل Qwen و Gemma را رایگان، آفلاین و بدون ارسال داده به سرور خارجی روی سیستم خودتان اجرا کنید.

فهرست مطالب
اگر میخواهید بدون پرداخت هزینه API، بدون ارسال دادههای حساس به سرورهای خارجی و حتی بدون اینترنت از مدلهای زبانی استفاده کنید، Ollama سادهترین راه است. در این آموزش Ollama را از صفر نصب میکنیم، مدل مناسب سیستمتان را انتخاب میکنیم و در آخر آن را به کد پایتون وصل میکنیم.
Ollama چیست و چرا باید سراغش بروید؟
Ollama یک ابزار متنباز برای دانلود، مدیریت و اجرای مدلهای زبانی با وزن باز (Open-weight) روی کامپیوتر شخصی است. کارهای سخت مثل بارگذاری مدل روی GPU، مدیریت حافظه و ساخت API را خودش انجام میدهد و شما فقط با چند دستور ساده کار میکنید.
دلایل اصلی برای اجرای لوکال:
- حریم خصوصی: کد، اسناد و داده مشتری از سیستم شما خارج نمیشود.
- هزینه صفر: برای هر توکن پولی نمیدهید؛ مناسب آزمایشهای پرتکرار.
- استقلال: به دسترسی سرویسهای خارجی، تغییر قیمتها یا خاموش شدن ناگهانی یک API وابسته نیستید.
- کار آفلاین: پس از دانلود مدل، اینترنت لازم نیست.
البته باید واقعبین بود: مدلهای لوکالی که روی یک لپتاپ اجرا میشوند، به کیفیت مدلهای پیشرو ابری نمیرسند. برای خلاصهسازی، طبقهبندی متن، استخراج داده و دستیار کدنویسی سبک عالیاند؛ برای کارهای استدلالی سنگین، فاصله محسوس است.
پیشنیازهای سختافزاری
قانون ساده این است: حجم فایل مدل باید با کمی فضای اضافه در حافظه جا شود. اگر کارت گرافیک دارید، حافظه آن (VRAM) ملاک است؛ وگرنه RAM سیستم. اجرا روی CPU ممکن است، اما کندتر.
حجم نسخههای مختلف Qwen 3.5 در کتابخانه Ollama نمونه خوبی برای برآورد است:
| مدل | حجم دانلود | مناسب برای |
|---|---|---|
qwen3.5:0.8b |
۱٫۰ گیگابایت | سیستمهای ضعیف، کارهای خیلی ساده |
qwen3.5:2b |
۲٫۷ گیگابایت | لپتاپ با ۸ گیگابایت رم |
qwen3.5:4b |
۳٫۴ گیگابایت | لپتاپ با ۸ تا ۱۶ گیگابایت رم |
qwen3.5:9b |
۶٫۶ گیگابایت | سیستم با ۱۶ گیگابایت رم یا GPU هشتگیگی |
qwen3.5:27b |
۱۷ گیگابایت | GPU با ۲۴ گیگابایت VRAM یا مک با رم بالا |
Ollama از کارتهای NVIDIA و AMD و تراشههای Apple Silicon پشتیبانی میکند. اگر قصد خرید سیستم تازه برای این کار دارید، راهنمای خرید لپتاپ برنامهنویسی را هم ببینید؛ برای مدلهای لوکال، مقدار رم و VRAM از هر مشخصه دیگری مهمتر است.
آموزش Ollama: نصب روی ویندوز، مک و لینوکس
لینوکس: اسکریپت رسمی را اجرا کنید:
curl -fsSL https://ollama.com/install.sh | sh
ویندوز و macOS: فایل نصب را از ollama.com/download دانلود و اجرا کنید. پس از نصب، Ollama در پسزمینه اجرا میشود.
درستی نصب را بررسی کنید:
ollama --version
اولین گفتوگو با یک مدل لوکال
دستور run اگر مدل را نداشته باشید، اول دانلودش میکند و بعد وارد محیط گفتوگو میشود:
ollama run qwen3.5:4b
حالا مستقیم در ترمینال سؤال بپرسید. برای خروج /bye را بنویسید.
دستورهای پرکاربرد دیگر:
ollama pull gemma4:12b # download only
ollama list # list downloaded models
ollama ps # loaded models and GPU/CPU placement
ollama stop qwen3.5:4b # unload a model from memory
ollama rm gemma4:12b # delete a model from disk
خروجی ollama ps در ستون PROCESSOR نشان میدهد مدل روی GPU اجرا میشود، روی CPU یا بین هر دو تقسیم شده است. اگر مدل روی CPU افتاده و کند است، نسخه کوچکتری انتخاب کنید.
نکته: در کتابخانه Ollama برخی مدلها برچسبی با پسوند
cloudدارند (مثلgemma4:cloud). این نسخهها روی سرورهای Ollama اجرا میشوند، نه روی سیستم شما؛ اگر هدفتان حریم خصوصی است، از آنها استفاده نکنید.
کدام مدل را انتخاب کنیم؟
| نیاز | پیشنهاد برای شروع |
|---|---|
| دستیار عمومی و متن | qwen3.5 یا gemma4 |
| کدنویسی | qwen3-coder (برای سختافزار قوی) |
| استدلال و ابزار | gpt-oss:20b |
| جاسازی متن برای جستوجوی معنایی | qwen3-embedding |
کیفیت مدلها در زبان فارسی با هم فرق دارد. بهترین کار این است که چند مدل را روی نمونههای واقعی کار خودتان امتحان کنید؛ مثلاً ۱۰ ایمیل، متن یا سؤال فارسی که هر روز با آنها سروکار دارید.
استفاده از Ollama در کد
Ollama بهصورت پیشفرض یک سرور HTTP روی localhost:11434 بالا میآورد. سه راه برای استفاده از آن در برنامهها داریم.
۱. REST API مستقیم
curl http://localhost:11434/api/chat -d '{
"model": "qwen3.5:4b",
"messages": [{"role": "user", "content": "در یک جمله بگو Docker چیست."}],
"stream": false
}'
۲. کتابخانه رسمی پایتون
# pip install ollama
from ollama import chat
response = chat(
model="qwen3.5:4b",
messages=[{"role": "user", "content": "سه ایده برای نام یک اپ یادداشتبرداری بده."}],
)
print(response.message.content)
۳. API سازگار با OpenAI
مهمترین قابلیت Ollama برای توسعهدهندهها همین است: هر کدی که با SDK رسمی OpenAI نوشته شده، فقط با تغییر base_url روی مدل لوکال اجرا میشود.
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # required by the SDK, ignored by Ollama
)
completion = client.chat.completions.create(
model="qwen3.5:4b",
messages=[
{"role": "system", "content": "You are a concise senior Python reviewer."},
{"role": "user", "content": "What's wrong with: def f(x=[]): x.append(1); return x"},
],
)
print(completion.choices[0].message.content)
طبق مستندات Ollama، مسیرهای /v1/chat/completions، /v1/completions، /v1/embeddings، /v1/models و /v1/responses پشتیبانی میشوند. این یعنی میتوانید یک پروژه کامل RAG با پایتون را هم بهطور کامل لوکال بسازید.
ساخت مدل سفارشی با Modelfile
اگر میخواهید یک دستیار با شخصیت و تنظیمات ثابت داشته باشید، فایلی به نام Modelfile بسازید:
FROM qwen3.5:4b
PARAMETER temperature 0.3
SYSTEM """
تو دستیار فنی تیم هستی. پاسخها را کوتاه، دقیق و به فارسی بده.
اصطلاحات فنی را به انگلیسی و داخل پرانتز بیاور.
"""
و مدل جدید را بسازید و اجرا کنید:
ollama create team-helper -f Modelfile
ollama run team-helper
تنظیمات مهم و نکات امنیتی
پنجره زمینه: طبق مستندات Ollama، پنجره زمینه بهصورت پیشفرض ۴۰۹۶ توکن است؛ حتی اگر خود مدل پنجره خیلی بزرگتری داشته باشد. برای اسناد طولانی، آن را بزرگ کنید:
OLLAMA_CONTEXT_LENGTH=16384 ollama serve
یا داخل محیط گفتوگو: /set parameter num_ctx 16384. در ویندوز و مک که Ollama بهصورت برنامه پسزمینه اجرا میشود، متغیر محیطی را در تنظیمات سیستم تعریف کنید و Ollama را دوباره باز کنید. یادتان باشد پنجره بزرگتر حافظه بیشتری مصرف میکند.
محل ذخیره مدلها: مدلها حجیماند. اگر درایو سیستمتان جا ندارد، با متغیر محیطی OLLAMA_MODELS مسیر دیگری تعیین کنید.
ماندن در حافظه: مدل پس از آخرین درخواست بهطور پیشفرض ۵ دقیقه در حافظه میماند. با OLLAMA_KEEP_ALIVE این زمان را تغییر دهید.
دسترسی از شبکه: Ollama بهطور پیشفرض فقط روی localhost گوش میدهد. با OLLAMA_HOST میتوانید آن را در شبکه در دسترس کنید، اما API سرور Ollama احراز هویت ندارد. هرگز آن را مستقیم روی اینترنت باز نکنید؛ اگر لازم است، پشت یک ریورسپراکسی با احراز هویت یا VPN داخلی قرارش دهید.
عیبیابی مشکلات رایج
مدل خیلی کند است. با ollama ps ببینید مدل روی GPU اجرا میشود یا CPU. اگر ستون PROCESSOR تقسیم بین CPU و GPU را نشان میدهد، یعنی مدل در VRAM جا نشده است. نسخه کوچکتر مدل را امتحان کنید یا پنجره زمینه را کوچکتر بگیرید.
حافظه پر میشود یا سیستم هنگ میکند. مدلهای بزرگتر از رم آزاد سیستم را اجرا نکنید. پیش از اجرای مدل، برنامههای سنگین مثل مرورگر با دهها تب را ببندید و مدلهایی را که لازم ندارید با ollama stop از حافظه خارج کنید.
مدل بخشهایی از متن طولانی را «فراموش» میکند. احتمالاً پنجره زمینه کوچک است و متن اضافه کنار گذاشته شده است. تنظیم OLLAMA_CONTEXT_LENGTH را که بالاتر توضیح دادیم بررسی کنید.
دانلود مدل نیمهکاره میماند. دستور ollama pull را دوباره اجرا کنید؛ Ollama بخشهای دانلودشده را نگه میدارد و معمولاً لازم نیست دانلود را از اول شروع کنید.
پاسخهای فارسی ضعیف است. مدلهای کوچک در زبانهای غیرانگلیسی افت بیشتری دارند. یک اندازه بزرگتر از همان خانواده را امتحان کنید یا در پرامپت سیستمی صریحاً بخواهید پاسخ به فارسی روان باشد.
جمعبندی
Ollama فاصله بین «میخواهم مدلهای زبانی را امتحان کنم» و «یک سرویس هوش مصنوعی واقعی روی سیستم خودم دارم» را به چند دقیقه رسانده است. با یک مدل کوچک مثل qwen3.5:4b شروع کنید، آن را از طریق API سازگار با OpenAI به پروژهتان وصل کنید و بعد سراغ کاربردهای جدیتر بروید. اگر هنوز با مفاهیم پایه مثل توکن و پنجره زمینه آشنا نیستید، مقاله مدل زبانی بزرگ چیست را از دست ندهید.



