تشغيل نماذج الذكاء الاصطناعي محلياً باستخدام Ollama: دليل المطورين

تشغيل نماذج الذكاء الاصطناعي محلياً باستخدام Ollama: دليل المطورين

تشغيل نماذج الذكاء الاصطناعي محلياً لم يعد رفاهية للمختبرات الكبرى فقط. بفضل أدوات مثل Ollama أصبح بإمكانك كـ مطور تشغيل نماذج LLM قوية على جهازك، والتحكم الكامل في البيانات، وتكلفة أقل، وأمان أعلى. في هذا الدليل سنشرح Ollama تشغيل محلي خطوة بخطوة: التثبيت، تنزيل النماذج، إرسال الأوامر برمجياً، وربطها مع مشاريع الويب و الـ Bots.

إن كنت جديداً على Ollama، يمكنك قبل المتابعة الاطلاع على مقدمة عن Ollama ومزاياه أو الدليل الشامل عن أداة Ollama للحصول على صورة عامة عن الأداة.

لماذا تشغيل النماذج محلياً باستخدام Ollama؟

قبل الدخول في التفاصيل التقنية، دعنا نوضح ما الذي يميز تشغيل النماذج محلياً عن استخدام واجهات برمجة تطبيقات سحابية:

  • الخصوصية: بياناتك لا تغادر جهازك، مثالي للتطبيقات الحساسة أو بيانات الشركات.
  • تكلفة أقل على المدى الطويل: لا تدفع مقابل كل طلب API، فقط تكلفة العتاد الذي تملكه.
  • تحكم كامل: يمكنك اختيار النموذج، طريقة تشغيله، وضبط الإعدادات (مثل درجة الإبداع، طول الرد، إلخ).
  • العمل دون اتصال: يسمح لك بتطوير واختبار التطبيقات حتى بدون اتصال إنترنت.

Ollama يقدم طبقة بسيطة فوق هذه النماذج، مع أوامر CLI سهلة وواجهة HTTP مدمجة، وهذا يجعله مثالياً للمطورين الذين يريدون سرعة في بناء النماذج والتجارب.

متطلبات تشغيل Ollama محلياً

قبل تثبيت Ollama، تأكد من توافر المتطلبات الأساسية التالية:

  • نظام التشغيل: يدعم حالياً macOS، Linux، و Windows (غالباً من خلال WSL أو إصدارات رسمية حسب التحديثات).
  • المعالج والذاكرة: نماذج LLM الكبيرة تحتاج RAM جيدة (يفضل 16GB فما فوق)، لكن يمكنك تشغيل نماذج أصغر على أجهزة أقل.
  • كرت شاشة (GPU): ليس إلزامياً لكل النماذج، لكنه يمنحك أداء أفضل بكثير. بعض النماذج تعمل بكفاءة على CPU فقط.
  • مساحة تخزين: النماذج قد تتراوح بين مئات MB إلى عشرات GB؛ تأكد من وجود مساحة كافية.

لاختيار النموذج المناسب وفق إمكانيات جهازك، يمكنك الرجوع لمقال أشهر نماذج الذكاء الاصطناعي المتوفرة على Ollama حيث تجد مقارنة بين النماذج ومتطلبات تشغيلها.

خطوة 1: تثبيت Ollama على جهازك

1. تثبيت Ollama على macOS

1. توجه إلى موقع Ollama الرسمي (ollama.com).
2. قم بتحميل ملف التثبيت الخاص بـ macOS.
3. ثبت التطبيق بطريقة السحب إلى مجلد التطبيقات.
4. بعد التثبيت، افتح الـ Terminal وتأكد من عمل الأمر:

ollama --version

إن ظهر رقم الإصدار، فهذا يعني أن التثبيت تم بنجاح.

2. تثبيت Ollama على Linux

تختلف طريقة التثبيت قليلاً حسب التوزيعة، لكن غالباً يكون عبر سكربت رسمي. مثال عام:

curl -fsSL https://ollama.com/install.sh | sh

