Workload LLM menghadapi tantangan inheren: panjang permintaan yang bervariasi, generasi token yang tidak dapat diprediksi, dan pemanfaatan GPU yang fluktuatif. Load balancer tradisional mendistribusikan traffic tanpa visibilitas terhadap tekanan backend, menyebabkan beban instans yang tidak merata dan throughput menurun. EAS mengatasi hal ini dengan router cerdas LLM, yang mengintegrasikan penjadwalan cerdas dan operasi visual dalam satu layanan. Router ini secara dinamis menyeimbangkan komputasi dan memori GPU berdasarkan metrik LLM real-time, mempertahankan throughput tinggi di bawah beban, serta menyediakan workbench WebUI bawaan untuk pemantauan langsung, pembaruan konfigurasi hot, dan manajemen kunci API per pengguna dengan isolasi identitas.
Cara kerja
Konsep utama
Layanan router cerdas LLM terdiri dari dua komponen inti:
LLM Gateway: titik masuk traffic dan pemrosesan permintaan. Menerima permintaan pengguna dan meneruskannya ke instans inferensi target berdasarkan keputusan dari
LLM Scheduler.Mendukung protokol HTTP (HTTP_SSE) dan WebSocket.
Konversi protokol API Anthropic diaktifkan secara default. Permintaan yang diformat sesuai spesifikasi Anthropic secara otomatis dikonversi ke format yang kompatibel dengan OpenAI, sehingga Anda dapat menggunakan alat seperti Claude Code dengan layanan model yang mengikuti standar API OpenAI tanpa mengubah kode Anda. Untuk detailnya, lihat Gunakan Claude Code dengan router.
LLM Scheduler: mesin penjadwalan. Memilih instans target optimal untuk setiap permintaan berdasarkan kebijakan penjadwalan yang dikonfigurasi (misalnya, routing berbasis prefix-cache).
Cara kerja
Alur permintaan berlangsung sebagai berikut:
Menerima permintaan. Permintaan pengguna tiba di
LLM Gateway. Jika semua instans inferensi backend berada dalam beban tinggi, gateway akan mengantrikan permintaan tersebut.Penjadwalan cerdas.
LLM Gatewaymengirim permintaan penjadwalan keLLM Scheduler.LLM Schedulermemilih instans optimal berdasarkan kebijakan yang dikonfigurasi dan metrik real-time dari setiap instans.Meneruskan permintaan. Setelah menerima hasil penjadwalan,
LLM Gatewaymeneruskan permintaan pengguna langsung ke instans yang dipilih.
Mekanisme failover
Layanan ini mencakup beberapa lapis toleransi kesalahan untuk menjaga ketersediaan:
LLM Gateway: Terapkan minimal dua instans. Jika satu instans gagal, traffic secara otomatis dialihkan ke instans yang sehat.
LLM Scheduler: Jika penjadwal gagal,
LLM Gatewaysecara otomatis kembali ke routing round-robin (kinerja penjadwalan berkurang, tetapi ketersediaan tetap terjaga). Saat penjadwal pulih, penjadwalan cerdas dilanjutkan secara otomatis.Instans inferensi: Jika suatu instans gagal,
LLM Schedulersegera menghapusnya dari pool yang tersedia. Tidak ada traffic baru yang diarahkan ke instans tersebut hingga pulih dan ditambahkan kembali secara otomatis.
Batasan
Persyaratan grup layanan:
Router cerdas LLM harus diterapkan dalam grup layanan yang sama dengan layanan inferensi. Router tidak berfungsi jika diterapkan di grup layanan yang berbeda dari layanan inferensi.
Dalam grup layanan yang sama, layanan router cerdas dan layanan antrian tidak dapat berdampingan.
Konfigurasikan router cerdas hanya saat membuat layanan inferensi baru. Keanggotaan grup layanan ditentukan saat pembuatan dan tidak dapat diubah setelahnya. Akibatnya, routing cerdas hanya dapat dikonfigurasi saat membuat layanan inferensi baru. Anda tidak dapat menambahkan atau memodifikasi routing cerdas pada layanan yang sudah ada melalui Update service.
Persyaratan mesin inferensi: Hanya vLLM dan SGLang yang didukung.
Tidak kompatibel dengan NLB dan Nacos: Layanan inferensi yang diakses melalui NLB atau Nacos tidak dapat menggunakan router cerdas LLM secara bersamaan.
Terapkan beberapa instans inferensi: Router cerdas LLM memberikan manfaat hanya ketika beberapa instans inferensi diterapkan.
Memulai cepat
Langkah 1: Terapkan layanan router cerdas LLM
Login ke Konsol PAI dan pilih wilayah target di bagian atas halaman.
Di panel navigasi kiri, klik Elastic Algorithm Service (EAS), pilih ruang kerja target, lalu buka EAS.
Klik Deploy Service, lalu pilih Scenario-based Model Deployment>Deploy LLM gateway.
Konfigurasikan parameter:
Parameter
Deskripsi
Basic Information
Service Name
Nama kustom untuk layanan, misalnya,
llm_gateway.Resource Information
Deployment Resources
Konfigurasi resource untuk
LLM Gateway. Untuk memastikan ketersediaan tinggi, Number of Replicas default-nya adalah 2; pertahankan nilai default ini. Alokasi resource default adalah 4 vCPU dan 8 GB memori.Scheduling configuration
Konfigurasi resource untuk
LLM Scheduler. Nilai default-nya adalah 2 vCPU dan 4 GB memori.Scheduling Policy
Kebijakan penyeimbangan beban yang digunakan untuk memilih instans inferensi backend. Nilai default-nya adalah Prefix cache. Untuk perbandingan mendetail dan panduan pemilihan, lihat Referensi kebijakan penjadwalan.
Advanced Features
Redis config
Opsional. Menyimpan informasi pengguna dan statistik penggunaan secara persisten. Tanpa Redis, layanan menggunakan memori lokal dan data akan hilang saat layanan berhenti. Untuk detailnya, lihat Konfigurasi penyimpanan persisten Redis.
Klik Deploy. Saat status layanan berubah menjadi Running, penerapan selesai.
Setelah penerapan, sistem secara otomatis membuat grup layanan bernama group_<nama layanan router cerdas LLM>. Untuk melihatnya, buka halaman Elastic Algorithm Service (EAS) dan klik tab Canary Release.

