مجله ایرانیکاسرور آموزش سرور، هاست، وردپرس و شبکه پنل کاربری

آموزش کامل نصب LiteLLM Proxy روی سرور مجازی؛ ساخت API واحد برای OpenAI، Claude، Gemini و مدل‌های Local

اگر روی پروژه‌ای کار می‌کنید که چندین مدل هوش مصنوعی را همزمان صدا می‌زند — یکی GPT، یکی Claude، یکی Gemini و شاید یک مدل لوکال روی سرور خودتان — حتماً این درد را…

✍ Amir Jabbari 📅 6 مهر 1405 ⏱ 8 دقیقه مطالعه 👁 8 بازدید 💬 0 دیدگاه

اگر روی پروژه‌ای کار می‌کنید که چندین مدل هوش مصنوعی را همزمان صدا می‌زند — یکی GPT، یکی Claude، یکی Gemini و شاید یک مدل لوکال روی سرور خودتان — حتماً این درد را می‌شناسید: مدیریت چندین API Key، چندین ساختار درخواست متفاوت، و هزینه‌هایی که هیچ‌وقت دقیق نمی‌دانید کجا خرج می‌شوند.

LiteLLM Proxy دقیقاً برای همین لحظه ساخته شده. یک لایه واسط سبک و متن‌باز که همه مدل‌ها را پشت یک API سازگار با OpenAI قرار می‌دهد. در این راهنما، از صفر تا صد راه‌اندازی این Gateway را روی یک سرور مجازی یاد می‌گیرید — با Docker، پیکربندی امن و تست عملی.

🔹 در این مقاله یاد می‌گیرید:

🔹 LiteLLM Proxy چیست و چرا به آن نیاز دارید

🔹 پیش‌نیازهای سخت‌افزاری و انتخاب VPS مناسب

🔹 نصب گام‌به‌گام با Docker Compose

🔹 اتصال به OpenAI، Claude، Gemini و Ollama

🔹 مدیریت کلیدها و محدودیت مصرف

🔹 رفع خطاهای رایج

LiteLLM Proxy دقیقاً چه کاری انجام می‌دهد؟

LiteLLM یک پروژه متن‌باز است که به عنوان یک Gateway هوش مصنوعی عمل می‌کند. به جای اینکه اپلیکیشن شما مستقیماً به OpenAI وصل شود، یک بار به LiteLLM وصل می‌شود و LiteLLM بقیه کارها را انجام می‌دهد .

مزیت اصلی این معماری سادگی است: API آن دقیقاً با OpenAI سازگار است. یعنی اگر کد فعلی شما با OpenAI SDK کار می‌کند، فقط base_url را عوض می‌کنید و همان کد به ده‌ها مدل دیگر هم وصل می‌شود .

علاوه بر این، LiteLLM امکاناتی فراتر از یک Proxy ساده ارائه می‌دهد:

🔹 مدیریت کلید مجازی — به هر تیم یا پروژه یک کلید جداگانه با محدودیت مشخص بدهید

🔹 رهگیری هزینه — دقیقاً بدانید هر مدل چقدر خرج برمی‌دارد

🔹 Load Balancing — درخواست‌ها را بین چند deployment از یک مدل پخش کنید

🔹 Fallback خودکار — اگر OpenAI قطع شد، درخواست به Claude منتقل شود

قبل از شروع: چه سروری نیاز دارید؟

LiteLLM خودش سبک است، اما اگر قصد اجرای مدل لوکال (مثل Ollama یا vLLM) را هم دارید، باید منابع را جدی بگیرید. جدول زیر بر اساس مستندات رسمی و تجربه عملی تهیه شده :

سناریو CPU RAM Storage
فقط Gateway (OpenAI, Claude, Gemini) 2 Core 4 GB 30 GB SSD
Gateway + Ollama (مدل 7B) 4 Core 8-16 GB 50+ GB NVMe
Gateway + vLLM روی GPU GPU Server 16+ GB 100+ GB NVMe

توصیه عملی: اگر فقط می‌خواهید APIها را مدیریت کنید، یک VPS با ۴ هسته و ۸ گیگ رم کاملاً کافی است. دیسک NVMe و پهنای باند پایدار تفاوت را در تجربه روزمره ایجاد می‌کند .

⚠️ نکته مهم: اگر قصد اتصال به مدل‌های Local دارید، حتماً از قبل فضای دیسک کافی برای دانلود مدل‌ها در نظر بگیرید. یک مدل 7B معمولاً ۴ تا ۵ گیگابایت فضا می‌گیرد.

مرحله ۱: آماده‌سازی سرور

با SSH وارد سرور شوید و سیستم را بروز کنید:

ssh root@SERVER_IP
apt update && apt upgrade -y

مرحله ۲: نصب Docker

LiteLLM به صورت رسمی از Docker پشتیبانی می‌کند و این بهترین روش برای محیط Production است .

apt install docker.io docker-compose-plugin -y
docker --version

اگر نسخه Docker نمایش داده شد، نصب موفق بوده است.

مرحله ۳: ساخت ساختار پروژه

