Home
Login

بوابة موحدة لاستدعاء واجهات برمجة تطبيقات نماذج اللغات الكبيرة (LLM)، تدعم أكثر من 100 مزود لنماذج اللغات الكبيرة بتنسيق OpenAI.

NOASSERTIONPython 24.4kBerriAI Last Updated: 2025-06-21

LiteLLM - بوابة موحدة لاستدعاء واجهات برمجة تطبيقات نماذج اللغة الكبيرة

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

LiteLLM عبارة عن حزمة تطوير برامج (SDK) مفتوحة المصدر بلغة Python وخادم وكيل (بوابة LLM)، قادر على استدعاء أكثر من 100 واجهة برمجة تطبيقات لنماذج اللغة الكبيرة بتنسيق OpenAI، بما في ذلك موفري الخدمات الرئيسيين مثل Bedrock وAzure وOpenAI وVertexAI وCohere وAnthropic وSagemaker وHuggingFace وReplicate وGroq وغيرها.

عنوان GitHub: https://github.com/BerriAI/litellm

الوظائف الأساسية

1. تنسيق API موحد

  • توحيد تنسيق الإدخال: تحويل مدخلات جميع الموفرين إلى تنسيق موحد
  • اتساق تنسيق الإخراج: يمكن دائمًا الحصول على استجابة النص في ['choices'][0]['message']['content']
  • دعم نقاط النهاية المتعددة: يدعم نقاط نهاية الإكمال والتضمين وتوليد الصور

2. ضمان التوفر العالي

  • منطق إعادة المحاولة/الرجوع: يدعم إعادة المحاولة التلقائية والرجوع بين عمليات النشر المتعددة (مثل Azure/OpenAI)
  • وظيفة التوجيه: توجيه ذكي إلى أفضل نموذج متاح
  • موازنة التحميل: توزيع حمل الطلبات بين عمليات النشر المتعددة

3. التحكم في التكلفة والأذونات

  • إدارة الميزانية: تعيين حدود الميزانية حسب المشروع ومفتاح API والنموذج
  • تحديد المعدل: منع الاستخدام المفرط لاستدعاءات API
  • تتبع الاستخدام: إحصائيات تفصيلية للاستدعاءات وتحليل التكلفة

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

مثال على استخدام Python SDK

استدعاء أساسي
from litellm import completion
import os


os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["ANTHROPIC_API_KEY"] = "your-anthropic-key"

messages = [{"content": "Hello, how are you?", "role": "user"}]

# OpenAI
response = completion(model="openai/gpt-4o", messages=messages)

# Anthropic
response = completion(model="anthropic/claude-3-sonnet-20240229", messages=messages)
دعم الاستدعاء غير المتزامن
from litellm import acompletion
import asyncio

async def test_get_response():
    user_message = "Hello, how are you?"
    messages = [{"content": user_message, "role": "user"}]
    response = await acompletion(model="openai/gpt-4o", messages=messages)
    return response

response = asyncio.run(test_get_response())
استجابة تدفقية
from litellm import completion

response = completion(model="openai/gpt-4o", messages=messages, stream=True)
for part in response:
    print(part.choices[0].delta.content or "")

وظيفة الخادم الوكيل

تشغيل سريع

pip install 'litellm[proxy]'
litellm --model huggingface/bigcode/starcoder
# INFO: Proxy running on http://0.0.0.0:4000

استدعاء العميل

import openai

client = openai.OpenAI(
    api_key="anything",
    base_url="http://0.0.0.0:4000"
)

response = client.chat.completions.create(
    model="gpt-3.5-turbo", 
    messages=[{
        "role": "user",
        "content": "this is a test request, write a short poem"
    }]
)

الموفرون المدعومون

يدعم LiteLLM أكثر من 30 موفرًا رئيسيًا لـ LLM، بما في ذلك:

موفرو الخدمات السحابية الرئيسيون

  • OpenAI - نماذج سلسلة GPT
  • Azure - خدمة Azure OpenAI
  • AWS - Bedrock وSageMaker
  • Google - Vertex AI وPaLM وGemini
  • Anthropic - نماذج سلسلة Claude

منصات مفتوحة المصدر واحترافية

  • HuggingFace - استضافة نماذج مفتوحة المصدر
  • Replicate - خدمة API للنماذج
  • Together AI - استنتاج نماذج مفتوحة المصدر
  • Groq - شريحة استنتاج عالية السرعة
  • Ollama - تشغيل النماذج محليًا

منصات الميزات الخاصة

  • Cohere - معالجة اللغة الطبيعية على مستوى المؤسسات
  • AI21 - نماذج Jurassic
  • Perplexity - توليد معزز بالبحث
  • DeepInfra - استنتاج عالي الأداء

إمكانية الملاحظة والتسجيل

يدعم LiteLLM بشكل مضمن العديد من منصات المراقبة والتسجيل:

