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:
Uygulamanız → yerel LiteLLM Proxy (127.0.0.1) → Codex4Less API → seçilen modelAş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:
| Anahtar | Görevi | Yeri |
|---|---|---|
| **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
- LiteLLM için Python ortamı (resmî kurulum pip kullanır; uv/Docker yolu da vardır — resmî proxy hızlı başlangıcına bakın).
- Codex4Less hesabı ve API anahtarı: codex4less.com/register.
- Bir terminal. Bu rehberin testleri Linux'ta koştu; komutlar macOS'ta da standarttır.
Adım 1 — Codex4Less API Anahtarınızı Oluşturun
- Panelden API Anahtarları sayfasını açın: codex4less.com/dashboard/api-keys
- 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:
pip install "litellm[proxy]"
litellm --versionpip'in bulunmadığı sistemlerde aynı paket uv ile sorunsuz kurulur (bu rehberin testleri bu yöntemle kurulmuştur):
uv tool install "litellm[proxy]"
litellm --versionBu 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:
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_KEYBö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ü.
/v1ekini 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
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 4010Proxy 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):
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:
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:
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/v1iç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.
İlgili yazılar: Aider'ı Codex4Less'e Bağlama · Codex CLI'ı Codex4Less ile Kullanma · API dokümantasyonu