mkdir /opt/litellm && cd /opt/litellm

مرحله ۴: فایل Docker Compose

این فایل سرویس LiteLLM را روی پورت ۴۰۰۰ اجرا می‌کند. نسخه image را حتماً pin کنید (مثل v1.97.0) تا در آپدیت‌های ناخواسته با مشکل مواجه نشوید :

nano docker-compose.yml
version: "3.9"
services:
  litellm:
    image: ghcr.io/berriai/litellm:v1.97.0
    ports:
      - "4000:4000"
    volumes:
      - ./config.yaml:/app/config.yaml
    env_file:
      - .env
    command: ["--config", "/app/config.yaml"]
    restart: always

توجه: استفاده از env_file امن‌تر از نوشتن مستقیم کلیدها در فایل Compose است.

مرحله ۵: فایل تنظیمات LiteLLM

این فایل مشخص می‌کند کدام نام مدل (model_name) به کدام سرویس واقعی (litellm_params) وصل شود :

nano config.yaml
model_list:
  - model_name: gpt
    litellm_params:
      model: openai/gpt-4o
      api_key: os.environ/OPENAI_API_KEY

  - model_name: claude
    litellm_params:
      model: anthropic/claude-3-5-sonnet-20241022
      api_key: os.environ/ANTHROPIC_API_KEY

  - model_name: gemini
    litellm_params:
      model: gemini/gemini-2.0-flash
      api_key: os.environ/GEMINI_API_KEY

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY

نکته: پیشوند os.environ/ به LiteLLM می‌گوید مقدار کلید را از متغیر محیطی بخواند، نه از خود فایل .

مرحله ۶: فایل محیطی (.env)

nano .env
OPENAI_API_KEY=sk-your-openai-key
ANTHROPIC_API_KEY=sk-ant-your-claude-key
GEMINI_API_KEY=AIza-your-google-key
LITELLM_MASTER_KEY=sk-your-secret-master-key

مقدار LITELLM_MASTER_KEY را با یک رشته تصادفی امن جایگزین کنید. این کلید، رمز ادمین پنل LiteLLM هم خواهد بود.

⚠️ هشدار امنیتی: هرگز فایل .env را در Git commit نکنید. این فایل شامل کلیدهای حساس شماست.

مرحله ۷: اجرا و تست

docker compose up -d
docker ps

اگر همه چیز درست باشد، یک کانتینر با نام litellm در حال اجرا خواهید دید. حالا مدل‌ها را تست کنید:

curl http://localhost:4000/models \
  -H "Authorization: Bearer sk-your-secret-master-key"

باید لیست مدل‌های تعریف‌شده (gpt، claude، gemini) را ببینید. حالا یک درخواست چت واقعی بفرستید:

curl http://localhost:4000/v1/chat/completions \
  -H "Authorization: Bearer sk-your-secret-master-key" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude", "messages": [{"role": "user", "content": "سلام"}]}'

🚀 زیرساخت هوش مصنوعی‌تان را روی سرور مجازی ایرانیکاسرور بالا بیاورید

LiteLLM به تنهایی سبک است، اما وقتی پای مدل‌های لوکال، Ollama یا vLLM به میان می‌آید، منابع اختصاصی CPU و RAM تفاوت را در سرعت پاسخ‌دهی ایجاد می‌کند. سرورهای مجازی ایرانیکاسرور با دیسک NVMe، پهنای باند پایدار و آپ‌تایم ۹۹.۹٪ بستر مناسبی برای اجرای AI Gateway شما فراهم می‌کنند .

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

اتصال به مدل‌های Local با Ollama

یکی از قوی‌ترین قابلیت‌های LiteLLM، اتصال به Ollama است. کافیست Ollama را روی سرور نصب و اجرا کنید :

curl https://ollama.ai/install.sh | sh
ollama run llama3

حالا در فایل config.yaml یک مدل لوکال اضافه کنید:

  - model_name: llama-local
    litellm_params:
      model: ollama/llama3
      api_base: http://localhost:11434

اکنون مدل لوکال شما هم از طریق همان API واحد قابل دسترسی است.

اتصال به vLLM برای GPU Server

اگر روی سرور GPU از vLLM استفاده می‌کنید، LiteLLM می‌تواند آن را به عنوان یک endpoint سازگار با OpenAI مدیریت کند :

  - model_name: local-gpu
    litellm_params:
      model: openai/your-model-name
      api_base: http://localhost:8000/v1

مدیریت کلیدها و محدودیت مصرف

برای محیط سازمانی، می‌توانید برای هر تیم یا پروژه یک Virtual Key با بودجه مشخص بسازید. این کار از طریق پنل ادمین (/ui) یا API انجام می‌شود .

مثلاً یک کلید با محدودیت ۵۰ دلار در ماه برای تیم محتوا:

curl http://localhost:4000/key/generate \
  -H "Authorization: Bearer sk-your-master-key" \
  -H "Content-Type: application/json" \
  -d '{"models": ["claude"], "max_budget": 50, "budget_duration": "30d"}'