import litellm
import os


os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"
os.environ["HELICONE_API_KEY"] = "your-helicone-auth-key"
os.environ["LANGFUSE_PUBLIC_KEY"] = "your-langfuse-public-key"


litellm.success_callback = [
    "lunary", "mlflow", "langfuse", 
    "athina", "helicone"
]


response = completion(
    model="openai/gpt-4o", 
    messages=[{"role": "user", "content": "Hi 👋"}]
)

منصات المراقبة المدعومة:

  • Lunary - مراقبة تطبيقات LLM
  • MLflow - تتبع تجارب تعلم الآلة
  • Langfuse - تتبع تطبيقات LLM
  • Helicone - مراقبة استدعاءات API
  • Athina - تقييم تطبيقات الذكاء الاصطناعي

ميزات على مستوى المؤسسات

نظام إدارة المفاتيح


curl 'http://0.0.0.0:4000/key/generate' \
  --header 'Authorization: Bearer sk-1234' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "models": ["gpt-3.5-turbo", "gpt-4", "claude-2"], 
    "duration": "20m",
    "metadata": {
      "user": "user@company.com", 
      "team": "core-infra"
    }
  }'

نشر Docker


git clone https://github.com/BerriAI/litellm
cd litellm


echo 'LITELLM_MASTER_KEY="sk-1234"' > .env
echo 'LITELLM_SALT_KEY="your-salt-key"' > .env


docker-compose up

واجهة إدارة الويب

  • قم بزيارة /ui للحصول على واجهة إدارة مرئية
  • قم بتعيين ميزانيات وحدود المعدل للمشاريع المتعددة
  • مراقبة استخدام API في الوقت الفعلي
  • إدارة المستخدمين والفرق

المواصفات الفنية

متطلبات النظام

  • إصدار Python: يتطلب Python 3.7+
  • متطلبات التبعية:
    • openai>=1.0.0 (إلزامي v1.0.0+)
    • pydantic>=2.0.0 (إلزامي v1.40.14+)

معايير جودة التعليمات البرمجية

  • نمط التعليمات البرمجية: اتبع إرشادات نمط Python من Google
  • أداة التنسيق: استخدم Black وisort
  • فحص النوع: MyPy وPyright
  • فحص التعليمات البرمجية: استخدم Ruff لإجراء فحص lint

ضمان الاستقرار

  • إصدار مستقر: استخدم صور Docker التي تحمل علامة -stable
  • اختبار التحميل: إجراء اختبار تحميل لمدة 12 ساعة قبل الإصدار
  • التكامل المستمر: عملية CI/CD كاملة

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

ميزات إصدار المؤسسة

  • ميزات أمان متقدمة: تكامل تسجيل الدخول الأحادي (SSO)
  • دعم احترافي: دعم مخصص على Discord وSlack
  • تكامل مخصص: تكامل مخصص لموفري LLM
  • ضمان SLA: اتفاقية مستوى الخدمة
  • أولوية الميزات: تطوير الميزات المطلوبة للمؤسسات ذات الأولوية

دعم المجتمع

  • مشكلات GitHub: طلبات الميزات وتقارير المشكلات
  • مجتمع Discord: تبادل ودعم في الوقت الفعلي
  • توثيق كامل: وثائق API مفصلة وبرامج تعليمية

حالات الاستخدام

1. نشر LLM متعدد السحابات

  • تجنب إغلاق المورد
  • تحقيق استدعاء النموذج عبر الأنظمة الأساسية
  • تقليل تكاليف الترحيل

2. تحسين التكلفة

  • توجيه ذكي إلى أرخص نموذج متاح
  • التحكم في الميزانية ومراقبة الاستخدام
  • تحسين استدعاءات API المجمعة

3. بنية عالية التوفر

  • تجاوز الفشل التلقائي
  • موازنة التحميل
  • دعم النشر متعدد المناطق

4. تحسين كفاءة التطوير

  • واجهة API موحدة
  • تبسيط تبديل النموذج
  • دعم SDK غني

التثبيت والبدء السريع

التثبيت الأساسي

pip install litellm

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

pip install 'litellm[proxy]'

إعداد بيئة التطوير


git clone https://github.com/BerriAI/litellm
cd litellm


python -m venv .venv
source .venv/bin/activate


pip install -e ".[all]"


uvicorn litellm.proxy.proxy_server:app --host localhost --port 4000 --reload

ملخص

تم اعتماد LiteLLM من قبل شركات بارزة مثل Rocket Money وSamsara وLemonade وAdobe. من خلال توفير واجهة API موحدة ووظائف توجيه قوية وميزات إدارة على مستوى المؤسسات، فإنه يبسط بشكل كبير تعقيد إدارة بيئات LLM المتعددة، مما يجعله خيارًا مثاليًا لتطوير تطبيقات الذكاء الاصطناعي الحديثة.