Langkah 2: Terapkan layanan LLM
Konfigurasikan router cerdas saat membuat layanan LLM baru. Anda tidak dapat menambahkannya ke layanan yang sudah ada melalui Update.
Contoh berikut menggunakan Qwen3-8B:
Klik Deploy Service, lalu pilih Scenario-based Model Deployment> LLM Deployment.
Konfigurasikan parameter berikut:
Parameter
Nilai
Basic Information
Model Settings
Pilih Public Model, cari, lalu pilih Qwen3-8B.
Inference Engine
Pilih vLLM (direkomendasikan; kompatibel dengan API OpenAI).
CatatanJika router cerdas LLM dikonfigurasi dengan Prefix cache scheduling policy dan Anda memilih vLLM sebagai mesin inferensi, pastikan prefix caching diaktifkan di vLLM.
Deployment Template
Pilih Single node. Sistem secara otomatis mengisi tipe instans, image, dan parameter lain yang direkomendasikan berdasarkan templat.
Features
LLM Intelligent Router
Aktifkan toggle dan pilih layanan router cerdas LLM yang diterapkan pada Langkah 1 dari daftar drop-down.
Klik Deploy. Penerapan membutuhkan waktu sekitar 5 menit. Saat status layanan berubah menjadi Running, penerapan selesai.
Langkah 3: Uji layanan
Kirim semua permintaan ke URL akses layanan router cerdas LLM, bukan ke URL layanan inferensi backend individual.
Jika ada layanan inferensi dalam grup yang memiliki distribusi traffic diaktifkan, permintaan yang dikirim melalui entri traffic agregat grup dapat melewati router cerdas dan menyebabkan penjadwalan gagal.
Pastikan hanya layanan router cerdas yang memiliki distribusi traffic diaktifkan dalam grup. Kirim permintaan melalui URL dedicated traffic entry router cerdas.
Dapatkan kredensial akses.
Klik layanan router cerdas LLM untuk membuka halaman Overview. Di bagian Basic Information, klik View Endpoint Information.
Di halaman Call information, salin Service-specific Traffic Entry Internet Endpoint, dan salin Token.

