Fungsi LiteLLM
- SDK adalah satu fungsi Python,
completion(), yang memanggil provider mana pun dalam format OpenAI. Awalan pada nama model menentukan providernya:openai/berarti API apa pun yang kompatibel dengan OpenAI. - Proxy adalah server yang Anda jalankan sendiri, secara default di
http://localhost:4000. Aplikasi memanggilnya dalam format OpenAI atau Anthropic, lalu proxy menambahkan kunci, anggaran, logging, dan fallback di depan provider Anda.
Menyiapkan proxy
- Instal di virtual environment. LiteLLM 1.106 membutuhkan Python 3.10 atau lebih baru.
python -m venv .venvsource .venv/bin/activate # Windows: .venv\Scripts\activatepip install "litellm[proxy]"- Tulis config.yaml. Inilah file yang kami uji: DeepSeek V4.1 Flash lewat endpoint yang kompatibel dengan OpenAI, Claude Sonnet 5.5 lewat provider Anthropic milik LiteLLM, dan wildcard yang menjangkau semua model lain sebagai
zurelay/<model ID>. Hargamodel_infoadalah harga Zurelay saat ini.
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: truelitellm_settings: use_chat_completions_url_for_anthropic_messages: true check_provider_endpoint: truegeneral_settings: master_key: os.environ/LITELLM_MASTER_KEY- Jalankan dengan kunci Zurelay Anda dan master key milik Anda sendiri. Klien mengirim master key; LiteLLM mengharapkan kunci yang diawali
sk-.
export ZURELAY_API_KEY="zr_live_..."export LITELLM_MASTER_KEY="sk-choose-a-long-random-key"litellm --config config.yaml- Panggil seperti API kompatibel OpenAI lainnya, dengan
model_namedari konfigurasi.
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"}]}'Atau gunakan Python SDK
Tanpa proxy, sertakan base URL dan kunci pada setiap panggilan. Untuk Claude lewat provider anthropic/ milik LiteLLM, base URL-nya adalah https://api.zurelay.com, tanpa /v1.
import osfrom litellm import completionresponse = 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"}],)Claude Code melalui LiteLLM
Proxy ini juga melayani Messages API milik Anthropic, sehingga Claude Code dapat berjalan di model apa pun dalam konfigurasi. Arahkan Claude Code ke proxy dan sebutkan model yang harus digunakan:
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"claudeUntuk model Claude saja, Anda tidak perlu LiteLLM: Claude Code berbicara langsung ke Zurelay, seperti yang ditunjukkan harga Claude Code. Untuk router dengan halaman web, bukan file YAML, lihat Claude Code Router.
Pengaturan yang membuatnya gagal
- Claude Code gagal di DeepSeek dengan
Unknown request URL: POST /v1/responses. Untuk modelopenai/, LiteLLM mengubah permintaan Anthropic Messages menjadi panggilan ke Responses API milik OpenAI, yang tidak dilayani Zurelay. Setelah satu kegagalan, LiteLLM juga menempatkan model dalam masa jeda (cooldown), sehingga permintaan berikutnya mendapat429 No deployments available for selected model.use_chat_completions_url_for_anthropic_messages: truedi bawahlitellm_settingsmengalihkannya ke Chat Completions. - Klien Responses API gagal dengan cara yang sama. Permintaan ke
/v1/responsesmilik proxy, ataulitellm.responses()di SDK, diteruskan ke upstream tanpa perubahan sampaiuse_chat_completions_api: truediatur pada model. - Claude dengan /v1 di base URL memanggil
/v1/v1/messagesdan mendapat 404. Provideranthropic/menambahkan/v1/messagessendiri; modelopenai/membutuhkan/v1. - Wildcard menampilkan model yang salah. Dengan
openai/*,/v1/modelsmilik proxy menampilkan daftar bawaan LiteLLM berisi 216 nama OpenAI (gpt-3.5-turbo,babbage-002) dan tidak satu pun milik Zurelay. Permintaan dengan ID model asli tetap berfungsi.check_provider_endpoint: truemembuatnya menampilkan model Zurelay. - Di Windows, proxy crash saat dijalankan dengan
UnicodeEncodeError: 'charmap' codec can't encode charactersketika outputnya diarahkan ke file log: banner berisi karakter yang tidak ada di code page default. Mode UTF-8 Python mengatasinya:PYTHONUTF8=1di environment, ataupython -X utf8.
Pelacakan biaya
Pelacakan pengeluaran LiteLLM menghitung harga setiap permintaan dari daftarnya sendiri. Untuk model yang dikenalnya, itu adalah harga resmi lab: permintaan Claude Sonnet 5.5 kami dihitung dengan tarif Anthropic, sekitar 2,5 kali lipat dari yang ditagihkan Zurelay. Untuk model yang tidak dikenalnya, seperti DeepSeek V4.1 Flash di balik openai/, biaya tidak dicatat sama sekali. Baris model_info pada konfigurasi di atas memperbaiki keduanya: dengan baris itu, biaya yang dikembalikan LiteLLM di header x-litellm-response-cost cocok dengan tagihan kami.
Biaya dalam pengujian kami
Melalui proxy, Claude Code menulis file Python kecil di DeepSeek V4.1 Flash, lalu mengeditnya di Claude Sonnet 5.5. Keduanya menggunakan alat file Claude Code dengan benar. Zurelay menagihkan:
| Model | Tugas | Permintaan | Token prompt (dari cache) | Biaya |
|---|---|---|---|---|
| DeepSeek V4.1 Flash | Buat hello.py | 3 | 39,725 (25,845) | $0.0005 |
| Claude Sonnet 5.5 | Edit hello.py | 3 | 51,310 (32,523) | $0.023 |
Setiap permintaan membawa instruksi dan definisi alat Claude Code sebanyak 13.000 hingga 18.000 token, dan mulai dari permintaan kedua sebagian besarnya dibaca dari cache. Perkiraan Claude Code sendiri untuk tugas Claude adalah $0.054, dengan harga resmi Anthropic. Panggilan SDK sebelumnya, masing-masing satu jawaban singkat, berbiaya $0.000006 di DeepSeek dan $0.0003 di Claude Sonnet 5.5.
Yang perlu diketahui
- Proxy mendengarkan di semua antarmuka jaringan (
0.0.0.0) kecuali Anda menyertakan--host 127.0.0.1. Pastikan master key tetap diatur, atau siapa pun di jaringan Anda dapat menghabiskan kredit Anda. - Model wildcard mengambil ID aslinya setelah prefiks:
zurelay/gpt-6.1-terradalam permintaan menjadigpt-6.1-terradi Zurelay. - Di Windows, instal ke path folder yang pendek. Virtual environment yang berada jauh di dalam folder temp gagal dengan
ModuleNotFoundError: No module named 'openai.types...'karena beberapa path file melewati batas 260 karakter Windows.
Harga model yang akan Anda pasang di belakangnya
Harga resmi lab dan harga Zurelay per 1M token:
| Model | Input | Output | Di Zurelay (input / output) |
|---|---|---|---|
| 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 |
Diuji pada 3 November 2026 dengan LiteLLM 1.106.6 di Python 3.12 dan Claude Code 2.1.317, di Windows, terhadap API Zurelay. Panduan singkat penyiapan ada di LiteLLM di dokumentasi. Dokumentasi LiteLLM sendiri: Endpoint kompatibel OpenAI dan konfigurasi proxy.