تثبيت Ollama: دليل تشغيل نماذج اللغة الكبيرة محلياً
تثبيت Ollama، تشغيل نماذج LLM المحلية (Llama 3، Mistral، Gemma)، استخدام API، إدارة النماذج، تسريع GPU والنشر عبر Docker.
جدول المحتويات
تثبيت Ollama: دليل تشغيل نماذج اللغة الكبيرة محلياً
Ollama هو أداة مفتوحة المصدر تتيح لك تشغيل نماذج اللغة الكبيرة (LLM) بسهولة على خادمك المحلي. يمكنك تنزيل واستخدام Llama 3 وMistral وGemma وPhi-3 والعديد من النماذج الأخرى بأمر واحد. يغطي هذا الدليل تثبيت Ollama وإدارة النماذج واستخدام API وتسريع GPU بالتفصيل.
ما هو Ollama؟
Ollama هو بيئة تشغيل خفيفة مصممة لتشغيل نماذج LLM محلياً. يتيح لك تنزيل وإدارة النماذج بنهج مشابه لـ Docker. الميزات الرئيسية:
- تثبيت سهل: إعداد وتنزيل النماذج بأمر واحد
- دعم واسع للنماذج: Llama 3، Mistral، Gemma، Phi-3، CodeLlama، Qwen والمزيد
- REST API: نقطة نهاية API متوافقة مع OpenAI
- تسريع GPU: دعم NVIDIA وAMD GPU
- Modelfile: إنشاء تكوينات نماذج مخصصة
- استهلاك منخفض للموارد: استهلاك ذاكرة منخفض مع النماذج المكممة
متطلبات النظام
| المكون | الحد الأدنى | الموصى به |
|---|---|---|
| RAM | 8 جيجابايت | 16 جيجابايت+ |
| القرص | 20 جيجابايت | 50 جيجابايت+ |
| GPU (اختياري) | NVIDIA 4 جيجابايت VRAM | NVIDIA 8 جيجابايت+ VRAM |
| نظام التشغيل | Linux، macOS، Windows | Ubuntu 22.04 LTS |
التثبيت على Linux
استخدم سكريبت التثبيت الرسمي:
curl -fsSL https://ollama.com/install.sh | sh
بعد التثبيت، تبدأ خدمة Ollama تلقائياً. تحقق من الحالة:
systemctl status ollama
التثبيت اليدوي
إذا لم يعمل السكريبت:
# تنزيل الملف الثنائي
curl -L https://ollama.com/download/ollama-linux-amd64 -o /usr/local/bin/ollama
chmod +x /usr/local/bin/ollama
# إنشاء مستخدم ollama
useradd -r -s /bin/false -m -d /usr/share/ollama ollama
# ملف خدمة systemd
cat > /etc/systemd/system/ollama.service << 'EOF'
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="HOME=/usr/share/ollama"
[Install]
WantedBy=default.target
EOF
systemctl daemon-reload
systemctl enable --now ollama
التثبيت عبر Docker
وضع CPU
docker run -d \
--name ollama \
-p 11434:11434 \
-v ollama_data:/root/.ollama \
ollama/ollama
وضع GPU (NVIDIA)
docker run -d \
--name ollama \
--gpus all \
-p 11434:11434 \
-v ollama_data:/root/.ollama \
ollama/ollama
Docker Compose
version: '3.8'
services:
ollama:
image: ollama/ollama
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
volumes:
ollama_data:
تنزيل وتشغيل النماذج
# نموذج Llama 3.1 8B
ollama pull llama3.1
# Mistral 7B
ollama pull mistral
# Google Gemma 2 9B
ollama pull gemma2
# محادثة تفاعلية
ollama run llama3.1
# استعلام واحد
ollama run llama3.1 "كيف أتحقق من استخدام القرص في Linux؟"
إدارة النماذج
# عرض النماذج المثبتة
ollama list
# معلومات النموذج
ollama show llama3.1
# حذف نموذج
ollama rm mistral
# عرض النماذج قيد التشغيل
ollama ps
استخدام REST API
يوفر Ollama واجهة REST API على المنفذ 11434:
إكمال المحادثة
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1",
"messages": [
{"role": "system", "content": "أنت مساعد مفيد."},
{"role": "user", "content": "ما هو Docker؟"}
],
"stream": false
}'
توليد النص
curl http://localhost:11434/api/generate -d '{
"model": "llama3.1",
"prompt": "اكتب تكوين Nginx reverse proxy",
"stream": false
}'
استخدام API مع Python
import requests
def chat_with_ollama(prompt, model="llama3.1"):
response = requests.post(
"http://localhost:11434/api/chat",
json={
"model": model,
"messages": [{"role": "user", "content": prompt}],
"stream": False
}
)
return response.json()["message"]["content"]
result = chat_with_ollama("كيف أرتب قائمة في Python؟")
print(result)
نماذج مخصصة مع Modelfile
# Modelfile
FROM llama3.1
SYSTEM """أنت مساعد الدعم الفني لـ REXE Technology.
تساعد في إدارة الخوادم وDocker وLinux وموضوعات الشبكات."""
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
إنشاء النموذج:
ollama create rexe-assistant -f Modelfile
ollama run rexe-assistant
تسريع GPU
NVIDIA GPU
# التحقق من تعريف NVIDIA
nvidia-smi
# إصدار CUDA
nvcc --version
AMD GPU (ROCm)
curl -fsSL https://ollama.com/install.sh | OLLAMA_ACCELERATION=rocm sh
docker run -d \
--name ollama \
--device /dev/kfd \
--device /dev/dri \
-p 11434:11434 \
-v ollama_data:/root/.ollama \
ollama/ollama:rocm
متغيرات البيئة
# /etc/systemd/system/ollama.service.d/override.conf
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama"
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_MAX_LOADED_MODELS=2"
Environment="OLLAMA_KEEP_ALIVE=5m"
تطبيق التغييرات:
systemctl daemon-reload
systemctl restart ollama
نصائح الأداء
# توفير RAM مع النماذج المكممة
ollama pull llama3.1:8b-q4_0 # 4-بت (~4.7 جيجابايت)
ollama pull llama3.1:8b-q5_1 # 5-بت (~5.7 جيجابايت)
ollama pull llama3.1:8b-q8_0 # 8-بت (~8.5 جيجابايت)
# إعداد نافذة السياق
ollama run llama3.1 --num-ctx 2048
مع خوادم REXE GPU، يمكنك تشغيل نماذج اللغة الكبيرة بأداء عالٍ عبر Ollama. توفر وحدات NVIDIA A100/H100 GPU استجابات سريعة حتى مع نماذج 70B معلمة.
مقالات ذات صلة
تثبيت Open WebUI: ذكاء اصطناعي محلي بواجهة شبيهة بـ ChatGPT
تثبيت Open WebUI عبر Docker، التكامل مع Ollama، إدارة المستخدمين، RAG (استعلام المستندات)، إدارة النماذج ودعم المستخدمين المتعددين.
نشر نماذج الذكاء الاصطناعي على خادم GPU: دليل NVIDIA CUDA
تثبيت تعريفات NVIDIA، مجموعة أدوات CUDA، nvidia-container-toolkit، خدمة النماذج مع vLLM، مراقبة GPU ونشر نماذج AI مع Docker.
تثبيت Stable Diffusion: إنتاج صور مستضاف ذاتياً
تثبيت Stable Diffusion، واجهات AUTOMATIC1111 و ComfyUI، تنزيل النماذج، تدريب LoRA، استخدام ControlNet وإنتاج صور مستضاف ذاتياً مع Docker.