DeepSeek, Claude ve OpenAI uyumlu her API ile LiteLLM proxy ve SDK

LiteLLM, birçok model sağlayıcısının önüne tek bir OpenAI tarzı API koyan, ücretsiz ve açık kaynaklı bir Python SDK'sı ve proxy sunucusudur. Onu Zurelay'in OpenAI uyumlu API'sine bağlayıp SDK'yı, proxy'yi ve Claude Code'u bunun üzerinden çalıştırdık, sorun çıkaran her ayarı da not ettik.

· Zurelay rehberleri · Fiyatlar anlık güncellenir

LiteLLM ne yapar

  • SDK, herhangi bir sağlayıcıyı OpenAI formatında çağıran tek bir Python fonksiyonudur: completion(). Model adındaki ön ek sağlayıcıyı belirler: openai/, herhangi bir OpenAI uyumlu API anlamına gelir.
  • Proxy, kendi makinenizde çalıştırdığınız bir sunucudur ve varsayılan olarak http://localhost:4000 üzerinde çalışır. Uygulamalar onu OpenAI veya Anthropic formatında çağırır; proxy de sağlayıcılarınızın önüne anahtar yönetimi, bütçe, günlükleme ve yedeğe geçme ekler.

Proxy'yi kurun

  1. Bir sanal ortama kurun. LiteLLM 1.106 için Python 3.10 veya üzeri gerekir.
terminal
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install "litellm[proxy]"
  1. config.yaml dosyasını yazın. Test ettiğimiz dosya bu: OpenAI uyumlu uç nokta üzerinden DeepSeek V4.1 Flash, LiteLLM'in Anthropic sağlayıcısı üzerinden Claude Sonnet 5.5 ve diğer tüm modellere zurelay/<model ID> olarak ulaşan bir joker karakter. model_info fiyatları Zurelay'in güncel fiyatlarıdır.
