Ollama
شغّل نماذج LLM محليًا أو على بنية تحتية مستضافة ذاتيًا باستخدام Ollama. يدعم الرؤية، واستدعاء الأدوات الأصلي، ونماذج الاستدلال، والتوجيه السحابي الاختياري عبر Ollama Cloud.
المتطلبات المسبقة
- Ollama مثبت ويعمل محليًا، أو
- نسخة Ollama بعيدة مع إمكانية الوصول عبر الشبكة
إعداد سريع
1. تثبيت Ollama
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Start the server
ollama serve2. سحب نموذج
ollama pull qwen33. الإعداد
[default]
provider = "ollama"
model = "qwen3"لا يلزم مفتاح API للاستخدام المحلي.
4. التحقق
prx doctor modelsالنماذج المتاحة
يمكن استخدام أي نموذج متاح عبر Ollama. من الخيارات الشائعة:
| النموذج | المعلمات | الرؤية | استخدام الأدوات | ملاحظات |
|---|---|---|---|---|
qwen3 | 8B | لا | نعم | نموذج ترميز متعدد اللغات ممتاز |
qwen2.5-coder | 7B | لا | نعم | متخصص للبرمجة |
llama3.1 | 8B/70B/405B | لا | نعم | عائلة نماذج Meta المفتوحة |
mistral-nemo | 12B | لا | نعم | استدلال فعّال |
deepseek-r1 | 7B/14B/32B | لا | نعم | نموذج استدلال |
llava | 7B/13B | نعم | لا | رؤية + لغة |
gemma2 | 9B/27B | لا | نعم | نموذج Google المفتوح |
codellama | 7B/13B/34B | لا | لا | Llama متخصص للبرمجة |
شغّل ollama list لرؤية النماذج المثبتة لديك.
مرجع الإعدادات
| الحقل | النوع | الافتراضي | الوصف |
|---|---|---|---|
api_key | string | اختياري | مفتاح API لنسخ Ollama البعيدة/السحابية |
api_url | string | http://localhost:11434 | عنوان أساس خادم Ollama |
model | string | مطلوب | اسم النموذج (مثل qwen3 أو llama3.1:70b) |
reasoning | bool | اختياري | تفعيل وضع think لنماذج الاستدلال |
الميزات
إعداد صفري للاستخدام المحلي
عند تشغيل Ollama محليًا، لا يلزم مفتاح API أو إعداد خاص. يتصل PRX تلقائيًا بـ http://localhost:11434.
الاستدعاء الأصلي للأدوات
يستخدم PRX دعم استدعاء الأدوات الأصلي في Ollama عبر /api/chat. تُرسل تعريفات الأدوات داخل جسم الطلب، وتُرجع النماذج المتوافقة (qwen2.5 وllama3.1 وmistral-nemo وغيرها) tool_calls مهيكلة.
يتعامل PRX أيضًا مع سلوكيات نماذج غير اعتيادية:
- استدعاءات أدوات متداخلة:
{"name": "tool_call", "arguments": {"name": "shell", ...}}يتم فكّها تلقائيًا - أسماء مسبوقة:
tool.shellتُطبّع إلىshell - ربط نتائج الأدوات: يتم تتبّع معرفات استدعاء الأدوات وربطها بحقوق
tool_nameفي رسائل النتائج اللاحقة
دعم الرؤية
النماذج القادرة على الرؤية (مثل LLaVA) تستقبل الصور عبر الحقل الأصلي images في Ollama. يستخرج PRX تلقائيًا بيانات الصور base64 من علامات [IMAGE:...] ويرسلها كمدخلات صور منفصلة.
وضع الاستدلال
لنماذج الاستدلال (QwQ وDeepSeek-R1 وغيرها)، فعّل المعامل think:
[providers.ollama]
reasoning = trueيرسل هذا "think": true في الطلب، ما يفعّل عملية الاستدلال الداخلية للنموذج. إذا أعاد النموذج حقل thinking فقط مع محتوى فارغ، يوفر PRX رسالة رجوع ملائمة.
النسخ البعيدة والسحابية
للاتصال بخادم Ollama بعيد:
[providers.ollama]
api_url = "https://my-ollama-server.example.com:11434"
api_key = "${OLLAMA_API_KEY}"تُرسل المصادقة فقط لنقاط النهاية غير المحلية (عندما لا يكون المضيف localhost أو 127.0.0.1 أو ::1).
التوجيه السحابي
أضف :cloud إلى اسم النموذج لفرض التوجيه عبر نسخة Ollama بعيدة:
prx chat --model "qwen3:cloud"يتطلب التوجيه السحابي:
api_urlغير محلي- إعداد
api_key
مهلة ممتدة
تستخدم طلبات Ollama مهلة 300 ثانية (مقارنة بـ 120 ثانية لمزوّدي السحابة)، مراعاةً لاحتمال بطء الاستدلال على العتاد المحلي.
استكشاف الأخطاء وإصلاحها
"Is Ollama running?"
الخطأ الأكثر شيوعًا. الحلول:
- شغّل الخادم:
ollama serve - تحقق من إتاحة المنفذ:
curl http://localhost:11434 - إذا كنت تستخدم منفذًا مخصصًا، حدّث
api_urlفي الإعداد
لم يتم العثور على النموذج
اسحب النموذج أولًا:
ollama pull qwen3استجابات فارغة
قد تُرجع بعض نماذج الاستدلال محتوى thinking فقط دون استجابة نهائية. هذا يعني غالبًا أن النموذج توقف مبكرًا. جرّب:
- إرسال الطلب مرة أخرى
- استخدام نموذج مختلف
- تعطيل وضع الاستدلال إذا كان النموذج لا يدعمه جيدًا
استدعاءات الأدوات لا تعمل
ليست كل نماذج Ollama تدعم استدعاء الأدوات. النماذج المعروفة بجودة الدعم:
qwen2.5/qwen3llama3.1mistral-nemocommand-r
أخطاء التوجيه السحابي
- "requested cloud routing, but Ollama endpoint is local": اضبط
api_urlإلى خادم بعيد - "requested cloud routing, but no API key is configured": اضبط
api_keyأوOLLAMA_API_KEY