LiteLLM ile Codex4Less Modellerini Yönlendirme: Özel Endpoint Kurulumu

LiteLLM, açık kaynak bir LLM ağ geçididir: yerelde tek bir OpenAI uyumlu API sunar ve her isteği yapılandırdığınız upstream sağlayıcıya yönlendirir. Bu rehber, LiteLLM Proxy'yi makinenizde Codex4Less upstream sağlayıcısıyla çalıştırır:

text
Uygulamanız → yerel LiteLLM Proxy (127.0.0.1) → Codex4Less API → seçilen model

Aşağıdaki adımların tamamı — proxy başlatma, model alias'ı, canlı istek, upstream doğrulaması ve sık hata durumları — litellm 1.105.1 ile Codex4Less üzerinde birebir çalıştırılmıştır. Komutlar Linux'ta koşulmuştur.

İki anahtar, iki farklı görev

Yapılandırmadan önce devredeki iki anahtarı ayırt edin — bunları karıştırmak en sık yapılan hatadır:

AnahtarGöreviYeri
**Codex4Less API anahtarı** (`sk-...`)Proxy'nizin **Codex4Less'e** kimlik doğrulamasıConfig'in başvurduğu ortam değişkeni (YAML'a asla yazılmaz)
**LiteLLM gateway anahtarı** (master key'iniz)**İstemcilerinizin proxy'ye** kimlik doğrulamasıİstemcilerin `Authorization: Bearer ...` başlığı

Uygulamalarınız yalnızca gateway anahtarını görür. Codex4Less anahtarı proxy'nin ortamında kalır.

Ön Koşullar

Adım 1 — Codex4Less API Anahtarınızı Oluşturun

  1. Panelden API Anahtarları sayfasını açın: codex4less.com/dashboard/api-keys
  2. Bir anahtar oluşturun, sk-... değerini kopyalayın ve dosyalardan uzak tutun. Yalnızca bir kez gösterilir.

Adım 2 — LiteLLM'i Kurun

Resmî yöntem:

bash
pip install "litellm[proxy]"
litellm --version

pip'in bulunmadığı sistemlerde aynı paket uv ile sorunsuz kurulur (bu rehberin testleri bu yöntemle kurulmuştur):

bash
uv tool install "litellm[proxy]"
litellm --version

Bu komut, yazıldığı sırada LiteLLM 1.105.1 sürümünü kurar.

Adım 3 — Yapılandırmayı Yazın

litellm-config.yaml dosyasını oluşturun:

yaml
model_list:
  - model_name: codex4less-sol
    litellm_params:
      model: openai/gpt-6.1-sol
      api_base: https://api.codex4less.com/v1
      api_key: os.environ/CODEX4LESS_API_KEY

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY

Bölümlerin anlamı:

  • `model_name: codex4less-sol` — istemcilerinizin çağıracağı alias. Akılda kalıcı herhangi bir ad seçebilirsiniz.
  • `model: openai/gpt-6.1-sol` — upstream model. openai/ öneki LiteLLM'e OpenAI uyumlu işleyiciyi kullanmasını söyler; geri kalanı Codex4Less model kimliğidir (Adım 4'e bakın).
  • `api_base: https://api.codex4less.com/v1` — Codex4Less API kökü. /v1 ekini koruyun (LiteLLM dokümanları eksik /v1'in genellikle “Not Found” hatasına yol açtığını belirtir).
  • `api_key: os.environ/CODEX4LESS_API_KEY` — LiteLLM, upstream anahtarını ortamdan okur. Gizli anahtar YAML'a hiç girmez.
  • `master_key: os.environ/LITELLM_MASTER_KEY` — istemcilerinizin sunması gereken gateway anahtarı.

Adım 4 — Upstream Modeli Seçin

Yetkili Codex4Less kataloğu: codex4less.com/pricing ve GET https://api.codex4less.com/v1/models.

Bu rehber `gpt-6.1-sol` kullanır (proxy üzerinden uçtan uca doğrulanmıştır; gpt-5.6-sol de aynı API testlerine yanıt vermiştir). Birden çok model sunmak için farklı model kimliklerine işaret eden farklı alias'larla ek girdiler ekleyin — alias yerel bir addır, openai/ sonrasındaki kimlik Codex4Less'e giden addır.

Adım 5 — Proxy'yi Başlatın

bash
export CODEX4LESS_API_KEY="sk-..."          # Codex4Less anahtarınız
export LITELLM_MASTER_KEY="sk-buraya-guclu-bir-yerel-anahtar-yazin"   # gateway anahtarınız
litellm --config litellm-config.yaml --host 127.0.0.1 --port 4010

Proxy hazır olduğunda Uvicorn running on http://127.0.0.1:4010 yazdırır.

Güvenlik: Yerel hızlı başlangıçlar için 127.0.0.1'e bağlayın. Ağdan erişilebilen bir proxy; düzgün anahtar yönetimi (sanal anahtarlar/veritabanı, TLS, ağ kontrolleri) gerektirir — açık bir gateway'i kimlik doğrulamasız sunmayın.

Adım 6 — Yönlendirmeyi Doğrulayın

Proxy çalışırken modelleri proxy üzerinden listeleyin (gateway anahtarıyla, Codex4Less anahtarıyla değil):

bash
curl http://127.0.0.1:4010/v1/models -H "Authorization: Bearer $LITELLM_MASTER_KEY"

Gözlemlenen: alias listesi ["codex4less-sol"]. Şimdi gerçek bir istek:

bash
curl http://127.0.0.1:4010/v1/chat/completions \
  -H "Authorization: Bearer $LITELLM_MASTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"codex4less-sol","messages":[{"role":"user","content":"Reply with exactly: VIA_LITELLM"}]}'

Gözlemlenen yanıt: VIA_LITELLM; yanıt gövdesinde model: "codex4less-sol". Son olarak isteğin gerçekten Codex4Less üzerinden geçtiğini kanıtlayın: codex4less.com/dashboard/usage sayfasında Panel → Kullanım'ı açın — bu rehberin testlerinde her proxy isteği, modeli ve token sayılarıyla birlikte saniyeler içinde orada göründü.

Hata durumları (test edildi)

  • Bilinmeyen alias (ör. bilinmeyen-alias): proxy isteği yerel olarak geçersiz model hatasıyla reddeder ve /v1/models'e yönlendirir — upstream'e çağrı yapılmaz.
  • Yanlış gateway anahtarı: yerel olarak 400 sınıfı bir hatayla reddedilir. (Bu veritabanısız hızlı başlangıçta gözlemlediğimiz davranış: bilinmeyen anahtar “No connected db.” döndürür — çünkü veritabanı olmadan LiteLLM yalnızca tek master key'i kabul edebilir. Birden çok sanal anahtar gerekiyorsa veritabanı ekleyin; [proxy dokümanlarına](https://docs.litellm.ai/docs/proxy/docker_quick_start) bakın.)
  • Hatalı Codex4Less anahtarı: proxy isteği iletir ve Codex4Less 401 yanıtlar — upstream kimlik doğrulama katmanının çalıştığını gösterir ve proxy loglarında görünür.

İsteğe bağlı — Proxy yerine Python SDK

LiteLLM'i kütüphane olarak çağırmayı tercih ederseniz aynı değerler doğrudan geçerlidir:

python
import litellm

response = litellm.completion(
    model="openai/gpt-6.1-sol",
    api_base="https://api.codex4less.com/v1",
    api_key="sk-...",  # Codex4Less anahtarı
    messages=[{"role": "user", "content": "Merhaba"}],
)

Bu rehberin odağı proxy yoludur; çünkü anahtarları ve model alias'larını birden çok uygulama için merkezileştirir. Kurulumunuza uyanı seçin — iki katmanı tek istek yolunda karıştırmayın.

Sorun Giderme

Proxy'den 401

İstemcinizin Authorization: Bearer ... değeri LITELLM_MASTER_KEY ile eşleşmiyor (ya da anahtar gönderilmedi). Bu 401 yereldir — Codex4Less anahtarı devrede değildir.

Codex4Less'ten 401 (proxy loglarında görünür)

CODEX4LESS_API_KEY proxy'nin ortamında eksik/yanlış/iptal edilmiş. Unutmayın: litellm'i başlattığınız aynı kabukta dışa aktarın ve proxy'yi yeniden başlatın.

“Not Found” / 404

  • api_base /v1 içermelidir (https://api.codex4less.com/v1) ancak uç nokta yolları içermemelidir.
  • Model kimlikleri iki ayrı ad alanıdır: alias (codex4less-sol, yerel) ve upstream kimlik (gpt-6.1-sol, Codex4Less). Yanlış upstream kimliği yerel değil upstream bir model hatası üretir.

Model listede ama upstream hata veriyor

Proxy sorunlarını upstream erişilebilirliğinden ayırmak için aynı model kimliğini doğrudan Codex4Less'e karşı çalıştırın (POST https://api.codex4less.com/v1/chat/completions). Katalog değişir — güncel listeyi kontrol edin.

Port kullanımda

Başka bir port seçin (--port 4011) ve istemcilerinizi buna göre güncelleyin.

SSS

LiteLLM SDK ile Proxy arasındaki fark ne? SDK, sağlayıcıları doğrudan Python kodunuzdan çağırır. Proxy ise makinenizin (veya ekibinizin) tek uç nokta ve tek istemci anahtarıyla kullanabileceği yerel bir ağ geçidi çalıştırır. Bu rehber proxy'ye odaklanır; ikisi de aynı openai/<model> + api_base mekaniğini kullanır.

Her anahtar nerede durmalı? Codex4Less anahtarı → config'te os.environ/... ile başvurulan ortam değişkeni. Gateway anahtarı → proxy için master_key ortam değişkeni ve istemcilerinizin Authorization başlığı. İkisi de commit edilen dosyalara girmez.

Proxy'yi makinede çalıştırmak güvenli mi? 127.0.0.1'e bağlamak yerelde tutar. Dışa açmak sanal anahtarlar, TLS ve ağ kontrolleri gerektirir — LiteLLM dokümanlarına bakın.

Hangi Codex4Less modellerini sunabilirim? Güncel katalogdaki her kimliği (pricing / GET /v1/models). Her model girdisi için bir alias; doğrulanmış örnek gpt-6.1-sol kullanır.

Alias ve yönlendirme gerçekten çalışıyor mu? Evet — test edilen akış proxy üzerinden yalnızca yerel codex4less-sol alias'ını çağırdı ve upstream istek Codex4Less'e gpt-6.1-sol olarak ulaştı (panel kullanım kaydıyla doğrulandı).

Sonuç ve Çağrı

Artık Codex4Less'in önünde yerel bir OpenAI uyumlu ağ geçidiniz var: uygulamalarınız için tek uç nokta, kenarda tek istemci anahtarı ve proxy'nin güvenle sakladığı Codex4Less anahtarı. Herhangi bir OpenAI uyumlu istemciyi http://127.0.0.1:4010 adresine yönlendirin, gerisi hazır.

Başlamaya hazır mısınız?

Codex4Less hesabınızı oluşturun, bir API anahtarı üretin ve yukarıdaki proxy yapılandırmasına bağlayın.

Hesabınızı oluşturun →

İlgili yazılar: Aider'ı Codex4Less'e Bağlama · Codex CLI'ı Codex4Less ile Kullanma · API dokümantasyonu