پاسخ شامل یک کلید با پیشوند sk- خواهد بود که می‌توانید به تیم مربوطه بدهید.

استفاده از Nginx و SSL برای Production

در محیط واقعی، LiteLLM را مستقیم روی اینترنت expose نکنید. یک Reverse Proxy مثل Nginx جلوی آن بگذارید و از HTTPS استفاده کنید :

server {
    listen 443 ssl;
    server_name ai.yourdomain.com;

    location / {
        proxy_pass http://localhost:4000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

حالا اپلیکیشن‌ها به آدرس https://ai.yourdomain.com وصل می‌شوند، نه IP خام.

رفع خطاهای رایج

کانتینر اجرا نمی‌شود

لاگ را بررسی کنید:

docker logs litellm

دلایل رایج: خطای سینتکس در config.yaml، API Key اشتباه، یا کمبود RAM.

خطای Invalid API Key

مقدار کلیدها را در .env دوباره چک کنید و سرویس را ری‌استارت کنید: docker compose restart

مدل Local پاسخ نمی‌دهد

اتصال Ollama را تست کنید: curl localhost:11434. اگر پاسخ نداد، سرویس Ollama در حال اجرا نیست.

Timeout در درخواست‌ها

معمولاً به دلیل منابع کم سرور یا کندی شبکه است. request_timeout را در تنظیمات افزایش دهید یا منابع VPS را ارتقا دهید .

مشکل دیتابیس در راه‌اندازی

اگر PostgreSQL اضافه کرده‌اید و کانتینر LiteLLM به دیتابیس وصل نمی‌شود، حتماً healthcheck و depends_on را در Compose تنظیم کنید .

🔧 در راه‌اندازی LiteLLM یا هر سرویس دیگر روی VPS به مشکل خوردید؟

تیم پشتیبانی ایرانیکاسرور آماده کمک به شماست. از کانفیگ اولیه سرور تا رفع خطاهای Docker و شبکه، می‌توانید درخواست خود را ثبت کنید.

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

استفاده از LiteLLM در برنامه‌های پایتون

چون API با OpenAI سازگار است، فقط base_url را عوض کنید :

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-virtual-key",
    base_url="http://SERVER_IP:4000"
)

response = client.chat.completions.create(
    model="claude",
    messages=[{"role": "user", "content": "Explain VPS"}]
)
print(response.choices[0].message.content)

کاربردهای عملی LiteLLM Proxy

✅ ساخت پلتفرم AI داخلی سازمان با کنترل دسترسی

✅ ارائه سرویس API هوش مصنوعی به مشتریان

✅ مدیریت چند مدل AI در یک پروژه

✅ کنترل و رهگیری دقیق هزینه‌های API

✅ اتصال نرم‌افزارهای داخلی به مدل‌های متنوع

منابع رسمی برای مطالعه بیشتر

🔹 مستندات LiteLLM — docs.litellm.ai

🔹 مخزن GitHub — github.com/BerriAI/litellm

🔹 مستندات OpenAI API — platform.openai.com/docs

📌 جمع‌بندی

LiteLLM Proxy یک راهکار بالغ و سبک برای یکپارچه‌سازی دسترسی به مدل‌های هوش مصنوعی است. با نصب آن روی یک سرور مجازی مناسب، به جای مدیریت چندین API جداگانه، یک endpoint واحد با کنترل کامل روی هزینه، دسترسی و routing خواهید داشت. برای پروژه‌های شخصی، تیم‌های توسعه و حتی سرویس‌های سازمانی، این Gateway می‌تواند اولین قطعه زیرساخت AI شما باشد.

📌 لینک‌های مرتبط ایرانیکاسرور

🔹 محصولات سرور مجازی

🔹 خرید سرور مجازی ایران

🔹 کانفیگ و رفع مشکل

🔹 تماس با ما

📞 تماس با پشتیبانی: 021-91302460 | ایرانیکاسرور

این آموزش برایت مفید بود؟ می‌توانی لینک آن را ذخیره یا برای دیگران ارسال کنی.

Amir Jabbari

نویسنده مجله ایرانیکاسرور؛ منتشرکننده آموزش‌ها و راهنماهای کاربردی در حوزه هاست، سرور، وردپرس و شبکه.

برای اجرای آموزش به زیرساخت نیاز داری؟

سرویس مرتبط را ببین؛ معرفی خدمات در این بخش کوتاه نگه داشته شده تا تمرکز اصلی صفحه روی آموزش باقی بماند.

ایرانیکاسرور
گفت‌وگو درباره آموزش

دیدگاه‌ها

0 دیدگاه برای این مطلب ثبت شده است.

هنوز دیدگاهی ثبت نشده است؛ اگر سؤال یا تجربه‌ای درباره این آموزش داری، همین‌جا بنویس. پاسخ‌های مدیریت و کاربران به‌صورت مشخص از هم تفکیک می‌شوند.

دیدگاه یا سؤال خود را بنویسید

ایمیل شما منتشر نمی‌شود. فیلدهای ضروری مشخص شده‌اند.