
Ücretsiz LLM API’leriyle uğraşırken sorun çoğu zaman model bulmak değil; her servisin ayrı API’si, model adı, anahtarı, kotası ve kendine özgü arızasıyla uğraşmak. Basit bir sınıflandırma veya kısa özet için ücretli modele her seferinde gitmek de gereksiz yere fatura çıkarabiliyor.
Benim yaklaşımım: elindeki ücretsiz sağlayıcı katmanlarını ve kullanılabilir topluluk uç noktalarını tek bir OpenAI-uyumlu API arkasında toplamak; basit istekleri daha ucuz rotaya göndermek, sınırına takılan veya yanıt vermeyen rotada kontrollü biçimde fallback kullanmak. Bu yazı “sınırsız bedava yapay zekâ” vaadi değil. Kota, erişim şartı ve model kullanılabilirliği sağlayıcıya göre değişiyor. Ama kendi makinenizde çalışan bir geçitle bu kaynakları düzenli ve gözlemlenebilir kullanabilirsiniz.
Başlamadan: Aşağıdaki kurulum, LiteLLM’i Docker Compose ile sıfırdan çalıştırıp önce elle tanımlı bir modeli test eder. Ardından FreeRouter’ın keşif/yenileme rolünü ve benim kullandığım entegrasyon modelini anlatır. FreeRouter upstream deposunun README’sindeki güncel çalışma talimatlarını takip edin; yerel kurulumumdaki Dockerfile ve patch upstream’in varsayılan özelliği değildir.
Bu sistemi neden kuruyoruz?
Her istek en pahalı modele gitmek zorunda değil. “Bu metni üç maddede özetle”, “başlığı sınıflandır” veya “JSON’a çevir” gibi basit işler ücretsiz katmanlarda veya küçük modellerde yeterli olabilir. Daha zor bir kodlama ya da muhakeme görevi güçlü modele gidebilir.
Tek geçit bize üç pratik avantaj sağlar:
- Tek API adresi: Uygulamalarım her sağlayıcı için ayrı istemci yapılandırmaz.
- Maliyet farkındalığı: Ücretsiz/ucuz rota önce denenebilir; ücretli rotaya geçiş açıkça seçilmiş ve sınırlandırılmış olur.
- Fallback: Bir sağlayıcı 429 verirse, geçici olarak erişilemiyorsa veya model hata döndürüyorsa başka bir uygun dağıtım denenebilir.
Fallback sihirli bir “her durumda otomatik bedava” anahtarı değildir. Aynı model adı farklı sağlayıcılarda farklı yetenek gösterebilir; ayrıca LiteLLM’in hata/yeniden deneme davranışı yapılandırmaya bağlıdır. İsteklerinizi ve harcamayı izleyin, ücretli rotayı varsayılan yedek yapmayın.
Mimari: istek nereye gidiyor?
İstemci (curl / Python / chat arayüzü)
|
| tek OpenAI-uyumlu base URL + geçit anahtarı
v
LiteLLM Proxy (Docker)
/ \
model grubu A model grubu B
/ | / |
sağlayıcı 1 2 sağlayıcı 3 4
^
|
FreeRouter: sağlayıcı/model keşfi ve havuz yenileme
LiteLLM istekleri karşılar; FreeRouter sağlayıcı kataloglarından modelleri keşfedip LiteLLM tarafındaki rotaları güncel tutar. Benim ortamımda FreeRouter modelleri fr/ rotalarıyla kaydediyor ve ortak model takma adlarıyla havuzlama için yerel entegrasyon/patch içeriyor. Bu ayrıntı upstream sürümüne bağlıdır; burada özel patch’i genel kurulum adımı gibi kopyalamıyorum.
Başlamadan önce: gerekenler ve bağlantılar
Bu rehberde Linux, macOS veya Windows + WSL2 kullanabilirsiniz. Komut satırını açıp git --version ve docker compose version komutlarının çalıştığını doğrulayın.
Gerekenler:
- Git: https://git-scm.com/downloads
- Docker Desktop (macOS/Windows) veya Docker Engine + Compose plugin (Linux): https://docs.docker.com/get-docker/
- Bir metin düzenleyici (VS Code olabilir: https://code.visualstudio.com/)
- En az bir sağlayıcı hesabı ve o sağlayıcıdan alınmış API anahtarı. Önce küçük bir sağlayıcı seçin; anahtarı yalnızca kendi bilgisayarınızda tutun.
- LiteLLM Proxy Docker quick start: https://docs.litellm.ai/docs/proxy/docker_quick_start
- FreeRouter kaynak kodu: https://github.com/markwaveio/FreeRouter
- Ücretsiz API fikir/katalog listesi: https://github.com/mnfst/awesome-free-llm-apis
- Alternatif keşif örneği: https://github.com/tomaasz/litellm-free-models-proxy
Sağlayıcı kayıt bağlantıları ve ücretsiz planlar sık değişiyor. Önce sağlayıcının kendi güncel dokümantasyonunu kontrol edin. Ücretsiz katman için ödeme yöntemi istenip istenmediğini ve kullanım şartlarını kendiniz teyit edin.
Adım 1: çalışma klasörü oluşturun
Terminalde aşağıdaki komutları çalıştırın:
mkdir -p ~/free-llm-gateway
cd ~/free-llm-gateway
mkdir -p klasörü oluşturur (~ sizin kullanıcı dizininizdir); cd o klasöre geçer. Bu örnekte kendi temiz klasörünüzde çalışın, mevcut projelerinizin dosyalarını üzerine yazmayın.
Adım 2: üç dosyayı oluşturun
docker-compose.yml
Aşağıdaki compose tanımı LiteLLM container’ını başlatır, yerel 4000 portunu container’ın 4000 portuna bağlar, anahtarları .env dosyasından okur ve yapılandırma dosyasını container içine salt okunur bağlar:
services:
litellm:
image: ghcr.io/berriai/litellm:main-latest
container_name: free-llm-proxy
ports:
- "127.0.0.1:4000:4000"
env_file:
- .env
volumes:
- ./litellm_config.yaml:/app/config.yaml:ro
command: ["--config", "/app/config.yaml", "--port", "4000", "--host", "0.0.0.0"]
restart: unless-stopped
Port eşlemesindeki 127.0.0.1 proxy’yi yalnızca aynı makineden erişilebilir kılar. İlk denemede bu daha güvenli; başka cihazlardan erişim için portu gelişigüvensiz açmak yerine reverse proxy, TLS ve erişim kontrolü kurun. main-latest güncel imajı alır; üretim kullanımı için sürümü sabitlemeyi ve kontrollü güncellemeyi düşünün.
.env
Aynı klasörde .env adında bir dosya açın. Aşağıdaki değerleri kendiniz üretin/değiştirin; örnek yer tutucular gerçek anahtar değildir:
LITELLM_MASTER_KEY=sk-local-change-this-to-a-long-random-secret
GEMINI_API_KEY=your-provider-key-here
LITELLM_MASTER_KEY sizin yerel proxy’nize erişim anahtarıdır; sağlayıcı anahtarı değildir. Gerçek değerleri bu yazıdaki örneğe veya Git deposuna koymayın. Rastgele güçlü bir geçit anahtarı oluşturmak için macOS/Linux’ta openssl rand -hex 32 çalıştırıp çıktıyı .env içine ekleyebilirsiniz. .env Git’e gönderilmemeli; kontrol edin:
printf '\n.env\n' >> .gitignore
Bu komut .gitignore dosyasına .env satırını ekler. Klasörde .gitignore yoksa dosya oluşturulur. Herhangi bir dosyayı Git’e eklemeden önce git status --short ile kontrol edin.
litellm_config.yaml
İlk denemede bir sağlayıcı ve bir model tanımlayın. Örnek Gemini model/alan adı kaynak tarafında değişebilir; sağlayıcının ve LiteLLM’in güncel dokümantasyonuyla doğru model kimliğini doğrulayın:
model_list:
- model_name: gemini-flash
litellm_params:
model: gemini/gemini-2.0-flash
api_key: os.environ/GEMINI_API_KEY
litellm_settings:
drop_params: true
request_timeout: 60
model_name, sizin istemcide kullanacağınız takma addır. model, LiteLLM’in sağlayıcı/model kimliğidir. os.environ/GEMINI_API_KEY, anahtar değerini YAML’e yazmak yerine container ortamından okur. Model adı artık mevcut değilse sağlayıcının güncel model kataloğundaki kimlikle değiştirin.
Adım 3: ilk kez çalıştırın ve log’ları kontrol edin
docker compose up -d
up servisleri oluşturup başlatır; -d terminali meşgul etmeden arka planda çalıştırır. İlk çalıştırma imajı indirebilir. Durum ve log:
docker compose ps
docker compose logs --tail=100 litellm
Container Up görünmeli; log’larda yapılandırma/kimlik doğrulama hatası olmamalı. Değişiklik yaptıktan sonra yeniden başlatmak için docker compose restart litellm; durdurmak için docker compose down kullanın.
Adım 4: geçidin yanıt verdiğini doğrulayın
curl http://localhost:4000/health
Bu yalnızca proxy’nin yanıt verdiğini kontrol eder; sağlayıcının modelinin çalıştığını kanıtlamaz. Gerçek chat completion isteği gönderin:
curl http://localhost:4000/v1/chat/completions \\
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \\
-H "Content-Type: application/json" \\
-d '{"model":"gemini-flash","messages":[{"role":"user","content":"Bir cümlede Docker nedir?"}]}'
Terminalde .env dosyasındaki değerleri oturuma yüklemek için set -a; source .env; set +a çalıştırın. Bu komut secret değerini komut satırında tekrar yazmadan ortam değişkeni yapar. .env dosyasına erişimi de kısıtlayın: chmod 600 .env. Başarılı yanıtta choices içinde model cevabı görünür.
Hata kodlarını kabaca şöyle okuyun: 401 geçit/sağlayıcı anahtarı sorunu olabilir; 402 plan veya faturalandırma engeli; 429 hız/kota sınırı; 5xx sağlayıcı veya ağ geçici sorunu. Kesin neden için yanıt gövdesini ve sağlayıcı durumunu inceleyin.
Adım 5: ikinci sağlayıcı ekleyin, isimleri ayırın
İkinci sağlayıcı anahtarını .env dosyasına ekleyin ve litellm_config.yaml içine ayrı model_name girdisi oluşturun. Örnek biçim:
- model_name: groq-fast
litellm_params:
model: groq/PROVIDER-DOCS-TAKIP-DOGRU-MODEL-ID
api_key: os.environ/GROQ_API_KEY
Yukarıdaki PROVIDER-DOCS-TAKIP-DOGRU-MODEL-ID özellikle yer tutucudur; gerçek model kimliği değildir. Sağlayıcının dokümanından kopyalayın. Sonra docker compose restart litellm yapıp ayrı ayrı test edin. İki sağlayıcıya aynı alias vermek veya yapılandırmaya bilinmeyen isim eklemek ilk kurulum için kafa karıştırır; önce her rotayı tek başına doğrulayın.
Adım 6: FreeRouter keşfini ekleyin
LiteLLM’in elle tanımlı tek rotayla çalıştığını doğruladıktan sonra FreeRouter’ı ekleyin. Başlangıç noktası upstream repo ve README:
git clone https://github.com/markwaveio/FreeRouter.git
cd FreeRouter
Bu komut kaynak kodunu indirir. Ardından repo içindeki güncel README’de belirtilen Python sürümü, bağımlılık kurulum, yapılandırma ve çalıştırma adımlarını aynen izleyin; sürümler arasında CLI ve config alanları değişebileceği için burada doğrulanmamış komut/anahtar adı uydurmuyorum. FreeRouter’a yalnızca LiteLLM API’sine erişmek ve sağlayıcı kataloglarını kontrol etmek için gerekli değerleri verin. Tam .env dosyanızı veya veritabanı parolanızı bu servise gelişigüzel aktarmayın.
Entegrasyonun özeti: FreeRouter katalogdan aday modelleri bulur; kullanılabilirliği gerçek istekle kontrol eder; onayladığınız modelleri LiteLLM’e kaydeder/günceller. Başlangıçta otomatik keşfedilen her şeyi üretim trafiğine açmayın. Ücretsiz olduğuna dair kanıtı olmayan modeli allow-list’e almayın; ücretli katalog modeli yanlışlıkla ücretsiz havuza girmesin.
Benim Mac mini ortamımda FreeRouter’ı Docker içinde LiteLLM model kayıt API’sine bağlayan yerel compose/patch vardı. Upstream’in kendisinde Dockerfile bulunmadığı dönemlerde kendi çalışma imajını oluşturdum; bu yerel çözüm FreeRouter’ın resmi, kutudan çıkar çıkmaz compose kurulumu olarak sunulmamalı. Kendi kurulumunuzda upstream talimatını izleyin ve değişiklikleri test edin.
Pratik kullanım
curl
İstemci LiteLLM’e gider, sağlayıcıyı bilmesine gerek kalmaz:
curl http://localhost:4000/v1/chat/completions \\
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \\
-H "Content-Type: application/json" \\
-d '{"model":"groq-fast","messages":[{"role":"user","content":"Bu paragrafı üç maddede özetle."}]}'
groq-fast LiteLLM’de tanımladığınız alias olmalı. İstediğiniz alias/model adı farklıysa kendi yapılandırmanızdakini yazın.
Python (OpenAI istemci biçimi)
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .venv\\Scripts\\Activate.ps1
pip install openai
Sonra client.py oluşturun:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["LITELLM_MASTER_KEY"],
base_url="http://localhost:4000",
)
response = client.chat.completions.create(
model="gemini-flash", # LiteLLM config içindeki alias
messages=[{"role": "user", "content": "Merhaba!"}],
)
print(response.choices[0].message.content)
LITELLM_MASTER_KEY değerini çalıştırmadan önce ortam değişkeni olarak ayarlayın. Python dosyasına gerçek anahtar yazmayın. .env yüklemek isterseniz python-dotenv kullanıp .env dosyasını da Git dışında tutun.
Chat arayüzü
Open WebUI gibi OpenAI-compatible endpoint destekleyen bir istemcide bağlantı ayarları şu mantıkta olur: API base URL http://localhost:4000/v1, API key sizin LiteLLM LITELLM_MASTER_KEY değeriniz, model adı litellm_config.yaml içindeki model_name. Chat arayüzü başka Docker container’ındaysa localhost o container’ın kendisi anlamına gelebilir; Docker network içinden LiteLLM servis adını kullanın (ör. http://litellm:4000/v1) ve iki servisi aynı Docker network’e koyun. İnternete açık arayüzde anahtarı tarayıcıya gömmeyin.
Akıllı fallback ve maliyeti kontrol altında tutmak
İlk gün her isteği tek model grubuna gönderin. Sonra aynı görevi kabul edilebilir kalitede yapan iki rota belirleyin: ücretsiz/ucuz birincil rota ve kontrollü yedek. LiteLLM’de fallback ve retry yapılandırması sürüme/kuruluma göre değişebilir; resmi dokümantasyonda proxy fallback ayarlarını inceleyin: https://docs.litellm.ai/docs/proxy/reliability
Fallback stratejisi kurarken:
- Yedekleri öncelik sırasıyla açıkça seçin; ücretli modeli otomatik yedek olarak varsayılan yapmayın.
- 429 ve geçici 5xx gibi hataları sınırlı sayıda yeniden deneyin; gecikme ekleyin. Sonsuz retry hem kotayı hem yanıt süresini kötüleştirir.
- 401/402 gibi kalıcı anahtar/plan hatalarında aynı sağlayıcıya tekrar tekrar istek atmayın; rotayı devre dışı bırakıp sorunu düzeltin.
- Fallback modelinin bağlam penceresi, dil, JSON/tool desteği ve çıktı kalitesini kontrol edin.
- Başarılı istek, seçilen model/sağlayıcı, latency, hata ve tahmini maliyeti loglayın. Hassas istemleri veya Authorization header’larını loglamayın.
- Bütçe, kullanıcı başına oran ve maksimum token limiti belirleyin; günlük harcamaya alarm koyun.
Ücretsiz katmanlar ve test ettiğim kaynaklar
4 Ekim 2026 yerel denemelerimde canlı chat isteğiyle kontrol ettiğim ek kaynaklar: Kilo Gateway (:free modeller, anahtarsız erişim); Z.AI (glm-4.7-flash, glm-4.5-flash); SambaNova’dan seçilmiş modeller; OpenCode Zen’den space-bunny-free; Electron Hub’ın haftalık kredi kapsamında yanıt veren seçilmiş modelleri. Ayrıca Gemini, Groq, OpenRouter, Cerebras, Mistral, Cloudflare ve diğer mevcut rotalarda çalışan modeller vardı.
Bu bir bugün için kullanılabilirlik vaadi değil. FreeInference yeni kayıtları durdurmuştu; Nous Portal ücretsiz planda anahtar vermiyordu; bazı sağlayıcılar bölgesel telefon, gerçek kişi doğrulaması, trial kredisi veya ücretli plan istiyordu. Electron Hub’ın sıfır fiyatlı görünen bazı :dev modelleri Coding Plan’a özeldi. OpenCode Zen’de ücretsiz etiketi olan birçok model dış istemciden erişime izin vermedi. Listeyi yayımdan önce yeniden kontrol edin.
Sık karşılaşılan sorunlar
- Container başlamıyor:
docker compose logs --tail=100 litellmçıktısında YAML girintisi, dosya yolu veya eksik env değişkeni arayın. - Model bulunamadı: istemci model adı
model_nameile aynı mı? Sağlayıcı model kimliği güncel mi? - 401: LiteLLM geçit anahtarı ile sağlayıcı API anahtarını karıştırmayın;
.envve compose aktarımını kontrol edin. - 429: kota/hız limiti. İstek sıklığını düşürün, bekleyin, kontrollü yedek rota kullanın.
- Model listede ama istek başarısız: katalog cevabı gerçek inference testi değildir. Chat completion’i tek tek deneyin.
- Anahtarsız provider görünmüyor: keşif aracının credential alanı boşken provider’ı atlayıp atlamadığını loglardan kontrol edin.
auth: nonebenzeri destek varsa yalnızca upstream dokümanına göre yapılandırın; rastgele sahte anahtar eklemeyin.
Güvenlik kontrol listesi
.envdosyası Git’te değil;git status --shortbunu doğruluyor.- Gerçek anahtarlar örnek dosyaya, ekran görüntüsüne, issue’ya veya shell komutuna yazılmıyor.
- LiteLLM geçit anahtarı sağlayıcı anahtarlarından ayrı ve güçlü.
- İlk deneme sadece
127.0.0.1üzerinden erişilebilir. - Uzak erişim gerekiyorsa TLS, kimlik doğrulama, firewall ve oran sınırı var.
- Container log’ları Authorization header’larını ve secret değerlerini göstermiyor.
- Sağlayıcı anahtarı sızarsa sağlayıcı panelinden iptal/rotate edin; git geçmişinden silmenin tek başına yeterli olmadığını unutmayın.
Sonuç
FreeRouter + LiteLLM, ücretsiz katmanları tek API altında denemeyi ve basit işleri daha ucuz rotalara yönlendirmeyi kolaylaştırıyor. Ama tek geçit, tek sınırsız kota yaratmıyor; ücretsiz model kataloğu da erişilebilirlik garantisi değil. Başlangıçta bir sağlayıcı ve bir alias ile ilerleyin, gerçek chat isteğiyle doğrulayın, sonra FreeRouter keşfini ve kontrollü fallback’i ekleyin.
Katalogdan çok canlı sağlık durumuna, etiketlerden çok gerçek isteğe güvenin. Ve faturanızı kontrol etmeyi otomasyona bırakmayın.
Kurulum promptu (Türkçe)
Aşağıdaki prompt’u kodlama asistanınıza vererek FreeRouter + LiteLLM kurulumunu kendi makinenizde uyarlamasını isteyebilirsiniz. Güvenlik ve mevcut verileri koruma koşullarını değiştirmeyin:
Bu makinede FreeRouter + LiteLLM kurulumumu, mevcut ortama uyarlayarak incele ve tamamla. Önce tüm ilgili compose/config dosyalarını, FreeRouter upstream README'sini ve kurulu LiteLLM sürümünün resmi dokümantasyonunu oku. Varsayım yapma; düzenleme öncesi planını ve etkilenecek dosyaları bildir.
Hedef mimari: Docker Compose içinde LiteLLM Proxy tek OpenAI uyumlu API kapısı olsun. FreeRouter sağlayıcı/model keşfi ve senkronizasyonu yapsın; LiteLLM'in Model Management API'sine LITELLM_MASTER_KEY üzerinden bağlansın. FreeRouter'ın yönettiği modeller fr- önekiyle ayırt edilsin. Ücretsiz olduğu doğrulanmayan modelleri etkinleştirme; ücretli modele otomatik fallback tanımlama.
Koruma kuralları:
- .env dosyasını hiçbir zaman ekrana basma, değiştirme, kopyalama veya Git'e ekleme. Secret değerlerini loglama.
- PostgreSQL veritabanını/volume'larını silme, sıfırlama veya yeniden oluşturma. Elle tanımlanmış LiteLLM modellerini aynen koru.
- Sadece FreeRouter'ın fr- önekli yönettiği model kayıtlarını ekle/güncelle/sil; diğer kayıtları değiştirme.
- Yıkıcı ya da geri döndürülemez işlem yapma. Mevcut ayarları, yedekleri ve kullanıcı değişikliklerini koru.
İzlenecek adımlar:
1. Upstream README ve kurulu sürümlerle doğrula; eski/uyumsuz talimatları körlemesine uygulama. Gerekli servis komutu ve yapılandırmayı belgelenmiş güncel arayüzden belirle.
2. FreeRouter model-sync servisini mevcut Compose ağına bağla ve LiteLLM sağlıklı olduktan sonra başlat. Gerekli ortam değişkenlerini yalnızca isimleriyle aktar; değerleri yazdırma.
3. Modelleri keşfet, sağlık kontrolü ve gerçek inference isteğiyle doğrula. Ücretsiz plan/erişim şartını sağlayıcı kaynağından teyit et; belirsiz adayları etkinleştirme.
4. FreeRouter'ın yönettiği modeller için fr- önekini kullan. Poolable sağlayıcılardaki aynı temel model için canonical alias havuzu gerekiyorsa küçük, belgeli, upstream'e karşı tekrar uygulanabilir patch hazırla; normalizasyonu test et ve patch'in güncelleme/senkronizasyon akışında güvenle uygulanmasını doğrula.
5. compose.sh varsa güncelleme, patch uygulama, model-sync build/restart ve patch yedekleme akışlarını entegre et. --sync ile tüm güncelleme yollarını kontrol et; mevcut servis/backup davranışını bozma.
6. Diff'i incele, YAML/shell kontrollerini ve Docker build'i çalıştır. Yalnızca gereken model-sync servisini yeniden oluştur. Logları ve LiteLLM model listesini kontrol et, yeni alias'lar için gerçek chat completion testi yap. Secret veya özel istem içeriği yazdırma.
7. Değişen dosyaları, testleri, eklenen alias örneklerini, doğrulanamayan sağlayıcıları ve kalan manuel işleri özetle. Güvenlik/veri koruma koşullarından biri sağlanamıyorsa ilgili değişikliği yapmadan dur ve sebebini bildir.
Bu prompt mevcut makineyi ve upstream’in güncel arayüzünü incelemeyi ister; FreeRouter’ın sürümüne bağlı olmayan sabit CLI veya dosya biçimi dayatmaz.
Setup prompt (English)
Give this prompt to your coding agent to adapt the setup to your machine. Keep the data-preservation and security requirements intact:
Inspect and complete the FreeRouter + LiteLLM setup on this machine, adapting it to the existing environment. First read all relevant Compose/config files, the FreeRouter upstream README, and official documentation for the installed LiteLLM version. Do not assume. Report your plan and the files you intend to change before editing.
Target architecture: LiteLLM Proxy is the single OpenAI-compatible API gateway in Docker Compose. FreeRouter discovers and synchronizes provider/models and connects to LiteLLM's Model Management API using LITELLM_MASTER_KEY. Identify FreeRouter-managed models with the fr- prefix. Do not enable models whose free status has not been verified; do not configure a paid model as automatic fallback.
Preservation rules:
- Never print, modify, copy, or commit the .env file. Never log secret values.
- Do not delete, reset, or recreate PostgreSQL databases or volumes. Preserve all manually configured LiteLLM models.
- Add/update/delete only FreeRouter-managed model records with the fr- prefix; do not modify other records.
- Do not perform destructive or irreversible actions. Preserve existing settings, backups, and user changes.
Workflow:
1. Verify instructions against the current upstream README and installed versions; do not blindly apply stale instructions. Determine the documented service command and configuration interface.
2. Connect FreeRouter model-sync to the existing Compose network and make it wait until LiteLLM is healthy. Pass required environment variables by name only; never print their values.
3. Discover models and verify health with a real inference request. Confirm free-plan/access conditions from provider sources; leave uncertain candidates disabled.
4. Use the fr- prefix for FreeRouter-managed models. If a canonical alias pool is needed for the same base model across poolable providers, create a small documented patch that can be reapplied against upstream. Test name normalization and verify safe application during update/sync.
5. If compose.sh exists, integrate update, patch application, model-sync build/restart, and patch backup. Check --sync and every full-update path without disrupting existing services or backups.
6. Review the diff, run YAML/shell checks and the Docker build. Recreate only the required model-sync service. Check logs and LiteLLM's model list; run a real chat-completion test for each new alias. Never print secrets or private prompt content.
7. Summarize changed files, tests, sample aliases, providers that could not be verified, and remaining manual steps. If any security or data-preservation condition cannot be met, stop before making that change and explain why.
This prompt tells the agent to inspect the machine and current upstream interface instead of assuming version-dependent CLI commands or file formats.
Kaynaklar
- FreeRouter upstream: https://github.com/markwaveio/FreeRouter
- LiteLLM Docker quick start: https://docs.litellm.ai/docs/proxy/docker_quick_start
- LiteLLM reliability/fallback: https://docs.litellm.ai/docs/proxy/reliability
- Ücretsiz API listesi: https://github.com/mnfst/awesome-free-llm-apis
- LiteLLM model-discovery proxy örneği: https://github.com/tomaasz/litellm-free-models-proxy
Editoryal not: Sağlayıcı/model örnekleri 4 Ekim 2026 tarihli yerel test notlarına dayanıyor; yayımdan önce güncel model adlarını, ücretsiz plan koşullarını ve FreeRouter README adımlarını yeniden doğrulayın.