EAS memungkinkan Anda menyebar model dengan cepat sebagai layanan inferensi online. Topik ini menjelaskan alur kerja dari penyebaran hingga pemanggilan layanan, menggunakan penyebaran model Qwen3-0.6B dengan framework vLLM sebagai contoh.
Untuk penyebaran LLM produksi, gunakan penyebaran LLM berbasis skenario atau penyebaran satu klik dari Model Gallery.
I. Prasyarat
Aktifkan PAI dan buat ruang kerja dengan akun utama Alibaba Cloud Anda. Di Konsol PAI, pilih Wilayah lalu selesaikan otorisasi serta aktivasi produk.
II. Penagihan
Topik ini menggunakan sumber daya publik bayar sesuai penggunaan untuk membuat layanan model. Untuk informasi lebih lanjut tentang aturan penagihan, lihat penagihan EAS.
III. Persiapan
Untuk menyebarkan layanan model, Anda perlu menyiapkan file model dan file kode, seperti antarmuka web. Jika image Alibaba Cloud yang tersedia tidak memenuhi kebutuhan Anda, buatlah custom image.
3.1 File model
Jalankan kode berikut untuk mengunduh Qwen3-0.6B dari ModelScope ke ~/.cache/modelscope/hub.
# Unduh model
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-0.6B')3.2 File kode
Framework vLLM membangun layanan yang kompatibel dengan API OpenAI, sehingga tidak diperlukan file kode terpisah.
Untuk logika bisnis kustom atau kebutuhan API, siapkan file kode Anda sendiri. Contoh menggunakan Flask:
3.3 Unggah file ke OSS
Gunakan ossutil untuk mengunggah file model dan kode ke OSS. Pasang OSS ke layanan agar dapat membaca file model.
Opsi penyimpanan lainnya: Konfigurasi penyimpanan.
Pengemasan file langsung ke dalam image tidak disarankan:
Pembaruan model memerlukan pembuatan ulang dan pengunggahan ulang image.
File model besar meningkatkan ukuran image, sehingga memperlambat waktu pull dan startup.
3.4 Persiapan image
Qwen3-0.6B memerlukan vllm>=0.8.5. Image resmi EAS vllm:0.11.2-mows0.5.1 memenuhi persyaratan ini.
Jika tidak ada image resmi yang sesuai, buat custom image. Untuk model yang dilatih di DSW, buat image instans DSW untuk menjaga konsistensi antara pengembangan dan penyebaran.
IV. Penyebaran layanan
Masuk ke Konsol PAI. Pilih Wilayah di bagian atas halaman. Kemudian, pilih ruang kerja yang diinginkan dan klik Enter Elastic Algorithm Service (EAS).
Klik Deploy Service. Di bagian Inference Service, klik Custom Deployment di bagian Custom Model Deployment.
Konfigurasikan parameter kunci berikut. Gunakan nilai default untuk parameter lainnya.
Deployment Method: Pilih Image-based Deployment.
Image Configuration: Di daftar Alibaba Cloud Image, pilih
vllm:0.11.2-mows0.5.1.Mount storage: Contoh ini menyimpan file model di OSS pada path
oss://examplebucket/models/Qwen/Qwen3-0___6B. Pilih OSS dan konfigurasikan sebagai berikut.Uri: Path OSS tempat model berada. Atur ke
oss://examplebucket/models/.Mount Path: Path tujuan di instans layanan tempat file dipasang, misalnya
/mnt/data/.
Command: Image resmi memiliki perintah startup default. Ubah sesuai kebutuhan. Untuk contoh ini, ubah menjadi
vllm serve /mnt/data/Qwen/Qwen3-0___6B.Resource Type: Pilih Public Resources. Untuk Resource Specification, pilih
ecs.gn7i-c16g1.4xlarge. Untuk menggunakan jenis sumber daya lain, lihat Konfigurasi sumber daya.
Klik Deploy. Penyebaran layanan memerlukan waktu sekitar 5 menit. Saat Service Status berubah menjadi Running, layanan berhasil disebar.
V. Debugging online
Gunakan debugging online untuk memverifikasi layanan. Konfigurasikan metode permintaan, path, dan badan permintaan sesuai model Anda.
Untuk contoh ini:
Di tab Inference Service, klik layanan tujuan untuk membuka halaman ikhtisar layanan. Beralih ke tab Online Debugging.
Di bagian Request Parameter Online Tuning pada halaman debugging, atur parameter permintaan dan klik Send Request. Parameter permintaan:
Antarmuka chat: Tambahkan
/v1/chat/completionske URL yang sudah ada.Header: Tambahkan header permintaan. Atur kunci ke
Content-Typedan nilai keapplication/json.Tambahkan juga header permintaan Authorization, dan atur nilainya ke kredensial otentikasi yang sesuai.
Isi:
{ "model": "/mnt/data/Qwen/Qwen3-0___6B", "messages": [ { "role": "user", "content": "Hello!" } ], "max_tokens": 1024 }
Tanggapan:
Di halaman Online Debugging, kirim permintaan JSON menggunakan metode POST. Badan permintaan mencakup
model(path model, misalnya/mnt/data/Qwen/Qwen3-0___6B),messages(konten pesan pengguna:Hello!), danmax_tokens(diatur ke 1024). Layanan mengembalikan Kode Status 200, dan badan respons berupa objek JSON dalam formatchat.completionyang berisi tanggapan inferensi model, menandakan bahwa layanan model telah berhasil disebar dan dapat merespons permintaan secara normal.
VI. Pemanggilan layanan
6.1 Titik akhir dan token
EAS menggunakan gerbang bersama secara default. Dapatkan titik akhir dan token dari halaman ikhtisar layanan setelah penyebaran.
Di tab Inference Service, klik nama layanan Anda untuk membuka halaman Overview.
Di bagian Basic Information, klik View Endpoint Information.
Di panel Invocation Method, salin titik akhir dan token:
Pilih Internet Endpoint atau VPC Endpoint sesuai kebutuhan.
Dalam contoh berikut, <EAS_ENDPOINT> merepresentasikan titik akhir, dan <EAS_TOKEN> merepresentasikan token.
6.2 Contoh pemanggilan
Contoh:
curl http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/****/v1/chat/
completions \
-H "Content-Type: application/json" \
-H "Authorization: *********5ZTM1ZDczg5OT**********" \
-X POST \
-d '{
"model": "/mnt/data/Qwen/Qwen3-0___6B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"max_tokens": 1024
}' import requests
# Ganti dengan endpoint aktual.
url = 'http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/***/v1/chat/completions'
# Untuk header, atur nilai Authorization ke token aktual.
headers = {
"Content-Type": "application/json",
"Authorization": "*********5ZTM1ZDczg5OT**********",
}
# Buat permintaan layanan berdasarkan format data yang dibutuhkan oleh model.
data = {
"model": "/mnt/data/Qwen/Qwen3-0___6B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"max_tokens": 1024
}
# Kirim permintaan.
resp = requests.post(url, json=data, headers=headers)
print(resp)
print(resp.content)VII. Menghentikan atau menghapus layanan
Layanan ini menggunakan sumber daya publik bayar sesuai penggunaan. Hentikan atau hapus layanan untuk menghindari biaya jika tidak lagi digunakan.
Di daftar layanan, temukan layanan target, lalu klik tombol yang sesuai di kolom Actions.
VIII. Dokumentasi terkait
Tingkatkan efisiensi layanan LLM: Sebarkan Router cerdas LLM.
Ikhtisar fitur EAS: Ikhtisar EAS.