PentingToken layanan yang ditampilkan di sini adalah kredensial administrator. Jika administrator telah menetapkan kunci API individual kepada pengguna melalui workbench WebUI, setiap pengguna harus mengganti
<YOUR_TOKEN>dalam contoh di bawah dengan kunci API mereka sendiri.Buat URL permintaan dan kirim panggilan.
Format URL:
<URL router cerdas LLM>/<path API layanan LLM>Contoh:
http://********.pai-eas.aliyuncs.com/api/predict/group_llm_gateway.llm_gateway/v1/chat/completions
Contoh permintaan:
# Ganti <YOUR_GATEWAY_URL> dan <YOUR_TOKEN> dengan nilai aktual Anda curl -X POST "<YOUR_GATEWAY_URL>/v1/chat/completions" \ -H "Authorization: Bearer <YOUR_TOKEN>" \ -H "Content-Type: application/json" \ -N \ -d '{ "messages": [{"role": "user", "content": "你好"}], "stream": true }'Contoh tanggapan:
data: {"id":"chatcmpl-9a9f8299*****","object":"chat.completion.chunk","created":1762245102,"model":"Qwen3-8B","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} data: {"id":"chatcmpl-9a9f8299*****","object":"chat.completion.chunk","created":1762245102,"model":"Qwen3-8B","choices":[{"index":0,"delta":{"content":"<think>","tool_calls":[]}}]} ... data: [DONE]
Setelah layanan diterapkan, akses workbench WebUI untuk manajemen visual, termasuk pemantauan langsung dan manajemen konfigurasi. Untuk detailnya, lihat Gunakan workbench routing cerdas LLM.
Konfigurasi penyimpanan persisten Redis
Router cerdas LLM mencakup manajemen multi-pengguna bawaan, kontrol akses berbasis peran, pencatatan audit, dan dasbor penggunaan. Instans Redis eksternal menyimpan data pengguna dan statistik penggunaan secara persisten meskipun layanan dimulai ulang. Tanpa Redis, layanan menggunakan memori lokal dan semua data akan hilang saat layanan berhenti. Untuk penerapan produksi, konfigurasikan penyimpanan Redis.
Langkah 1: Siapkan instans Tair (Redis)
Buka halaman pembelian Tair dan beli instans.
PentingPilih virtual private cloud (VPC) dan vSwitch yang sama dengan layanan router cerdas LLM yang akan Anda terapkan. Konfigurasikan opsi lain sesuai kebutuhan; mulailah dengan spesifikasi minimum.
Tambahkan blok CIDR vSwitch layanan router cerdas LLM ke daftar izin instans. Untuk detailnya, lihat Konfigurasi daftar izin.
Klik ID instans target untuk membuka halaman detail dan lihat informasi koneksi. Anda akan membutuhkan informasi ini saat menerapkan layanan router cerdas LLM.
Alamat koneksi dan port: Di Informasi instans > Informasi koneksi, dapatkan alamat koneksi VPC dan nomor port.
Username dan password: Di halaman Manajemen akun, lihat akun default. Jika tidak ada kata sandi yang ditetapkan saat instans dibuat, atur atau atur ulang kata sandi di sana. Anda juga dapat membuat akun baru alih-alih menggunakan akun default.
Langkah 2: Konfigurasi Redis saat penerapan
Selain konfigurasi dasar, tentukan pengaturan VPC dan parameter koneksi Redis untuk mengaktifkan penyimpanan persisten.
Konfigurasi VPC: VPC dan vSwitch harus sesuai dengan instans Tair dari Langkah 1, agar layanan router cerdas LLM dapat mengakses instans Tair.
Konfigurasi Redis:
Konsol
Di bagian Advanced Features, aktifkan Redis config dan isi:
Parameter
Deskripsi
Redis Address
Alamat koneksi instans Tair, dalam format
<alamat VPC>:<port>, misalnyar-uxxx.redis.rds.aliyuncs.com:6379.Redis Username
Username untuk instans Tair.
Redis Password
Password untuk instans Tair.
JSON
Di node
llm_gatewaypada body JSON, tambahkan parameter berikut:Parameter
Deskripsi
enable_user_managementMengaktifkan manajemen pengguna. Default-nya
true.redis_addrsAlamat koneksi instans Tair, dalam format
<alamat VPC>:<port>, misalnyar-uxxx.redis.rds.aliyuncs.com:6379.redis_usernameUsername untuk instans Tair.
redis_passwordPassword untuk instans Tair.
Contoh JSON:
{ "llm_gateway": { "enable_user_management": true, "redis_addrs": "r-uxxx.redis.rds.aliyuncs.com:6379", "redis_username": "xxx", "redis_password": "xxx" } }
Konfigurasi lanjutan (JSON)
Penerapan JSON memungkinkan Anda mengonfigurasi spesifikasi resource LLM Gateway dan perilaku penanganan permintaan.
Entri konfigurasi: Di halaman Inference Service, klik Deploy Service. Di bagian Custom Model Deployment, klik JSON Deployment.
Contoh konfigurasi
{
"cloud": {
"computing": {
"instance_type": "ecs.c7.large"
}
},
"llm_gateway": {
"max_queue_size": 128,
"retry_count": 2,
"wait_schedule_timeout": 5000,
"wait_schedule_try_period": 500
},
"llm_scheduler": {
"cpu": 2,
"memory": 4000,
"policy": "prefix-cache"
},
"metadata": {
"group": "group_llm_gateway",
"instance": 2,
"name": "llm_gateway",
"type": "LLMGatewayService",
"rpc": {
"disable_auth": true
}
}
}Parameter
Parameter | Deskripsi | |
metadata | type | Wajib. Nilai tetap: |
instance | Wajib. Jumlah replika | |
cpu | Jumlah vCPU per replika | |
memory | Memori (GB) untuk | |
group | Grup layanan tempat layanan router cerdas LLM ditempatkan. | |
rpc.disable_auth | Wajib. Atur ke | |
cloud.computing.instance_type | Menentukan tipe resource untuk | |
llm_gateway | max_queue_size | Kedalaman antrian maksimum untuk Saat permintaan melebihi kapasitas pemrosesan backend, kelebihannya diantrikan di sini dan didistribusikan saat kapasitas tersedia. |
retry_count | Jumlah percobaan ulang saat instans inferensi backend gagal. Default-nya 2. Saat gagal, permintaan dicoba ulang pada instans berbeda. | |
wait_schedule_timeout | Saat semua instans backend berada pada kapasitas penuh, gateway mencoba menjadwalkan ulang secara berkala. Parameter ini mengatur total waktu yang dihabiskan gateway untuk mencoba menjadwalkan permintaan. Default-nya 10 detik. | |
wait_schedule_try_period | Interval antara upaya penjadwalan ulang. Default-nya 1 detik. | |
llm_scheduler | cpu | Jumlah vCPU untuk |
memory | Memori (GB) untuk | |
policy | Kebijakan penjadwalan. Default-nya | |
prefill_policy | Saat policy diatur ke pd-split, tentukan kebijakan penjadwalan untuk tahap Prefill dan Decode secara terpisah. Nilai yang valid: prefix-cache, llm-metric-based, least-request, least-token. | |
decode_policy | ||
Lampiran
Gunakan Claude Code dengan router
Atur Claude Code untuk menggunakan URL dasar dan token yang disediakan oleh layanan router cerdas EAS.
# Ganti <YOUR_GATEWAY_URL> dan <YOUR_TOKEN> dengan nilai aktual Anda export ANTHROPIC_BASE_URL=<YOUR_GATEWAY_URL> export ANTHROPIC_AUTH_TOKEN=<YOUR_TOKEN>Jalankan Claude Code.
claude "写一个 Python 的 Hello World"
Referensi kebijakan penjadwalan
Memilih kebijakan penjadwalan yang tepat adalah kunci untuk memaksimalkan potensi router cerdas LLM. Tabel berikut membandingkan logika, kasus penggunaan ideal, keunggulan, dan pertimbangan masing-masing kebijakan.
Nama kebijakan | Nilai JSON | Cara kerja | Paling cocok untuk | Keunggulan | Pertimbangan |
Prefix cache | prefix-cache | (Direkomendasikan) Kebijakan komposit. Mengarahkan permintaan dengan riwayat percakapan (prompt) yang sama ke instans yang sudah memiliki cache KV yang sesuai. | Chatbot multi-putaran dan sistem RAG dengan prompt sistem tetap. | Mengurangi TTFT secara signifikan, meningkatkan kinerja multi-putaran dan throughput. | Memerlukan prefix caching diaktifkan pada mesin inferensi. |
Minimum Requests | least-request | Mengarahkan permintaan baru ke instans yang sedang memproses jumlah permintaan paling sedikit. | Workload dengan kompleksitas permintaan yang relatif seragam (panjang token dan panjang generasi serupa). | Sederhana dan efisien; menyeimbangkan jumlah permintaan di seluruh instans dengan cepat. | Tidak memperhitungkan beban permintaan aktual; instans dengan permintaan pendek bisa menganggur sementara instans dengan permintaan panjang kelebihan beban. |
Minimum tokens | least-token | Mengarahkan permintaan baru ke instans yang sedang memproses jumlah total token paling sedikit (input + output). | Workload di mana jumlah token secara andal mencerminkan biaya pemrosesan. | Lebih mencerminkan beban instans sebenarnya dibanding least-request. | Bergantung pada estimasi jumlah token; tidak semua mesin inferensi melaporkan metrik ini. |
Static PD Disaggregation | pd-split | Memerlukan partisi awal instans menjadi grup Prefill dan Decode, masing-masing dengan kebijakan penjadwalannya sendiri. | Workload di mana tahap Prefill dan Decode memiliki karakteristik komputasi dan akses memori yang sangat berbeda, serta penerapan disagregasi memberikan keuntungan jelas. | Pemanfaatan perangkat keras maksimal melalui optimasi tahap khusus. | Kompleks untuk dikonfigurasi. Memerlukan pemahaman mendalam tentang model dan workload, serta penerapan layanan Prefill dan Decode terpisah. |
Tolok ukur kinerja
Pengujian pada Distill-Qwen-7B, QwQ-32B, dan Qwen2.5-72B menunjukkan peningkatan kecepatan inferensi dan throughput saat menggunakan router cerdas LLM. Lingkungan pengujian dan hasilnya dijelaskan di bawah ini.
Hasil bervariasi tergantung workload. Jalankan tolok ukur Anda sendiri untuk memvalidasi kinerja sesuai kasus penggunaan Anda.
Lingkungan pengujian
Kebijakan penjadwalan: prefix-cache
Set data pengujian: ShareGPT_V3_unfiltered_cleaned_split.json (set data percakapan multi-putaran)
Mesin inferensi: vLLM (0.7.3)
Instans backend: 5
Hasil pengujian
Model uji | Distill-Qwen-7B | QwQ-32B | Qwen2.5-72b | ||||||
Tipe instans | ml.gu8tf.8.40xlarge | ml.gu8tf.8.40xlarge | ml.gu7xf.8xlarge-gu108 | ||||||
Konkurensi | 500 | 100 | 100 | ||||||
Metrik | Tanpa router LLM | Dengan LLM router | Peningkatan | Tanpa router LLM | Dengan LLM router | Peningkatan | Tanpa router LLM | Dengan LLM router | Peningkatan |
Permintaan berhasil | 3698 | 3612 | - | 1194 | 1194 | - | 1194 | 1194 | - |
Durasi tolok ukur | 460,79 s | 435,70 s | - | 1418,54 s | 1339,04 s | - | 479,53 s | 456,69 s | - |
Total token input | 6605953 | 6426637 | - | 2646701 | 2645010 | - | 1336301 | 1337015 | - |
Total token yang dihasilkan | 4898730 | 4750113 | - | 1908956 | 1902894 | - | 924856 | 925208 | - |
Throughput permintaan | 8,03 req/s | 8,29 req/s | +3,2% | 0,84 req/s | 0,89 req/s | +5,95% | 2,49 req/s | 2,61 req/s | +4,8% |
Throughput token output | 10631,17 tok/s | 10902,30 tok/s | +2,5% | 1345,72 tok/s | 1421,08 tok/s | +5,6% | 1928,66 tok/s | 2025,92 tok/s | +5,0% |
Total throughput token | 24967,33 tok/s | 25652,51 tok/s | +2,7% | 3211,52 tok/s | 3396,38 tok/s | +5,8% | 4715,34 tok/s | 4953,56 tok/s | +5,0% |
Rata-rata TTFT | 532,79 ms | 508,90 ms | +4,5% | 1144,62 ms | 859,42 ms | +25,0% | 508,55 ms | 389,66 ms | +23,4% |
Median TTFT | 274,23 ms | 246,30 ms | - | 749,39 ms | 565,61 ms | - | 325,33 ms | 190,04 ms | - |
P99 TTFT | 3841,49 ms | 3526,62 ms | - | 5339,61 ms | 5027,39 ms | - | 2802,26 ms | 2678,70 ms | - |
Rata-rata TPOT | 40,65 ms | 39,20 ms | +3,5% | 68,78 ms | 65,73 ms | +4,4% | 46,83 ms | 43,97 ms | +4,4% |
Median TPOT | 41,14 ms | 39,61 ms | - | 69,19 ms | 66,33 ms | - | 45,37 ms | 43,30 ms | - |
P99 TPOT | 62,57 ms | 58,71 ms | - | 100,35 ms | 95,55 ms | - | 62,29 ms | 54,79 ms | - |