بعد انتهاء التثبيت، تحقق:

ollama --version

3. تثبيت Ollama على Windows

توفر Ollama عادة نسخة رسمية للويندوز أو يمكنك الاعتماد على WSL (بيئة Linux على ويندوز).
1. قم بتحميل ملف التثبيت لـ Windows من الموقع الرسمي وتثبيته.
2. افتح PowerShell أو Command Prompt واكتب:

ollama --version

إذا ظهرت النسخة، فالنظام جاهز.

خطوة 2: تنزيل وتشغيل النماذج محلياً

بعد تثبيت Ollama، يمكننا استخدامه لتنزيل نموذج وتشغيله بالأوامر. الفكرة الأساسية في Ollama تشغيل محلي هي:

  1. تنزيل النموذج.
  2. تشغيله عبر أمر ollama run.
  3. أو استدعائه برمجياً عبر HTTP.

تنزيل نموذج Llama 3 مثلاً

لتنزيل وتشغيل نموذج مثل llama3:

ollama run llama3

في المرة الأولى، سيقوم Ollama بتنزيل النموذج من الإنترنت، ثم يفتح لك واجهة تفاعلية في الـ Terminal لطرح الأسئلة.

يمكنك الخروج من الواجهة التفاعلية عبر الضغط على Ctrl + C.

تشغيل نماذج أخرى

بعض الأمثلة لنماذج مشهورة:

  • ollama run mistral
  • ollama run phi3
  • ollama run codellama (مفيد لمساعدة البرمجة)

كل نموذج يختلف في الحجم والأداء، وبعضها مناسب للنصوص العامة، والبعض الآخر مخصص للبرمجة أو المهام المتخصصة.

خطوة 3: أساسيات استخدام Ollama من سطر الأوامر

لإرسال Prompt واحد واستقبال رد واحد مباشرة بدون الدخول في وضع تفاعلي، يمكنك استخدام:

echo "اكتب لي كود Python يطبع الأرقام من 1 إلى 10" | ollama run llama3

بهذه الطريقة يمكنك دمج Ollama تشغيل محلي مع سكربتات Bash أو أدوات DevOps بسهولة. لكن بالنسبة للمطورين، الطريقة الأقوى هي عبر الـ HTTP API.

خطوة 4: تشغيل واجهة Ollama HTTP API محلياً

Ollama يأتي مع خادم HTTP مدمج يعمل افتراضياً على http://localhost:11434.
بمجرد تشغيل خدمة Ollama (غالباً تعمل تلقائياً بعد التثبيت)، يمكنك إرسال الطلبات عبر أي لغة برمجة تدعم HTTP.

اختبار الـ API باستخدام curl

مثال بسيط لإرسال Prompt للنموذج llama3:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3",
  "prompt": "اشرح لي ما هو الذكاء الاصطناعي باختصار."
}'

الرد سيكون بتنسيق JSON، يحتوي على النص الناتج. يمكنك ضبط خيارات أخرى مثل temperature للتحكم في الإبداع، و max_tokens لطول الرد وهكذا.

خطوة 5: استخدام Ollama برمجياً داخل مشروعك

هنا الجزء الأهم للمطورين: كيف نربط Ollama مع تطبيقات الويب، الخلفيات (Backends)، أو الـ Bots؟ الفكرة العامة واحدة: إرسال طلب HTTP إلى localhost:11434 واستقبال الرد وإعادة توظيفه في مشروعك.

مثال استخدام Ollama مع Node.js (Express)

افترض أنك تبني API بسيط يلف حول Ollama ويقدم رداً إلى واجهة ويب:

import express from 'express';
import fetch from 'node-fetch';

const app = express();
app.use(express.json());

app.post('/chat', async (req, res) => {
  const { prompt } = req.body;

  const response = await fetch('http://localhost:11434/api/generate', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      model: 'llama3',
      prompt: prompt,
      stream: false
    })
  });

  const data = await response.json();
  res.json({ answer: data.response });
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