config.yaml
model_list:
- model_name: deepseek-v4.1-flash
litellm_params:
model: openai/deepseek-v4.1-flash
api_base: https://api.zurelay.com/v1
api_key: os.environ/ZURELAY_API_KEY
use_chat_completions_api: true
model_info:
input_cost_per_token: 0.00000003
output_cost_per_token: 0.00000012
cache_read_input_token_cost: 0.00000000074
- model_name: claude-sonnet-5-5
litellm_params:
model: anthropic/claude-sonnet-5-5
api_base: https://api.zurelay.com
api_key: os.environ/ZURELAY_API_KEY
model_info:
input_cost_per_token: 0.00000079
output_cost_per_token: 0.00000395
cache_read_input_token_cost: 0.000000079
- model_name: zurelay/*
litellm_params:
model: openai/*
api_base: https://api.zurelay.com/v1
api_key: os.environ/ZURELAY_API_KEY
use_chat_completions_api: true
litellm_settings:
use_chat_completions_url_for_anthropic_messages: true
check_provider_endpoint: true
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
  1. Başlatın: Zurelay anahtarınız ve kendi oluşturduğunuz bir ana anahtar yeterli. İstemciler ana anahtarı gönderir; LiteLLM, sk- ile başlayan anahtarlar bekler.
terminal
export ZURELAY_API_KEY="zr_live_..."
export LITELLM_MASTER_KEY="sk-choose-a-long-random-key"
litellm --config config.yaml
  1. Çağırın; herhangi bir OpenAI uyumlu API gibi, yapılandırmadaki model_name ile.
terminal
curl http://localhost:4000/v1/chat/completions \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "deepseek-v4.1-flash", "messages": [{"role": "user", "content": "Hello"}]}'

Ya da Python SDK'sını kullanın

Proxy olmadan temel URL'yi ve anahtarı her çağrıda iletin. LiteLLM'in anthropic/ sağlayıcısı üzerinden Claude için temel URL https://api.zurelay.com olmalı, /v1 olmadan.

app.py
import os
from litellm import completion
response = completion(
model="openai/deepseek-v4.1-flash",
api_base="https://api.zurelay.com/v1",
api_key=os.environ["ZURELAY_API_KEY"],
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)
claude = completion(
model="anthropic/claude-sonnet-5-5",
api_base="https://api.zurelay.com",
api_key=os.environ["ZURELAY_API_KEY"],
messages=[{"role": "user", "content": "Hello"}],
)

LiteLLM üzerinden Claude Code

Proxy, Anthropic'in Messages API'sini de sunar; bu sayede Claude Code, yapılandırmadaki her modelle çalışabilir. Claude Code'u proxy'ye yönlendirin ve kullanacağı modelleri belirtin:

terminal
export ANTHROPIC_BASE_URL="http://localhost:4000"
export ANTHROPIC_AUTH_TOKEN="$LITELLM_MASTER_KEY"
export ANTHROPIC_MODEL="deepseek-v4.1-flash"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-sonnet-5-5"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5-5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-v4.1-flash"
claude

Yalnızca Claude modelleri için LiteLLM'e gerek yok: Claude Code, Claude Code fiyatlandırması sayfasında gösterildiği gibi doğrudan Zurelay ile konuşur. YAML dosyası yerine web sayfası olan bir yönlendirici arıyorsanız Claude Code Router sayfasına bakın.

Sorun çıkaran ayarlar

  1. Claude Code, DeepSeek üzerinde hata verdi: Unknown request URL: POST /v1/responses. openai/ modellerinde LiteLLM, Anthropic Messages isteklerini OpenAI'ın Responses API'sine yapılan çağrılara çevirir; Zurelay bu API'yi sunmuyor. Tek bir hatadan sonra LiteLLM modeli bekleme (cooldown) durumuna da aldı, bu yüzden sonraki isteklerde 429 No deployments available for selected model hatası alındı. litellm_settings altındaki use_chat_completions_url_for_anthropic_messages: true ayarı ise bu istekleri Chat Completions'a yönlendirir.
  2. Responses API istemcileri de aynı şekilde hata verdi. Proxy'nin /v1/responses adresine ya da SDK'daki litellm.responses() ile yapılan istek, modelde use_chat_completions_api: true ayarlanana kadar değiştirilmeden sağlayıcıya gitti.
  3. Temel URL'de /v1 olan Claude, /v1/v1/messages adresini çağırdı ve 404 aldı. anthropic/ sağlayıcısı /v1/messages kısmını kendisi ekler; openai/ modelleri ise /v1 gerektirir.
  4. Joker karakter yanlış modelleri listeledi. openai/* ile proxy'nin /v1/models çıktısı, LiteLLM'in yerleşik 216 OpenAI adından oluşan listesini (gpt-3.5-turbo, babbage-002) gösterdi, Zurelay'in hiçbir modelini göstermedi. Gerçek model kimlikleriyle yapılan istekler yine de çalıştı. check_provider_endpoint: true ise Zurelay'in modellerini listelemesini sağladı.
  5. Windows'ta proxy, çıktısı bir günlük dosyasına yönlendirildiğinde başlangıçta UnicodeEncodeError: 'charmap' codec can't encode characters hatasıyla çöküyordu: banner, varsayılan kod sayfasında bulunmayan karakterler içeriyor. Python'ın UTF-8 modu sorunu çözdü: ortamda PYTHONUTF8=1 ayarlayın ya da python -X utf8 kullanın.

Maliyet takibi

LiteLLM'in harcama takibi her isteği kendi listesine göre fiyatlandırır. Bildiği modellerde bu, laboratuvarın liste fiyatıdır: Claude Sonnet 5.5 isteğimizi Anthropic'in fiyatı üzerinden, yani Zurelay'in faturaladığının yaklaşık 2,5 katı olarak hesapladı. Bilmediği modellerde, örneğin openai/ arkasındaki DeepSeek V4.1 Flash'ta, hiç maliyet kaydetmez. Yukarıdaki yapılandırmadaki model_info satırları ikisini de düzeltir: bu satırlarla LiteLLM'in x-litellm-response-cost başlığında döndürdüğü maliyet faturamızla eşleşti.

Testimizdeki maliyet

Proxy üzerinden Claude Code, DeepSeek V4.1 Flash ile küçük bir Python dosyası yazdı, ardından Claude Sonnet 5.5 ile düzenledi. İkisi de Claude Code'un dosya araçlarını doğru kullandı. Zurelay şunu faturaladı:

ModelGörevİsteklerİstem tokenları (önbellekteki)Maliyet
DeepSeek V4.1 Flashhello.py oluşturun339,725 (25,845)$0.0005
Claude Sonnet 5.5hello.py dosyasını düzenleyin351,310 (32,523)$0.023

Her istek, Claude Code'un talimatlarını ve araç tanımlarını, yani 13.000 ila 18.000 token taşıdı; ikinci istekten itibaren bunun büyük kısmı önbellekten okundu. Claude Code'un Claude görevi için kendi tahmini, Anthropic'in liste fiyatlarıyla $0.054 idi. Öncesindeki SDK çağrıları, her biri kısa bir yanıt olmak üzere, DeepSeek'te $0.000006, Claude Sonnet 5.5'te $0.0003 tuttu.

Bilmeniz gerekenler

  • Proxy, --host 127.0.0.1 vermediğiniz sürece tüm ağ arayüzlerini (0.0.0.0) dinler. Ana anahtarı mutlaka tanımlı tutun; yoksa ağınızdaki herkes kredinizi harcayabilir.
  • Joker karakterli modeller, önekten sonra gerçek kimliklerini alır: istekteki zurelay/gpt-6.1-terra, Zurelay'de gpt-6.1-terra olur.
  • Windows'ta kısa bir klasör yoluna kurun. Geçici klasörün derinlerindeki bir sanal ortam, bazı dosya yolları Windows'un 260 karakter sınırını aştığı için ModuleNotFoundError: No module named 'openai.types...' hatasıyla başarısız oldu.

Arkasına koyacağınız modellerin fiyatları

1M token başına laboratuvarın liste fiyatı ve Zurelay fiyatı:

ModelGirdiÇıktıZurelay'de (girdi / çıktı)
DeepSeek V4.1 Flash$0.30$1.20$0.03 / $0.12
Claude Sonnet 5.5$2.00$10.00$0.79 / $3.95
Claude Opus 5.5$4.00$20.00$1.40 / $7.00
GPT-6.1 Terra$1.00$5.00$0.25 / $1.25
Gemini 3.8 Flash$0.75$3.75$0.22 / $1.10
Kimi K3.1 Pro$2.00$10.00$0.80 / $4.00
GLM-5.3$1.40$4.40$0.38 / $1.21

3 Kasım 2026 tarihinde, Windows'ta Python 3.12 üzerinde LiteLLM 1.106.6 ve Claude Code 2.1.317 ile, Zurelay'in API'sine karşı test edildi. Kısa kurulum için belgelerdeki LiteLLM sayfasına bakın. LiteLLM'in kendi belgeleri: OpenAI uyumlu uç noktalar ve proxy yapılandırması.

Tüm modeller, liste fiyatının altında, OpenAI uyumlu tek bir anahtarla. $10'dan başlayan bakiye, abonelik yok.API anahtarınızı alın

SSS

Sık sorulan sorular

Başka sorunuz var mı? Ekibimize sorun, e-postayla yanıtlayalım.

LiteLLM nedir?

BerriAI'ın açık kaynaklı Python SDK'sı ve proxy sunucusu. SDK, birçok model sağlayıcısını OpenAI tarzı tek bir fonksiyonla çağırır; proxy ise sizin çalıştırdığınız, uygulamaların OpenAI veya Anthropic formatında çağırdığı bir sunucudur ve sağlayıcılarınızın önünde anahtar, bütçe, loglama ve yedekleme (fallback) işlevleri sunar.

LiteLLM ücretsiz mi?

Evet. SDK ve proxy, deponun enterprise klasöründeki kurumsal özellikler hariç MIT lisansıyla açık kaynaktır; kurumsal özelliklerin kendi lisansı vardır. Yalnızca istek gönderdiğiniz sağlayıcılara ödeme yaparsınız.

LiteLLM ile OpenAI uyumlu bir API'yi nasıl kullanırım?

Model adının başına openai/ ekleyin ve api_base değerini sağlayıcının temel URL'sine, /v1 dahil olacak şekilde ayarlayın; örneğin model: openai/deepseek-v4.1-flash ile api_base: https://api.zurelay.com/v1. Anahtar api_key alanına girilir; proxy'nin config.yaml dosyasında ise os.environ/NAME kullanılır.

LiteLLM neden /v1/responses çağırıyor?

openai/ modelleri için LiteLLM, Anthropic Messages isteklerini (örneğin Claude Code'dan gelenleri) ve Responses API isteklerini sağlayıcının Responses API'sine gönderir. Yalnızca Chat Completions sunan sağlayıcılar 404 döndürür. litellm_settings altında use_chat_completions_url_for_anthropic_messages: true, modelde ise use_chat_completions_api: true ayarlayın.

Claude Code'u LiteLLM ile nasıl kullanırım?

config.yaml içindeki modellerle LiteLLM proxy'sini çalıştırın, ardından ANTHROPIC_BASE_URL değerini http://localhost:4000, ANTHROPIC_AUTH_TOKEN değerini proxy'nin ana anahtarı (master key), ANTHROPIC_MODEL ile üç ANTHROPIC_DEFAULT_*_MODEL değişkenini ise yapılandırmadaki model adları olarak ayarlayın ve claude komutunu çalıştırın.

LiteLLM'in maliyeti neden yanlış gösteriyor?

LiteLLM istekleri kendi listesine göre fiyatlandırır: tanıdığı modeller için laboratuvarın liste fiyatını kullanır, tanımadığı modeller için ise hiçbir şey göstermez. Sağlayıcınızın gerçekte ne tahsil ettiğini izlemek için her modelin model_info bölümüne input_cost_per_token, output_cost_per_token ve cache_read_input_token_cost alanlarını ekleyin.

LiteLLM proxy hangi portu kullanır?

Port 4000'dir ve --host vermezseniz tüm ağ arayüzlerinde (0.0.0.0) dinler. Portu --port ile ya da PORT ortam değişkeniyle değiştirebilirsiniz.

Diğer rehberler

Liste fiyatını ödemeyi bırakın.
Bugün tasarruf etmeye başlayın.

Saniyeler içinde bir anahtar oluşturun, kullandığınız SDK'yı Zurelay'e yönlendirin ve ilk tokendan itibaren her istekte %90'a varan tasarruf sağlayın.