مكتبة بايثون احترافية لإدارة وتنزيل وتقديم نماذج الذكاء الاصطناعي من مصادر متعددة (Hugging Face و Ollama) مع خادم FastAPI مدمج.
- دعم متعدد المصادر: إدارة النماذج من Hugging Face Hub و Ollama.
- خادم FastAPI: واجهة برمجة تطبيقات REST شاملة لإدارة النماذج والاستدلال.
- نفق عام: كشف خادمك المحلي تلقائيًا على الإنترنت باستخدام
pyngrok. - إدارة Ollama: التثبيت التلقائي، بدء التشغيل، الإيقاف، وسحب النماذج.
- جودة إنتاجية: مبني على مبادئ SOLID، بنية نظيفة، ومعالجة قوية للأخطاء.
- دعم غير متزامن: عمليات غير متزامنة بالكامل لأداء عالٍ.
pip install fastapi uvicorn huggingface_hub transformers ollama pyngrok pydantic-settingsfrom aimanager.main import start_server
# Start the server on port 8000 with a public tunnel
start_server(
port=8000,
public=True,
auto_install_ollama=True,
initial_models=["llama3", "sentence-transformers/all-MiniLM-L6-v2"]
)import asyncio
from aimanager.managers.factory import ManagerFactory
async def main():
# Get the Hugging Face manager
hf_manager = ManagerFactory.get_manager("huggingface")
# Download a model
await hf_manager.download_model("sentence-transformers/all-MiniLM-L6-v2")
# List downloaded models
models = await hf_manager.list_downloaded_models()
print(f"Downloaded models: {models}")
if __name__ == "__main__":
asyncio.run(main())GET /models: سرد جميع النماذج التي تم تنزيلها.GET /models/{model_id}: الحصول على معلومات مفصلة عن النموذج.POST /models/download: تنزيل نموذج من Hugging Face أو Ollama.DELETE /models/{model_id}: حذف نموذج من التخزين المحلي.POST /models/load: تحميل نموذج في الذاكرة.POST /models/unload: إلغاء تحميل نموذج من الذاكرة.
GET /ollama/status: التحقق من تثبيت Ollama وحالة الخدمة.POST /ollama/install: تثبيت Ollama على النظام.POST /ollama/start: بدء خدمة Ollama.POST /ollama/stop: إيقاف خدمة Ollama.GET /ollama/models: سرد جميع النماذج في Ollama.POST /ollama/models/pull: سحب نموذج من مكتبة Ollama.DELETE /ollama/models/{model_name}: إزالة نموذج من Ollama.POST /ollama/run: تشغيل مطالبة (prompt) مقابل نموذج Ollama.
GET /server/status: الحصول على حالة خادم API.POST /server/restart: إعادة تشغيل خادم API.POST /server/refresh: تحديث تكوين الخادم.
تتبع المكتبة بنية نظيفة مع فصل واضح للمسؤوليات:
- Core: التكوين، التسجيل، والاستثناءات المخصصة.
- Managers: فئة أساسية مجردة وتطبيقات محددة لمصادر النماذج المختلفة.
- API: تطبيق FastAPI مع مسارات معيارية ومخططات Pydantic.
- Utils: وظائف مساعدة للأنفاق العامة ومهام المساعدة الأخرى.
MIT License
Copyright © 2026 Abdulaziz Alqudimi. All rights reserved.