خادم استنتاج الذكاء الاصطناعي المحلي خفيف الوزن، بحجم 5 ميجابايت فقط كملف ثنائي واحد، يوفر واجهة متوافقة مع OpenAI API، ويدعم نماذج GGUF ومحولات LoRA.

MITRustshimmyMichael-A-Kuykendall 2.8k Last Updated: October 04, 2025

Shimmy - خادم استدلال AI محلي خفيف الوزن

نظرة عامة على المشروع

Shimmy هو خادم استدلال محلي أحادي الثنائي بحجم 5.1 ميجابايت، يوفر نقاط نهاية متوافقة مع OpenAI API لنماذج GGUF. لقد تم تصميمه ليكون "بنية تحتية غير مرئية"، مما يجعل تطوير الذكاء الاصطناعي المحلي سلسًا.

الميزات الأساسية

🚀 خفيف الوزن للغاية

  • حجم الملف الثنائي: 5.1 ميجابايت فقط (مقارنة بـ 680 ميجابايت لـ Ollama)
  • وقت التشغيل: أقل من 100 مللي ثانية (مقارنة بـ 5-10 ثوانٍ لـ Ollama)
  • استهلاك الذاكرة: أقل من 50 ميجابايت (مقارنة بـ 200 ميجابايت+ لـ Ollama)

🔧 تشغيل بدون تهيئة

  • تخصيص المنفذ التلقائي: يتجنب تعارضات المنافذ
  • الاكتشاف التلقائي للنماذج: يدعم مصادر نماذج متعددة
    • ذاكرة التخزين المؤقت لـ Hugging Face: ~/.cache/huggingface/hub/
    • نماذج Ollama: ~/.ollama/models/
    • الدليل المحلي: ./models/
    • متغيرات البيئة: SHIMMY_BASE_GGUF=path/to/model.gguf

🎯 توافق مثالي

  • متوافق بنسبة 100% مع OpenAI API: يحل محل الأدوات الحالية مباشرة
  • جاهز للاستخدام الفوري: أدوات مثل VSCode وCursor وContinue.dev لا تتطلب أي تعديل
  • دعم عبر الأنظمة الأساسية: Linux وmacOS وWindows

البنية التقنية

حزمة التقنيات الأساسية

  • اللغة: Rust + Tokio (أمان الذاكرة، أداء غير متزامن)
  • محرك الاستدلال: الواجهة الخلفية llama.cpp (استدلال GGUF القياسي في الصناعة)
  • تصميم API: متوافق مع OpenAI (استبدال فوري)

تنسيقات النماذج المدعومة

  • نماذج GGUF: تنسيق الدعم الرئيسي
  • SafeTensors: دعم أصلي، سرعة تحميل مضاعفة
  • محولات LoRA: دعم من الدرجة الأولى، من التدريب إلى API الإنتاج في 30 ثانية فقط

التثبيت والاستخدام

التثبيت السريع

الطريقة 1: التثبيت عبر Cargo

cargo install shimmy

الطريقة 2: تنزيل الملف الثنائي المُجهز مسبقًا (Windows)

curl -L https://github.com/Michael-A-Kuykendall/shimmy/releases/latest/download/shimmy.exe

الطريقة 3: تثبيت macOS

# تثبيت التبعيات
brew install cmake rust
# تثبيت shimmy
cargo install shimmy

الاستخدام الأساسي

1. تنزيل النماذج

# تنزيل نماذج متوافقة
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-gguf --local-dir ./models/
huggingface-cli download bartowski/Llama-3.2-1B-Instruct-GGUF --local-dir ./models/

2. تشغيل الخادم

# تخصيص المنفذ تلقائيًا
shimmy serve

# تحديد المنفذ يدويًا
shimmy serve --bind 127.0.0.1:11435

3. تهيئة أدوات الذكاء الاصطناعي

تهيئة VSCode:

{
  "github.copilot.advanced": {
    "serverUrl": "http://localhost:11435"
  }
}

