
إعداد بروكسي LiteLLM: المفاتيح والتكاليف وحدود المعدل
فريقك يشارك مفاتيح API الخاصة بـ OpenAI في رسائل Slack المباشرة. لا أحد يعرف من أنفق 400 دولار الثلاثاء الماضي. لا يوجد حد للمعدل، ولا يوجد بديل احتياطي عندما يتعطل أحد المزودين، والتبديل من GPT-4o إلى Claude يعني تغيير الكود في اثني عشر مكاناً. هل يبدو هذا مألوفاً؟ بوابة LLM ذاتية الاستضافة تحل كل هذا، وبروكسي LiteLLM هو أكثر الخيارات مفتوحة المصدر شعبية -- نقطة نهاية واحدة متوافقة مع OpenAI توجّه الطلبات إلى أكثر من 100 مزود LLM.
يغطي هذا الدليل إعداد بروكسي LiteLLM بالكامل: Docker Compose مع PostgreSQL، ومفاتيح فريق افتراضية مع ميزانيات، وتتبع التكاليف، وحدود المعدل، وتوصيل IDEs للذكاء الاصطناعي مثل Claude Code وCursor. إذا كنت تقيّم أدوات بوابة LLM، فهذا هو البرنامج التعليمي العملي الذي يأخذك من الصفر إلى الإنتاج.
ملاحظة مهمة قبل البدء: SDK الخاص بـ LiteLLM (مكتبة Python) وخادم البروكسي شيئان مختلفان. SDK مخصص لمطور واحد يستدعي APIs متعددة من LLM من Python. البروكسي مخصص للفرق -- يجلس كخادم بين تطبيقاتك ومزودي LLM. إذا كنت مطوراً منفرداً تكتب نصاً برمجياً، فإن SDK يكفي. إذا كنت تدير المفاتيح والميزانيات والوصول لفريق، فأنت بحاجة إلى البروكسي. هذا ما نقوم بإعداده هنا.
بروكسي LiteLLM في لمحة سريعة
| الخاصية | التفاصيل |
|---|---|
| ما هو | خادم بروكسي متوافق مع OpenAI لأكثر من 100 مزود LLM |
| لمن | الفرق التي تدير مفاتيح API متعددة للـ LLM والميزانيات والوصول |
| الرخصة | MIT (مفتوح المصدر) |
| نجوم GitHub | أكثر من 20,000 |
| المزودون المدعومون | OpenAI وAnthropic وAzure وAWS Bedrock وGoogle Vertex وOllama وأكثر من 100 آخرين |
| الميزات الرئيسية | مفاتيح افتراضية، تتبع التكاليف، حد المعدل، بدائل النماذج، موازنة الحمل |
| طرق الإعداد | Docker وDocker Compose وpip وKubernetes/Helm |
| أحدث إصدار مستقر | v1.83+ (تجنب 1.82.7 و1.82.8 -- انظر استكشاف الأخطاء) |
| تنسيق الإعداد | config.yaml |
| لوحة التحكم | واجهة مدمجة لمراقبة التكاليف والاستخدام |
إليك كيفية مقارنة طرق النشر:
| الطريقة | التعقيد | الأفضل لـ | وقت الإعداد |
|---|---|---|---|
docker run | منخفض | الاختبار السريع، المطور المنفرد | 60 ثانية |
| Docker Compose + Postgres | متوسط | الفرق (2-50 شخصاً) | 10-15 دقيقة |
| Kubernetes / Helm | مرتفع | المؤسسات، التوسع التلقائي | 30-60 دقيقة |
| pip install | منخفض | التطوير المحلي فقط | 5 دقائق |
بالنسبة لمعظم الفرق، يعد Docker Compose مع PostgreSQL النقطة المثلى. هذا ما سنبنيه -- لكن أولاً، دعنا نجعل البروكسي يعمل في 60 ثانية.
المتطلبات الأساسية وإعداد البيئة
قبل البدء، تأكد من أن لديك:
- Docker وDocker Compose مثبتان (Docker Desktop يشمل كليهما)
- مفتاح API واحد على الأقل للـ LLM (OpenAI أو Anthropic أو نسخة Ollama محلية)
- معرفة أساسية بالطرفية / CLI
تحقق من جاهزية Docker وصدّر مفاتيح API الخاصة بك:
# تحقق من تثبيت Docker
docker --version
docker compose version
# صدّر مفاتيح API الخاصة بـ LLM (أضف إلى ملف تعريف shell للاستمرارية)
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
# اختياري: حدد مفتاحاً رئيسياً للبروكسي (ستحتاجه لاحقاً)
export LITELLM_MASTER_KEY="sk-master-مفتاحك-السري"هذا كل شيء. لا يوجد إصدار خاص من Python، ولا أدوات خاصة بنظام التشغيل. إذا كان Docker يعمل على جهازك، فأنت جاهز.
البدء السريع -- أول بروكسي LiteLLM في 60 ثانية
أمر واحد لبدء بروكسي مع GPT-4o:
docker run -d \
--name litellm-proxy \
-p 4000:4000 \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
-e LITELLM_MASTER_KEY=$LITELLM_MASTER_KEY \
ghcr.io/berriai/litellm:main-stable \
--model openai/gpt-4oاختبر باستخدام curl:
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o",
"messages": [{"role": "user", "content": "Say hello from LiteLLM"}]
}'أو اختبر من Python:
from openai import OpenAI
# وجّه SDK الخاص بـ OpenAI القياسي نحو البروكسي
client = OpenAI(
api_key="sk-master-مفتاحك-السري",
base_url="http://localhost:4000/v1"
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Say hello from LiteLLM"}]
)
print(response.choices[0].message.content)ماذا حدث للتو؟ يتحدث كودك مع localhost:4000 باستخدام تنسيق SDK القياسي لـ OpenAI. يستقبل البروكسي الطلب ويحيله إلى API الخاص بـ OpenAI بالمفتاح الحقيقي ويُرجع الاستجابة. كود تطبيقك لا يلمس مفتاح API الفعلي أبداً.
هذه هي الفكرة الأساسية. الآن دعنا نبني إعداداً للإنتاج.
إعداد Docker Compose للإنتاج مع PostgreSQL
أمر docker run الواحد يعمل للاختبار، لكن فرق الإنتاج تحتاج إلى تتبع تكاليف مستمر ومفاتيح افتراضية وتخزين قاعدة بيانات مناسب. هذا يعني Docker Compose مع PostgreSQL.
ملف Docker Compose
# docker-compose.yml
version: "3.9"
services:
litellm:
image: ghcr.io/berriai/litellm:main-stable
container_name: litellm-proxy
ports:
- "4000:4000" # منفذ API البروكسي
volumes:
- ./config.yaml:/app/config.yaml # تحميل ملف الإعداد
environment:
- LITELLM_MASTER_KEY=${LITELLM_MASTER_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- DATABASE_URL=postgresql://litellm:litellm_password@postgres:5432/litellm
- LITELLM_SALT_KEY=${LITELLM_SALT_KEY:-sk-salt-random-string}
command: --config /app/config.yaml --detailed_debug
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
postgres:
image: postgres:16-alpine
container_name: litellm-db
environment:
POSTGRES_DB: litellm
POSTGRES_USER: litellm
POSTGRES_PASSWORD: litellm_password
volumes:
- litellm_pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U litellm"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
litellm_pgdata:LITELLM_SALT_KEY يُشفّر بيانات المفاتيح الافتراضية في قاعدة البيانات. توصي وثائق أفضل ممارسات إنتاج LiteLLM بتعيينه لأي نشر للفريق.
بدء تشغيل المكدس
# إنشاء ملف .env بمفاتيحك (لا تُدرجه في git)
echo "LITELLM_MASTER_KEY=sk-master-سرك" > .env
echo "OPENAI_API_KEY=sk-..." >> .env
echo "ANTHROPIC_API_KEY=sk-ant-..." >> .env
echo "LITELLM_SALT_KEY=sk-salt-$(openssl rand -hex 16)" >> .env
# بدء تشغيل كل شيء
docker compose up -d
# مراجعة السجلات
docker compose logs -f litellmالتحقق من أن كل شيء يعمل
# فحص الصحة
curl http://localhost:4000/health
# اختبار طلب
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "ping"}]}'إذا رأيت استجابة ناجحة، فإن مكدس الإنتاج الخاص بك يعمل. يخزّن PostgreSQL جميع بيانات التكاليف والمفاتيح الافتراضية ومقاييس الاستخدام بشكل مستمر عبر إعادات تشغيل الحاويات.
الخلاصة: Docker Compose + PostgreSQL هو إعداد الإنتاج الموصى به. يمنحك تخزيناً مستمراً وتتبعاً للتكاليف ومفاتيح افتراضية في حوالي 10 دقائق من العمل. تغطي وثائق نشر Docker Kubernetes وHelm إذا احتجت إلى التوسع التلقائي لاحقاً.
شرح Config.yaml -- إعداد حقيقي متعدد المزودين
معظم البرامج التعليمية تعرض config.yaml بنموذج واحد. إليك كيف يبدو إعداد فريق حقيقي مع ثلاثة مزودين وبدائل احتياطية وموازنة حمل.
ملف الإعداد
# config.yaml -- إعداد حقيقي متعدد المزودين
model_list:
# الأساسي: OpenAI GPT-4o
- model_name: gpt-4o # الاسم الذي يستخدمه كودك
litellm_params:
model: openai/gpt-4o # المزود/النموذج الفعلي
api_key: os.environ/OPENAI_API_KEY
# الثانوي: Anthropic Claude
- model_name: claude-sonnet
litellm_params:
model: anthropic/claude-sonnet-4-20250514
api_key: os.environ/ANTHROPIC_API_KEY
# المحلي: Ollama للتطوير / الاختبار المجاني
- model_name: local-llama
litellm_params:
model: ollama/llama3.1
api_base: http://host.docker.internal:11434
# البديل الاحتياطي: توجيه "gpt-4o" إلى Claude إذا كان OpenAI معطلاً
- model_name: gpt-4o
litellm_params:
model: anthropic/claude-sonnet-4-20250514
api_key: os.environ/ANTHROPIC_API_KEY
router_settings:
routing_strategy: least-busy # موازنة الحمل عبر النماذج التي لها نفس الاسم
num_retries: 3
retry_after: 5 # ثوانٍ بين المحاولات
fallbacks: [{"gpt-4o": ["claude-sonnet"]}]
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
database_url: os.environ/DATABASE_URLأسماء مستعارة للنماذج والتوجيه
لاحظ أن gpt-4o يظهر مرتين في الإعداد -- مرة يشير إلى OpenAI ومرة إلى Anthropic. عندما يطلب كودك gpt-4o، يجرب LiteLLM OpenAI أولاً. إذا فشل، يوجّه إعداد fallbacks تلقائياً إلى Claude. كود تطبيقك لا يتغير على الإطلاق.
إذا كنت تستخدم خوادم الاستدلال للإنتاج مثل vLLM أو SGLang، يمكنك إضافتها بنفس الطريقة -- فقط حدد api_base لخادم الاستدلال الخاص بك.
مرجع سريع للمزودين
| المزود | مثال على model_name | متغير البيئة | نقطة النهاية |
|---|---|---|---|
| OpenAI | openai/gpt-4o | OPENAI_API_KEY | الافتراضي (api.openai.com) |
| Anthropic | anthropic/claude-sonnet-4-20250514 | ANTHROPIC_API_KEY | الافتراضي |
| Ollama | ollama/llama3.1 | غير مطلوب | http://localhost:11434 |
| Azure OpenAI | azure/gpt-4o | AZURE_API_KEY | نقطة نهاية Azure الخاصة بك |
| AWS Bedrock | bedrock/anthropic.claude-v2 | بيانات اعتماد AWS | منطقتك |
يوزّع إعداد routing_strategy: least-busy الطلبات عبر النماذج التي لها نفس model_name. إذا كان لديك مفتاحا OpenAI (ربما منظمتان مختلفتان بحدود معدل مختلفة)، ادرجهما معاً تحت gpt-4o وسيوازن LiteLLM الحمل.
المفاتيح الافتراضية -- مفاتيح API للفريق مع ميزانيات وحدود معدل
هنا يتوقف LiteLLM عن كونه "مجرد بروكسي" ويصبح أداة إدارة للفريق. تتيح لك المفاتيح الافتراضية منح كل عضو في الفريق أو خدمة مفتاح API خاصاً بها مع حدود إنفاق وحدود معدل -- كل ذلك يُوجَّه عبر مجموعتك الواحدة من مفاتيح API للمزود.
إنشاء مفتاح فريق بميزانية
# إنشاء مفتاح افتراضي بميزانية 50 دولار/شهر
curl http://localhost:4000/key/generate \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"team_id": "frontend-team",
"max_budget": 50.0,
"budget_duration": "1mo",
"models": ["gpt-4o", "claude-sonnet"],
"metadata": {"purpose": "frontend AI features"}
}'تمنحك الاستجابة مفتاحاً جديداً مثل sk-team-abc123.... أعطه لفريق الواجهة الأمامية. يمكنهم استخدامه تماماً مثل مفتاح OpenAI، لكنه مقيّد بـ 50 دولار/شهر وله وصول فقط إلى النماذج التي حددتها.
تعيين حدود المعدل
# إنشاء مفتاح بحدود معدل: 100 طلب/دقيقة، 50 ألف رمز/دقيقة
curl http://localhost:4000/key/generate \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"team_id": "backend-team",
"max_budget": 200.0,
"budget_duration": "1mo",
"rpm_limit": 100,
"tpm_limit": 50000,
"models": ["gpt-4o", "claude-sonnet", "local-llama"]
}'تغطي وثائق المفاتيح الافتراضية كل معامل. يمكنك أيضاً تعيين ميزانيات وحدود معدل لكل مستخدم للحصول على تحكم أكثر دقة.
مراقبة استخدام المفاتيح
import requests
# تحقق من الإنفاق الحالي وحدود المفتاح
response = requests.get(
"http://localhost:4000/key/info",
headers={"Authorization": f"Bearer {MASTER_KEY}"},
params={"key": "sk-team-abc123..."}
)
info = response.json()
print(f"المُنفَق: ${info['spend']:.2f} / ${info['max_budget']:.2f}")
print(f"RPM المستخدم: {info['rpm_limit_used']} / {info['rpm_limit']}")تحتاج إلى إلغاء مفتاح مخترق؟ استدعاء API واحد:
curl -X POST http://localhost:4000/key/delete \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{"keys": ["sk-team-abc123..."]}'الخلاصة: المفاتيح الافتراضية تجعل LiteLLM أداة فريق وليس مجرد بروكسي شخصي. بدونها، أنت فقط تضيف قفزة بين كودك وLLM. معها، لديك التحكم في الوصول وإنفاذ الميزانية وإسناد الاستخدام -- النوع من الأشياء الذي يمنع مديرك المالي من الإصابة بالذعر.
تتبع التكاليف ولوحة تحكم LiteLLM
بمجرد توصيل PostgreSQL، يتتبع LiteLLM تكلفة كل طلب تلقائياً. لا تحتاج إلى تهيئة أي شيء -- إنه يعرف سعر الرمز لكل نموذج مدعوم.
لوحة التحكم
ادخل إلى الواجهة المدمجة على http://localhost:4000/ui (سجّل الدخول بمفتاحك الرئيسي). ستشاهد:
- إجمالي الإنفاق عبر جميع الفرق والمفاتيح
- تفصيل لكل نموذج -- أي النماذج تستهلك ميزانيتك
- إنفاق لكل فريق -- من يستخدم ماذا
- حجم الطلبات عبر الزمن
بالنسبة للفرق الجادة بشأن تقليل تكاليف API للـ LLM، تبرر لوحة التحكم وحدها تشغيل البروكسي. يمكنك أيضاً توصيل LiteLLM بـ منصات مراقبة الذكاء الاصطناعي الخارجية مثل Langfuse أو Helicone لتحليلات أعمق.
مقارنة التكاليف لكل مزود
إليك تكاليف النماذج الرئيسية لكل مليون رمز (اعتباراً من أبريل 2026):
| المزود | النموذج | المدخلات $/مليون رمز | المخرجات $/مليون رمز |
|---|---|---|---|
| OpenAI | GPT-4o | $2.50 | $10.00 |
| OpenAI | GPT-4o mini | $0.15 | $0.60 |
| Anthropic | Claude Sonnet 4 | $3.00 | $15.00 |
| Anthropic | Claude Haiku 3.5 | $0.80 | $4.00 |
| Gemini 2.0 Flash | $0.10 | $0.40 | |
| Ollama | Llama 3.1 (محلي) | $0.00 | $0.00 |
عندما ترى هذه الأرقام في لوحة التحكم مفصّلة حسب الفريق، تصبح محادثات "هل يجب أن نستخدم نموذجاً أرخص لهذه الحالة؟" ملموسة جداً.
الخلاصة: تتبع التكاليف وحده يبرر البروكسي لأي فريق ينفق أكثر من 100 دولار/شهر على APIs للـ LLM. لا يمكنك تحسين ما لا تستطيع قياسه.
توصيل IDEs للذكاء الاصطناعي -- Claude Code وCursor وContinue
إليك شيئاً تتخطاه معظم أدلة LiteLLM تماماً: يمكنك أيضاً توجيه أدوات الترميز بالذكاء الاصطناعي نحو البروكسي. بروكسي واحد، جميع أدوات IDE، فوترة موحّدة.
Claude Code
# تعيين Claude Code لاستخدام بروكسي LiteLLM
export ANTHROPIC_BASE_URL=http://localhost:4000/v1
export ANTHROPIC_API_KEY=sk-team-مفتاحك-الافتراضيهذا كل شيء. يرسل Claude Code الطلبات إلى بروكسيك، الذي يوجّهها إلى Anthropic (أو إلى ما تقوله إعداداتك) مع تتبع التكاليف تحت مفتاحك الافتراضي.
Cursor
في إعدادات Cursor، أضف نقطة نهاية مخصصة متوافقة مع OpenAI:
{
"openai.apiBaseUrl": "http://localhost:4000/v1",
"openai.apiKey": "sk-team-مفتاحك-الافتراضي"
}Continue (VS Code)
في config.json الخاص بـ Continue:
{
"models": [
{
"title": "GPT-4o عبر LiteLLM",
"provider": "openai",
"model": "gpt-4o",
"apiBase": "http://localhost:4000/v1",
"apiKey": "sk-team-مفتاحك-الافتراضي"
}
]
}لماذا نفعل هذا؟ لأن استخدام IDE لكل مطور يمر الآن عبر البروكسي. تحصل على تتبع تكاليف لكل شخص لمساعدي الترميز بالذكاء الاصطناعي، وحدود معدل حتى لا يحرق أحد بالخطأ 500 دولار في جلسة ترميز واحدة، ومكان واحد لتغيير النماذج إذا وجدت خياراً أفضل.
استكشاف المشاكل الشائعة وإصلاحها
"ملف الإعداد غير موجود"
يعني هذا عادةً أن مسار تحميل الحجم غير صحيح في Docker. تأكد من أن config.yaml موجود في الدليل الذي تحمّل منه:
# تحقق من وجود الملف حيث تعتقد
ls -la ./config.yaml
# يجب أن يتطابق تحميل الحجم في docker-compose.yml
# volumes:
# - ./config.yaml:/app/config.yaml"الاتصال مرفوض" بـ PostgreSQL
شبكات Docker تُفاجئ الجميع مرة واحدة على الأقل. إذا تعذّر على LiteLLM الوصول إلى Postgres، تحقق من:
- اسم الخدمة في
DATABASE_URLيتطابق مع اسم خدمة Docker Compose (postgres، ليسlocalhost) - تعيين
depends_onمعcondition: service_healthy(حتى ينتظر LiteLLM حتى يصبح Postgres جاهزاً) - كلتا الخدمتين على نفس شبكة Docker (وهما كذلك افتراضياً في Compose)
"تنسيق مفتاح API غير صالح"
الخلط الأكثر شيوعاً: LITELLM_MASTER_KEY مخصص للعمليات الإدارية (إنشاء مفاتيح افتراضية، الوصول إلى لوحة التحكم). المفاتيح الافتراضية (sk-team-...) هي ما تستخدمه تطبيقاتك. لا تخلط بينهما.
"النموذج غير موجود"
يجب أن يتطابق حقل model في طلبك مع model_name في config.yaml. إذا كان إعدادك يحدد gpt-4o لكن كودك يطلب openai/gpt-4o، فلن يتطابق. تحقق من الإملاء الدقيق.
البروكسي يبدأ لكن الطلبات تتوقف
عادةً مشكلة جدار حماية أو ربط منفذ. تحقق من أن المنفذ 4000 مكشوف وغير محجوب:
# تحقق مما إذا كان المنفذ يستمع
docker port litellm-proxy
# يجب أن يُظهر: 4000/tcp -> 0.0.0.0:4000الأمان: تجنب الإصدارين 1.82.7 و1.82.8
في مارس 2026، أثّرت حادثة في سلسلة التوريد على إصداري LiteLLM 1.82.7 و1.82.8. تم سحب الإصدارات المخترقة وشُحن إصدار نظيف عند 1.83.0. احرص دائماً على تثبيت صورة Docker الخاصة بك على إصدار محدد وتحقق من تحديث الأمان الرسمي قبل الترقية. إذا كنت تستخدم 1.82.7 أو 1.82.8، فقم بالتحديث فوراً.
أي طريقة إعداد LiteLLM يجب أن تختار؟
| إذا كنت بحاجة إلى... | اختر | السبب |
|---|---|---|
| اختبار سريع، مطور منفرد يجرّب | سطر docker run | تهيئة صفرية، يعمل في 60 ثانية |
| فريق من 2-10 مع تتبع التكاليف | Docker Compose + PostgreSQL | بيانات مستمرة، مفاتيح افتراضية، حدود ميزانية |
| فريق من 10-50 مع بيئات متعددة | Docker Compose + Redis cache | يضيف التخزين المؤقت للطلبات المتكررة، إنتاجية أفضل |
| مؤسسات مع امتثال / توسع تلقائي | Kubernetes + مخطط Helm | توسع تلقائي، تحديثات متدرجة، تكامل RBAC |
| تطوير محلي بدون Docker | pip install litellm + CLI | الأسرع لمطوري Python الذين يختبرون محلياً |
إذا كنت تقرأ هذا الدليل لأول مرة، ابدأ بـ Docker Compose + PostgreSQL. يمكنك دائماً الانتقال إلى Kubernetes لاحقاً -- يبقى config.yaml كما هو.
الأسئلة الشائعة
ما هو بروكسي LiteLLM وكيف يعمل؟
بروكسي LiteLLM هو خادم بوابة ذكاء اصطناعي مفتوح المصدر يجلس بين تطبيقاتك ومزودي LLM مثل OpenAI وAnthropic. يكشف عن نقطة نهاية واحدة متوافقة مع OpenAI، بحيث يتحدث كودك مع عنوان URL واحد بينما يتولى البروكسي التوجيه وإدارة المفاتيح وتتبع التكاليف والبدائل الاحتياطية خلف الكواليس.
كيف أعدّ بروكسي LiteLLM مع Docker Compose؟
أنشئ docker-compose.yml مع صورة بروكسي LiteLLM وقاعدة بيانات PostgreSQL، وحمّل config.yaml، وحدد مفاتيح API كمتغيرات بيئة، وقم بتشغيل docker compose up -d. قسم "إعداد Docker Compose للإنتاج" أعلاه يحتوي على ملف كامل جاهز للنسخ واللصق.
كيف أدير مفاتيح API للفريق مع LiteLLM؟
استخدم المفاتيح الافتراضية. استدعِ نقطة النهاية /key/generate بمفتاحك الرئيسي لإنشاء مفاتيح لكل فريق أو لكل مستخدم. يمكن لكل مفتاح افتراضي أن يكون له ميزانية شهرية خاصة وحدود معدل (RPM وTPM) وقيود وصول للنماذج. قسم "المفاتيح الافتراضية" يغطي سير العمل الكامل.
كيف أضيف تتبع التكاليف وحدود المعدل إلى API الخاص بـ LLM؟
وصّل PostgreSQL بالبروكسي (عبر DATABASE_URL) ويحدث تتبع التكاليف تلقائياً. لحدود المعدل، حدد rpm_limit وtpm_limit عند توليد المفاتيح الافتراضية. تُظهر لوحة التحكم المدمجة على /ui الإنفاق لكل فريق ولكل نموذج.
هل بروكسي LiteLLM آمن للاستخدام في الإنتاج؟
نعم، مع تحفظ واحد: تجنب الإصدارين 1.82.7 و1.82.8 اللذين تأثرا بحادثة سلسلة التوريد في مارس 2026. استخدم الإصدار 1.83.0 أو أحدث. ثبّت إصدار صورة Docker، وعيّن LITELLM_SALT_KEY للتشفير، واتبع أفضل ممارسات الإنتاج الرسمية.
ما الفرق بين LiteLLM SDK وبروكسي LiteLLM؟
SDK هو مكتبة Python للاتصال بعدة APIs للـ LLM من كودك. البروكسي هو خادم مستقل يتصل به فريقك بأكمله. استخدم SDK عندما تكون مطوراً منفرداً تكتب نصاً برمجياً. استخدم البروكسي عندما تحتاج إلى تحكم مشترك في الوصول وتتبع التكاليف وحدود المعدل عبر فريق.
هل يمكنني استخدام بروكسي LiteLLM مع Ollama والنماذج المحلية؟
بالتأكيد. أضف إدخالاً إلى config.yaml مع model: ollama/llama3.1 وapi_base: http://host.docker.internal:11434 (أو مضيف Ollama الخاص بك). يمكن لفريقك بعد ذلك الوصول إلى النماذج المحلية عبر نفس نقطة نهاية البروكسي، وهو أمر رائع للتطوير والاختبار المجاني.
كم يكلف بروكسي LiteLLM؟
بروكسي LiteLLM مجاني ومفتوح المصدر (رخصة MIT). أنت تستضيفه بنفسك على بنيتك التحتية. التكاليف الوحيدة هي خادمك (يكفي VPS صغير لمعظم الفرق) وتكاليف API للـ LLM التي تدفعها بالفعل. تقدم BerriAI أيضاً نسخة سحابية مُدارة إذا كنت لا تريد الاستضافة الذاتية.
ما المزودون الذين يدعمهم LiteLLM؟
أكثر من 100، بما في ذلك OpenAI وAnthropic وAzure OpenAI وAWS Bedrock وGoogle Vertex AI وOllama وHugging Face وCohere وReplicate وكثير غيرها. القائمة الكاملة موجودة في مستودع GitHub الخاص بـ LiteLLM.
كيف أحدّث بروكسي LiteLLM بأمان؟
ثبّت دائماً إصداراً محدداً في وسم صورة Docker الخاصة بك (مثلاً ghcr.io/berriai/litellm:v1.83.2-stable). قبل الترقية، راجع سجل التغييرات بحثاً عن تغييرات قد تكسر التوافق. لا تستخدم أبداً latest في الإنتاج. وتحقق دائماً من أن الإصدار الجديد ليس في قائمة التنبيهات الأمنية -- أثبتت حادثة مارس 2026 أنه حتى الحزم الموثوقة يمكن اختراقها.
الحكم النهائي والخطوات التالية
| الفئة | التوصية | ملاحظات |
|---|---|---|
| البدء السريع | سطر docker run | مثالي للاختبار لأول مرة |
| إعداد الفريق | Docker Compose + PostgreSQL | المعيار لـ 90% من الفرق |
| الإعداد | متعدد المزودين مع بدائل احتياطية | لا تعتمد على مزود واحد فقط |
| إدارة المفاتيح | مفاتيح افتراضية لكل فريق | ميزانية + حد معدل لكل مفتاح |
| رؤية التكاليف | لوحة تحكم مدمجة + Postgres | قِس قبل أن تُحسّن |
| تكامل IDE | وجّه Claude Code / Cursor نحو البروكسي | فوترة موحّدة لجميع الأدوات |
| الأمان | ثبّت الإصدارات، عيّن مفتاح salt | تجنب 1.82.7 و1.82.8 |
إذا كان فريقك ينفق أموالاً على APIs للـ LLM وليس لديك بروكسي بعد، فابدأ بـ Docker Compose + Postgres اليوم. يستغرق الإعداد 15 دقيقة وستحصل على رؤية للتكاليف والتحكم في الوصول بنهايته.
بمجرد التشغيل، استكشف إضافة حواجز الحماية إلى خط أنابيب LLM لتصفية المحتوى وفحوصات الأمان. البروكسي هو الأساس -- كل شيء آخر يُبنى فوقه.