بهذا الشكل يكون لديك واجهة /chat يمكن استدعاؤها من أي Frontend (React, Vue, Next.js إلخ) وإرسال الـ Prompt واستقبال الرد.

مثال بسيط باستخدام Python (FastAPI)

from fastapi import FastAPI
from pydantic import BaseModel
import httpx

app = FastAPI()

class PromptRequest(BaseModel):
    prompt: str

@app.post("/chat")
async def chat(req: PromptRequest):
    async with httpx.AsyncClient() as client:
        r = await client.post(
            "http://localhost:11434/api/generate",
            json={
                "model": "llama3",
                "prompt": req.prompt,
                "stream": False
            }
        )
    data = r.json()
    return {"answer": data.get("response", "")}

الآن يمكنك من واجهة الويب إرسال طلب POST إلى /chat والحصول على رد النموذج للنص المكتوب.

خطوة 6: ربط Ollama مع مشاريع الويب (Front-end)

عادةً لا يتم استدعاء Ollama مباشرة من المتصفح لأسباب أمنية (CORS، وإخفاء تفاصيل البنية)؛ الأفضل أن تبني طبقة Backend كما في الأمثلة السابقة.

تدفق العمل النموذجي لتطبيق ويب

  1. المستخدم يكتب سؤالاً في واجهة الويب (مثلاً React App).
  2. الواجهة ترسل طلباً إلى خادمك (API خاص بك).
  3. خادمك يتواصل مع Ollama عبر HTTP على localhost:11434.
  4. Ollama يولّد الرد ويرسله للخادم.
  5. الخادم يرسل الرد للـ Frontend ليتم عرضه للمستخدم.

مثال مختصر من جهة الـ Frontend (JavaScript)

async function sendMessage(prompt) {
  const res = await fetch('/chat', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ prompt })
  });
  const data = await res.json();
  return data.answer;
}

يمكنك تطوير هذه الفكرة لتشمل دردشة كاملة، تاريخ للمحادثات، أدوار النظام (System Prompt)، وتحكم في إعدادات النموذج.

خطوة 7: ربط Ollama مع البوتات (Bots)

أحد الاستخدامات الشائعة لـ Ollama تشغيل محلي هو بناء بوتات دردشة ذكية تعمل محلياً، مثل بوت تيليجرام، ديسكورد، أو حتى بوتات دعم فني داخلية في الشركات.

في حال أردت مثال تطبيقي مفصل، يمكنك الرجوع إلى: برمجة بوت تيليجرام يتحدث بذكاء باستخدام Python و Ollama حيث نشرح تكامل كامل بين Ollama و Telegram Bot API.

الفكرة العامة لتكامل أي Bot مع Ollama

  1. البوت يستقبل رسالة المستخدم (مثلاً عبر Webhook أو Polling).
  2. الخادم الذي يستقبل الرسالة يرسل الـ Prompt إلى Ollama عبر /api/generate.
  3. Ollama يولد الرد ويرجعه للخادم.
  4. الخادم يعيد إرسال الرد للمستخدم عبر واجهة برمجة تطبيقات المنصة (Telegram, Discord, Slack…).

باستخدام هذا النمط، يمكنك بناء بوتات تعمل داخلياً داخل شبكة الشركة، دون الاعتماد على مزود سحابي للذكاء الاصطناعي.

تخصيص النماذج وتحسين الأداء

إلى جانب تشغيل النماذج الجاهزة، يتيح لك Ollama تخصيص النماذج عبر ملفات Modelfile أو عبر إعدادات إضافية، مثل:

  • تحديد System Prompt ثابت: لجعل النموذج يتصرف كـ مساعد برمجي، أو خبير تسويق، أو مدرب لغة.
  • ضبط Temperature و Top-p: لزيادة أو تقليل الإبداع في الردود.
  • استخدام نماذج متخصصة: مثل النماذج المخصصة للبرمجة، أو الملخصات، أو الترجمة.

