ما الذي ستتعلمه؟
ستتعلم تنزيل نموذج لغوي وتشغيله على جهازك، ثم إرسال الطلبات إليه من الطرفية وعبر واجهة HTTP. يوفر Ollama بيئة التشغيل والخادم، بينما يوفر النموذج قدرات توليد النصوص. لا تتطلب النماذج المحلية مفتاح API من Ollama. دليل البدء
سنستخدم llama3.2:1b، وهو نموذج نصي بمليار معلمة من عائلة Llama 3.2. تحديد الوسم يجعل اسم النموذج ثابتًا في الأمثلة. هذا اختيار لتعلم خطوات التشغيل، ولا يضمن دقة الإجابات. راجع معلومات التنزيل والترخيص في صفحة النموذج.
تحتاج إلى طرفية واتصال بالإنترنت للتثبيت والتنزيل الأول، ومساحة تخزين وذاكرة كافيتين. حجم ملف التنزيل يختلف عن الذاكرة اللازمة للتشغيل، وتتأثر السرعة بعتاد الجهاز وطول المدخلات.
1. تثبيت Ollama
Windows وmacOS: نزّل المثبّت من موقع Ollama، ثم ثبّت التطبيق وافتحه. افتح نافذة PowerShell جديدة على Windows أو Terminal على macOS.
Linux: استخدم أمر التثبيت الرسمي:
curl -fsSL https://ollama.com/install.sh | sh
ينزّل هذا الأمر نص التثبيت وينفذه. يمكنك فحص محتواه عبر الرابط قبل تشغيله. على جهاز Linux يستخدم systemd، شغّل الخدمة وتحقق من حالتها:
sudo systemctl start ollama
sudo systemctl status ollama
راجع دليل Linux للتثبيت اليدوي وإعداد الخدمة. تحقق أيضًا من توفر الأمر في الطرفية:
ollama --version
2. التأكد من تشغيل الخادم
قد يكون التطبيق أو خدمة Linux قد شغّل الخادم بالفعل. لتشغيله يدويًا، استخدم:
ollama serve
اترك هذه الطرفية مفتوحة، واستخدم طرفية ثانية للأوامر التالية. إذا ظهرت رسالة تفيد بأن العنوان مستخدم، افحص الخادم الموجود قبل محاولة تشغيل نسخة أخرى. مرجع الأوامر
يرتبط Ollama افتراضيًا بالعنوان 127.0.0.1:11434. سنبقي الخدمة محلية على جهازك. إعداد الخادم
للتحقق من واجهة API على macOS أو Linux:
curl http://localhost:11434/api/tags
وعلى Windows PowerShell:
Invoke-RestMethod -Uri 'http://localhost:11434/api/tags'
تعيد هذه الواجهة قائمة النماذج المنزّلة. وجود قائمة فارغة قبل تنزيل أول نموذج أمر طبيعي. واجهة عرض النماذج
3. تنزيل النموذج والمحادثة معه
نفّذ الأوامر التالية:
ollama pull llama3.2:1b
ollama list
ollama run llama3.2:1b
ينزّل pull النموذج، ويعرض list النماذج المثبتة، ويفتح run محادثة تفاعلية. جرّب هذا الطلب:
Explain what an HTTP API is to a beginner, in three sentences.
اكتب /bye للخروج من المحادثة. الخروج لا يوقف الخادم الذي يعمل بشكل مستقل. يمكنك فحص النماذج المحمّلة باستخدام ollama ps. مرجع الأوامر، دليل البدء
4. تقديم النموذج عبر HTTP
الخادم الذي شغّلته يتيح الوصول إلى النموذج المنزّل بالفعل. يحدد تطبيقك اسم النموذج في الطلب، ولا تحتاج إلى تشغيل خادم منفصل لكل نموذج.
على macOS أو Linux:
curl http://localhost:11434/api/generate
-H 'Content-Type: application/json'
-d '{"model":"llama3.2:1b","prompt":"Explain local AI in three sentences.","stream":false}'
وعلى Windows PowerShell، أنشئ JSON صراحةً:
$payload = @{
model = 'llama3.2:1b'
prompt = 'Explain local AI in three sentences.'
stream = $false
} | ConvertTo-Json
$result = Invoke-RestMethod `
-Uri 'http://localhost:11434/api/generate' `
-Method Post `
-ContentType 'application/json' `
-Body $payload
$result.response
تطلب القيمة stream: false استجابة JSON واحدة بدلًا من الإخراج المتدفق الافتراضي. يحتوي الحقل response على النص المولّد، ويشير done إلى اكتمال التوليد. قد تختلف صياغة الإجابة بين الطلبات. واجهة التوليد
5. استدعاء النموذج من Python
احفظ المثال التالي باسم local_llm.py. يستخدم مكتبة Python القياسية ولا يحتاج إلى تثبيت حزم إضافية:
import json
from urllib.request import Request, urlopen
payload = {
"model": "llama3.2:1b",
"prompt": "Give me three ideas for a beginner Python project.",
"stream": False,
}
request = Request(
"http://localhost:11434/api/generate",
data=json.dumps(payload).encode("utf-8"),
headers={"Content-Type": "application/json"},
method="POST",
)
with urlopen(request, timeout=300) as response:
result = json.load(response)
print(result["response"])
شغّله باستخدام python local_llm.py أو python3 local_llm.py بحسب إعداد جهازك، مع إبقاء Ollama قيد التشغيل. تسمح المهلة الطويلة باستيعاب بطء الطلب الأول، ويمكن تعديلها وفق تطبيقك. يعرض هذا العميل البسيط أخطاء الاتصال على شكل استثناءات Python.
6. إدارة النموذج وحل المشكلات
ollama ps
ollama stop llama3.2:1b
ollama rm llama3.2:1b
يعرض ps النماذج المحمّلة، ويحرر stop ذاكرة النموذج المحدد، ويحذف rm ملفاته المنزّلة. مرجع الأوامر
- الأمر غير موجود: افتح الطرفية مجددًا بعد التثبيت وتحقق من تثبيت Ollama.
- رفض الاتصال: شغّل التطبيق أو خدمة Linux أو الخادم اليدوي، ثم أعد طلب
/api/tags. - النموذج غير موجود: افحص
ollama listونزّل الوسم نفسه المستخدم في الطلب. - بطء الاستجابة أو نقص الذاكرة: أغلق التطبيقات التي تستهلك الذاكرة وافحص
ollama ps. يوضح عمود المعالج استخدام CPU أو GPU. قد تحتاج النماذج الأكبر والسياقات الأطول إلى ذاكرة إضافية. الأسئلة الشائعة
قبل مشاركة عنوان الخدمة
لا تتطلب واجهة API المحلية مصادقة. أبقِ ارتباطها الافتراضي بعنوان loopback في هذا التمرين. إذا أتحتها لاحقًا لأجهزة أخرى، أضف ضوابط الوصول والمصادقة عبر HTTPS وقيود الشبكة قبل مشاركتها. مقدمة API، إعداد الشبكة
أصبح لديك مسار التشغيل المحلي كاملًا: تثبيت Ollama، وتنزيل النموذج، واختباره تفاعليًا، وإرسال الطلبات من الشيفرة. راجع الإجابات المولدة قبل اعتمادها كحقائق أو إدخالها في تطبيق.

اترك تعليقاً