تهيئة Continue.dev:

{
  "models": [{
    "title": "Local Shimmy",
    "provider": "openai", 
    "model": "your-model-name",
    "apiBase": "http://localhost:11435/v1"
  }]
}

أدوات سطر الأوامر

الأوامر الأساسية

shimmy serve                        # تشغيل الخادم (تخصيص المنفذ تلقائيًا)
shimmy serve --bind 127.0.0.1:8080 # ربط المنفذ يدويًا
shimmy list                         # عرض النماذج المتاحة
shimmy discover                     # تحديث اكتشاف النماذج
shimmy generate --name X --prompt "Hi" # اختبار التوليد
shimmy probe model-name             # التحقق من تحميل النموذج

نقاط نهاية API

نقاط النهاية الأساسية

  • GET /health - فحص السلامة
  • POST /v1/chat/completions - دردشة متوافقة مع OpenAI
  • GET /v1/models - سرد النماذج المتاحة
  • POST /api/generate - واجهة برمجة تطبيقات Shimmy الأصلية
  • GET /ws/generate - بث WebSocket

أمثلة الاستخدام

# اختبار API
curl -X POST http://localhost:11435/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-model",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

مقارنة الأداء

المؤشر Shimmy Ollama llama.cpp
حجم الملف الثنائي 5.1 ميجابايت 🏆 680 ميجابايت 89 ميجابايت
وقت التشغيل <100 مللي ثانية 🏆 5-10 ثوانٍ 1-2 ثانية
استخدام الذاكرة 50 ميجابايت 🏆 200 ميجابايت+ 100 ميجابايت
OpenAI API 100% 🏆 دعم جزئي لا يوجد

المزايا الرئيسية

🔒 خصوصية أولاً

  • يبقى الكود على جهازك المحلي
  • لا يوجد خطر تسرب البيانات
  • يعمل بالكامل دون اتصال بالإنترنت

💰 فعالية التكلفة

  • لا توجد رسوم لكل رمز (Token)
  • عدد غير محدود من الاستعلامات
  • تثبيت لمرة واحدة، استخدام دائم

⚡ أداء ممتاز

  • استدلال محلي، استجابة في أجزاء من الثانية
  • استهلاك منخفض للذاكرة
  • تشغيل سريع

🔄 نشر مرن

  • ملف ثنائي واحد
  • لا توجد تبعيات خارجية
  • توافق عبر الأنظمة الأساسية

الميزات الموسعة

دعم محولات LoRA

يوفر Shimmy دعمًا من الدرجة الأولى لمحولات LoRA، مما يتيح النشر السريع من النماذج المدربة إلى واجهة برمجة تطبيقات الإنتاج:

# تحميل محول LoRA
shimmy serve --lora-adapter path/to/adapter

تبديل النماذج الساخن

يدعم التبديل الديناميكي للنماذج أثناء التشغيل، دون الحاجة لإعادة تشغيل الخادم.

تسريع GPU

  • macOS: تسريع Metal GPU تلقائي
  • عبر الأنظمة الأساسية: يدعم مختلف الواجهات الخلفية لوحدات معالجة الرسوميات (GPU)

المجتمع والدعم

موارد المجتمع

الملخص

Shimmy هو حل ثوري للاستدلال المحلي للذكاء الاصطناعي، يثبت أن "الأقل هو الأكثر" في بعض الأحيان. من خلال تصميمه خفيف الوزن للغاية ومفهوم "صفر تهيئة"، يوفر Shimmy للمطورين بنية تحتية للذكاء الاصطناعي المحلي "جاهزة للاستخدام" حقًا، مع الحفاظ على أداء وتوافق على مستوى المؤسسات. سواء كنت مطور تطبيقات ذكاء اصطناعي، باحثًا، أو مستخدمًا مهتمًا بالخصوصية، فإن Shimmy يعد خيارًا ممتازًا يستحق النظر.

Star History Chart