بعض الحالات المتقدمة يمكن أن تستفيد من معرفة أهم تقسيمات أنواع الذكاء الاصطناعي لتحديد النموذج الأنسب لكل سيناريو (نموذج توليدي، تحليلي، تصنيفي، إلخ).

أفضل ممارسات الأمان عند تشغيل Ollama محلياً

رغم أن Ollama يعمل على جهازك، إلا أن هناك نقاط مهمة يجب الانتباه إليها:

  • لا تفتح منفذ Ollama مباشرة للعالم الخارجي دون طبقة حماية (Proxy مع مصادقة، أو VPN، أو جدار ناري).
  • تحكم في حجم ومحتوى الـ Prompts: خاصة في التطبيقات التي تسمح للمستخدمين برفع ملفات أو نصوص طويلة.
  • راقب استهلاك الموارد: النماذج الكبيرة قد تستهلك RAM و CPU بشكل عالي، تأكد من مراقبة أداء الجهاز.
  • قم بالتحديث دورياً: تحديث Ollama والنماذج نفسها قد يحل مشاكل أمنية أو أداء.

سيناريوهات عملية لاستخدام Ollama تشغيل محلي

  • مساعد مطورين محلي: أداة تكميلية لـ IDE تساعدك في كتابة وتفسير الكود.
  • محرك دردشة لموقعك: يقدم إجابات مبنية على مستنداتك الداخلية (بعد دمج تقنيات استرجاع المعرفة RAG مع Ollama).
  • بوتات دعم فني: تعمل داخل شبكة الشركة دون إرسال البيانات لخارجها.
  • أدوات تحليل نصوص: مثل تلخيص تقارير، توليد أفكار محتوى، أو تحليل ردود العملاء.

نصائح للمطورين قبل الاعتماد الكامل على Ollama محلياً

  • ابدأ بنموذج صغير: لا تختبر لأول مرة على أكبر نموذج متاح؛ ابدأ بموديل صغير للتجربة.
  • قِس الأداء فعلياً: اختبر زمن الاستجابة تحت ضغط (عدة مستخدمين أو عدة Bots).
  • صمم واجهة تجريد (Abstraction Layer): حتى يمكنك لاحقاً تبديل Ollama أو مزود الذكاء الاصطناعي دون إعادة كتابة منطق التطبيق.
  • فكر في الهجين: يمكنك الجمع بين تشغيل نماذج محلياً لبعض المهام أو المستخدمين، واستخدام نماذج سحابية للمهام الثقيلة أو عندما تحتاج لغات/قدرات متقدمة.

خلاصة: كيف تبدأ اليوم مع Ollama تشغيل محلي؟

للخروج بخطوات عملية من هذا الدليل، يمكنك اتباع هذه الخطة القصيرة:

  1. ثبت Ollama على جهازك (macOS, Linux, أو Windows).
  2. شغّل نموذجاً مناسباً لإمكانيات جهازك، مثل llama3 أو نموذج أصغر.
  3. اختبر النموذج من خلال الـ Terminal للتأكد من عمله.
  4. ابنِ API بسيط في Node.js أو Python يرسل Prompts إلى localhost:11434.
  5. اربط الواجهة (Web أو Bot) بـ API الذي بنيته.
  6. طوّر الفكرة تدريجياً: سجل تاريخ المحادثات، أضف أدواراً، وتحكم في إعدادات النموذج.

بهذا تكون قد وضعت الأساس لتشغيل نماذج الذكاء الاصطناعي محلياً باستخدام Ollama وربطها مع مشاريعك البرمجية، سواء كانت مواقع ويب، أنظمة داخلية، أو بوتات تواصل ذكية. كل ذلك مع تحكم كامل في البيانات، وتكلفة أقل، ومرونة أكبر للمطور.

حول المحتوى:

كيف تثبت Ollama، تنزيل النماذج، إرسال الأوامر برمجياً، وربطها مع مشاريع الويب والـ Bots.

هل كان هذا مفيدًا لك؟

أضف تعليقك