Bloga dön

API ve SDKKılavuz

Özel api_base ile LiteLLM: CheapTokens'i Python'da çağırın

CheapTokens'i litellm.completion() ve bir LiteLLM proxy config.yaml üzerinden çağırmak için openai/ önekini, api_base'i ve tam model kimliğini kullanın ve Not Found hatasını düzeltin.

Yazan: CheapTokens TeamYayınlanma tarihi: 4 dk okuma

openai/ model önekli ve CheapTokens'i gösteren api_base ile LiteLLM çağrısı
Bu sayfada
  1. Python'da ve proxy'de aynı çağrı
  2. Ne görmelisiniz
  3. Proxy'ye daha fazla model ekleme
  4. Bozulduğunda: Not Found ve 401
  5. Bin çağrının maliyeti

LiteLLM'i CheapTokens'e yönlendirmek için üç değeri değiştirirsiniz: model, tam model kimliğinin önüne openai/ önekini alır, api_base https://api.cheaptokens.dev/v1 olur ve api_key CheapTokens anahtarınızdır. Python'da litellm.completion() için de bir LiteLLM proxy'si için de tüm değişiklik bundan ibarettir.

Diyelim ki OpenAI veya Anthropic modeliyle litellm.completion() çağıran bir projeniz var ve kodun geri kalanına dokunmadan daha ucuz bir model denemek istiyorsunuz. İşi yürüten şey önektir: LiteLLM'in OpenAI uyumlu sağlayıcı belgeleri (29 Ekim 2026'da kontrol edildi), herhangi bir OpenAI uyumlu uç nokta için modeli openai/ ile ayarladığınızı, böylece LiteLLM'in OpenAI sağlayıcısına yönlendirdiğini, ardından yanına api_base ve api_key geçirdiğinizi söyler. CheapTokens, https://api.cheaptokens.dev/v1 adresinde OpenAI Chat Completions biçimini konuşur, dolayısıyla uyum sağlar.

Python'da ve proxy'de aynı çağrı#

İki kurulum da kısadır. LiteLLM'i nasıl çalıştırdığınıza uyan sekmeyi seçin.

Tek bir CheapTokens modeli, çağırmanın iki yolu

Python SDK

python
import os
import litellm

response = litellm.completion(
    model="openai/deepseek-ai/DeepSeek-V4-Flash-0731",
    api_base="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
    messages=[{"role": "user", "content": "Explain what api_base does in one sentence."}],
    max_tokens=200,
)

print(response.choices[0].message.content)
print(response.usage)

Anahtarı dosyada değil, bir ortam değişkeninde tutun.

Proxy config.yaml

yaml
model_list:
  - model_name: cheap-chat
    litellm_params:
      model: openai/deepseek-ai/DeepSeek-V4-Flash-0731
      api_base: https://api.cheaptokens.dev/v1
      api_key: os.environ/CHEAPTOKENS_API_KEY

litellm --config /path/to/config.yaml ile başlatın. İstemciler proxy'den cheap-chat ister ve gerçek model kimliğini hiç görmez.

Proxy'yi çağırın

bash
curl http://localhost:4000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "cheap-chat", "messages": [{"role": "user", "content": "Say hi"}]}'

Proxy varsayılan olarak 4000 portunu dinler. cheap-chat arkasındaki modeli sonradan değiştirin, bu istek değişmez.

İnsanların takıldığı kısım model kimliğidir. CheapTokens'in kabul ettiği kimlik tam olandır, deepseek-ai/DeepSeek-V4-Flash-0731, ve önüne openai/ gelir. deepseek-v4-flash değil, yalnızca önek artı kısa bir ad da değil. Bir modelin adından emin değilseniz, GET /v1/models ile modelleri listeleyin ve kimliği yanıttan kopyalayın.

Değiştirilen üç değerle Python çağrısı
Değişen üç değer: openai/ önekli model, api_base, api_key.

Ne görmelisiniz#

Python sekmesini çalıştırın. İlk print modelin metnini gösterir. İkincisi response.usage, o tek çağrının token sayılarını gösterir: gönderdiğiniz için prompt_tokens ve modelin yazdığı için completion_tokens. LiteLLM bunları OpenAI biçiminde döndürür, böylece usage okuyan kod çalışmaya devam eder. Bu iki sayıyı güncel bir faturaya dönüştürmek isterseniz, Python'da ajan token maliyetini izleme nasıl yapıldığını gösterir.

Proxy'ye daha fazla model ekleme#

model_name işin özü, siz arkasındakini değiştirirken istemcilerinizin tek bir takma ad tutmasıdır. Bir model_list birden çok girdi barındırabilir; hepsi aynı api_base ve aynı anahtarı gösterir, çünkü tek bir CheapTokens bakiyesi her modeli kapsar:

yaml
model_list:
  - model_name: cheap-chat
    litellm_params:
      model: openai/deepseek-ai/DeepSeek-V4-Flash-0731
      api_base: https://api.cheaptokens.dev/v1
      api_key: os.environ/CHEAPTOKENS_API_KEY
  - model_name: cheap-glm
    litellm_params:
      model: openai/zai-org/GLM-5.3-Flash
      api_base: https://api.cheaptokens.dev/v1
      api_key: os.environ/CHEAPTOKENS_API_KEY
  - model_name: cheap-minimax
    litellm_params:
      model: openai/MiniMaxAI/MiniMax-M2.7
      api_base: https://api.cheaptokens.dev/v1
      api_key: os.environ/CHEAPTOKENS_API_KEY

Hangi iş için hangi takma ad? Yanıtın uzun olabileceği sohbet ve ajan çağrıları için başlanacak model DeepSeek-V4-Flash'tir: 380K bağlam, yanıt başına 32.768'e kadar çıktı tokenı ve yoğun saat olmadan sabit fiyat. GLM-5.3-Flash 390K bağlama ve 8.192'ye kadar çıktı tokenına sahiptir. MiniMax-M2.7 180K bağlama sahiptir. Ayrıntılar DeepSeek sayfasında ve fiyatlandırma üçünün de güncel ücretlerini listeler.

Bozulduğunda: Not Found ve 401#

İki hata, başarısız ilk çağrıların çoğunu kapsar. LiteLLM belgeleri temel URL'ye fazladan bir şey eklememenizi ve Not Found hatasında api_base değerinin /v1 ile bitip bitmediğini kontrol etmenizi söyler. Bir incelik var: belgelerin yerel proxy için kendi örneği /v1 olmadan http://0.0.0.0:4000 kullanır. Bu farklı bir sunucudur. CheapTokens için /v1 kalır.

api_base'de /v1 yokken Not Found
404 Not Found genellikle api_base'de /v1 eksik olduğu anlamına gelir.

Durumunu seç

Hatanız nasıl görünüyor?

Not Found (404)

api_base değerini kontrol edin. Tam olarak https://api.cheaptokens.dev/v1 olmalı, /v1 içermeli ve sonunda /chat/completions olmamalıdır. Yolun geri kalanını LiteLLM kendisi ekler.

401 Unauthorized

Anahtar eksik, yanlış ya da LiteLLM boş bir ortam değişkeni okumuş. Ayarlandığını kontrol etmek için anahtarın kendisini değil os.environ.get("CHEAPTOKENS_API_KEY") uzunluğunu yazdırın ve alışkanlıkla bir OpenAI anahtarı geçirmediğinizden emin olun.

Model reddediliyor

Kimliği /v1/models çıktısındakiyle harf harf karşılaştırın. openai/ öneki yalnızca LiteLLM içindir; ondan sonra gelen, eğik çizgiden önceki geliştirici kısmı dahil tam CheapTokens kimliğidir.

Durum kodlarının tamamı için API 401 veya 404: yanlış anahtar, temel URL veya model kimliği sayfasına bakın. Önce api_base fikrini istiyorsanız, base_url nedir ve nasıl değiştirilir bunu sade bir dille açıklar.

Hızlı kontrol

api_base değeriniz https://api.cheaptokens.dev ve çağrı Not Found döndürüyor. İlk olarak neyi değiştirirsiniz?

Cevabı göster

Cevap: /v1 ekle, böylece https://api.cheaptokens.dev/v1 olsun

Not Found yolu işaret eder. Anahtar 401 verirdi ve önek, LiteLLM'e OpenAI tarzı isteği kullanmasını söyleyen şeydir.

Bin çağrının maliyeti#

Proxy arkasındaki bir destek botunun günde 1.000 istek gönderdiğini, her birinde yaklaşık 2.000 giriş tokenı (soru artı bağlam) ve 500 çıkış tokenı olduğunu varsayın. İşte bu yükün canlı fiyatlarla maliyeti; toplam, giriş ve çıkış birlikte sayılarak karşılaştırma için bir OpenRouter sütunuyla:

Model İstek başına 1.000 istek OpenRouter, 1.000 istek
GLM-5.3-Flash $0.00006 $0.06 $0.121
DeepSeek-V4-Flash $0.00008 $0.08 $0.173
MiniMax-M2.7 $0.00018 $0.175 $1.20

İstek başına 2.000 giriş ve 500 çıkış token'ı. 1M token başına fiyatlar günceldir ve tarifelerimizle birlikte değişir; OpenRouter sütunu aynı iş yükü için referans fiyatları gösterir.

DeepSeek-V4-Flash için bu yük günde $0.08 tutar ve tablo toplamda OpenRouter'dan daha ucuz olduğunu gösterir. İki sayıyı kendi ortalama isteğinizle değiştirin, bütçeniz hazır.

LiteLLM'in ihtiyacı olan tek şey bu: üç değer, bir /v1 ve tam bir model kimliği. Panonuzdaki anahtarı ekleyin ve Python sekmesini çalıştırın.