Elastic Algorithm Service (EAS) menyediakan solusi satu atap untuk menyebarkan model bahasa besar (LLM). Anda dapat menyebarkan model populer, seperti DeepSeek dan Qwen, hanya dengan satu klik. Proses ini menyederhanakan konfigurasi lingkungan yang kompleks, penyetelan performa, dan manajemen biaya.
Mulai Cepat: Sebarkan model open source
Bagian ini menggunakan penerapan model open source Qwen3-8B sebagai contoh. Proses yang sama berlaku untuk model lain yang didukung.
Langkah 1: Buat layanan
-
Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman, lalu pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).
Klik Deploy Service. Di area Scenario-based Model Deployment, klik LLM Deployment.
Konfigurasikan parameter utama berikut:
Configuration Item
Value
Model Settings
Pilih Public Model. Cari dan pilih Qwen3-8B.
Inference Engine
Pilih vLLM. Ini direkomendasikan dan kompatibel dengan OpenAI API.
Deployment Template
Pilih Single Machine. Sistem secara otomatis mengisi tipe instans, runtime image, dan parameter lain yang direkomendasikan berdasarkan templat.
Klik Deploy. Penerapan layanan memerlukan waktu sekitar 5 menit. Penerapan selesai ketika status layanan berubah menjadi Running.
CatatanJika penerapan layanan gagal, lihat Masalah penerapan dan status layanan.
Langkah 2: Verifikasi dengan debugging online
Setelah layanan diterapkan, Anda dapat menggunakan debugging online untuk memverifikasi bahwa layanan berjalan dengan benar.
Klik nama layanan untuk membuka halaman detail layanan. Beralih ke tab Online Debugging.
Konfigurasikan parameter permintaan sebagai berikut:
Configuration Item
Value
Request Method
POST
URL Path
Tambahkan
/v1/chat/completionske URL yang ada. Contohnya:/api/predict/llm_qwen3_8b_test/v1/chat/completions.Body
{ "model": "Qwen3-8B", "messages": [ {"role": "user", "content": "Hello!"} ], "max_tokens": 1024 }Headers
Pastikan mencakup
Content-Type: application/json.Klik Send Request. Anda akan menerima respons yang berisi balasan dari model.

Panggil menggunakan API
Sebelum melakukan panggilan, buka tab Overview pada halaman detail layanan. Klik View Endpoint Information untuk mendapatkan titik akhir dan token.
Kode berikut menunjukkan contoh cara memanggil layanan menggunakan API:
cURL
curl -X POST <EAS_ENDPOINT>/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: <EAS_TOKEN>" \
-d '{
"model": "<model_name>",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "hello"
}
],
"max_tokens":1024,
"temperature": 0.7,
"top_p": 0.8,
"stream":true
}'Dengan keterangan:
Ganti
<EAS_ENDPOINT>dan<EAS_TOKEN>dengan titik akhir dan token layanan yang telah Anda terapkan.Ganti
<model_name>dengan nama model. Untuk vLLM/SGLang, Anda dapat mengambil nama model dari API daftar model di<EAS_ENDPOINT>/v1/models.curl -X GET <EAS_ENDPOINT>/v1/models -H "Authorization: <EAS_TOKEN>"
OpenAI SDK
Gunakan SDK Python resmi untuk berinteraksi dengan layanan. Pastikan OpenAI SDK telah diinstal: pip install openai.
from openai import OpenAI
# 1. Konfigurasikan client
# Ganti <EAS_TOKEN> dengan token layanan yang telah Anda terapkan
openai_api_key = "<EAS_TOKEN>"
# Ganti <EAS_ENDPOINT> dengan titik akhir layanan yang telah Anda terapkan
openai_api_base = "<EAS_ENDPOINT>/v1"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
# 2. Dapatkan nama model
# Untuk BladeLLM, setel model = "". BladeLLM tidak memerlukan parameter model dan tidak mendukung pengambilan nama model menggunakan client.models.list(). Setel ke string kosong untuk memenuhi persyaratan parameter wajib OpenAI SDK.
models = client.models.list()
model = models.data[0].id
print(model)
# 3. Kirim permintaan chat
# Mendukung output streaming (stream=True) dan non-streaming (stream=False)
stream = True
chat_completion = client.chat.completions.create(
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "hello"},
],
model=model,
top_p=0.8,
temperature=0.7,
max_tokens=1024,
stream=stream,
)
if stream:
for chunk in chat_completion:
print(chunk.choices[0].delta.content, end="")
else:
result = chat_completion.choices[0].message.content
print(result)Pustaka requests Python
Untuk skenario yang tidak memerlukan ketergantungan pada OpenAI SDK, Anda dapat menggunakan pustaka requests.
import json
import requests
# Ganti <EAS_ENDPOINT> dengan titik akhir layanan yang telah Anda terapkan
EAS_ENDPOINT = "<EAS_ENDPOINT>"
# Ganti <EAS_TOKEN> dengan token layanan yang telah Anda terapkan
EAS_TOKEN = "<EAS_TOKEN>"
# Ganti <model_name> dengan nama model. Anda dapat memperolehnya dari API daftar model di <EAS_ENDPOINT>/v1/models. Untuk BladeLLM, API ini tidak didukung. Anda dapat menghilangkan field "model" atau mengaturnya ke "".
model = "<model_name>"
url = f"{EAS_ENDPOINT}/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": EAS_TOKEN,
}
stream = True
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "hello"},
]
req = {
"messages": messages,
"stream": stream,
"temperature": 0.7,
"top_p": 0.8,
"max_tokens": 1024,
"model": model,
}
response = requests.post(
url,
json=req,
headers=headers,
stream=stream,
)
if stream:
for chunk in response.iter_lines(chunk_size=8192, decode_unicode=False):
msg = chunk.decode("utf-8")
# Kode berikut memproses respons streaming dalam format Server-Sent Events (SSE)
if msg.startswith("data:"):
info = msg[6:]
if info == "[DONE]":
break
else:
resp = json.loads(info)
if resp["choices"][0]["delta"].get("content") is not None:
print(resp["choices"][0]["delta"]["content"], end="", flush=True)
else:
resp = json.loads(response.text)
print(resp["choices"][0]["message"]["content"])Buat Web UI lokal dengan Gradio
Gradio adalah pustaka Python yang ramah pengguna untuk membuat antarmuka interaktif secara cepat bagi model pembelajaran mesin. Ikuti langkah-langkah berikut untuk menjalankan WebUI Gradio secara lokal.
Unduh kode
Persiapkan lingkungan
Membutuhkan Python 3.10 atau versi lebih baru. Instal dependensi:
pip install openai gradio.Jalankan aplikasi web
Jalankan perintah berikut di terminal Anda. Ganti
<EAS_ENDPOINT>dan<EAS_TOKEN>dengan titik akhir dan token layanan yang telah Anda terapkan.python webui_client.py --eas_endpoint "<EAS_ENDPOINT>" --eas_token "<EAS_TOKEN>"Setelah aplikasi berhasil dijalankan, URL lokal akan ditampilkan, biasanya
http://127.0.0.1:7860. Buka URL tersebut di browser untuk mengakses antarmuka pengguna.
Integrasikan dengan aplikasi pihak ketiga
Anda dapat mengintegrasikan layanan EAS dengan berbagai klien dan alat pengembangan yang mendukung OpenAI API. Elemen konfigurasi intinya adalah titik akhir layanan, token, dan nama model.
Dify
Instal penyedia model yang kompatibel dengan OpenAI-API
Klik foto profil Anda di pojok kanan atas dan pilih Settings. Di panel navigasi sebelah kiri, pilih Model Providers. Jika OpenAI-API-compatible tidak ada di Model List, cari di daftar di bawah dan klik Install.

Tambahkan model
Klik Add Model di pojok kanan bawah kartu OpenAI-API-compatible dan konfigurasikan parameter sebagai berikut:
Model Type: Pilih LLM.
Model Name: Untuk penerapan vLLM, kirim permintaan GET ke API
/v1/modelsuntuk mengambil namanya. Misalnya, masukkan Qwen3-8B.API Key: Masukkan token layanan EAS.
API endpoint URL: Masukkan titik akhir Internet layanan EAS. Catatan: Tambahkan /v1 di akhir.
Penggunaan
Di halaman utama Dify, klik Create Blank App. Pilih tipe Chatflow, masukkan nama aplikasi dan informasi lainnya, lalu klik Create.
Klik node LLM, pilih model yang telah Anda tambahkan, lalu atur konteks dan prompt.

Klik Preview di pojok kanan atas dan masukkan pertanyaan.

Chatbox
Buka Chatbox. Unduh dan instal versi untuk perangkat Anda, atau klik Launch Web App untuk menggunakan versi web. Contoh ini menggunakan macOS pada chip M3.
Tambahkan penyedia model. Klik Settings, tambahkan penyedia model, masukkan nama, misalnya pai, dan pilih OpenAI API Compatible untuk API Mode.

Pilih penyedia model pai dan konfigurasikan parameter berikut.
API Key: Masukkan token layanan EAS.
API Host: Masukkan titik akhir Internet layanan EAS. Catatan: Tambahkan /v1 di akhir.
API Path: Biarkan kosong.
Model: Klik Get untuk menambahkan model. Jika mesin inferensi adalah BladeLLM yang tidak mendukung pengambilan melalui API, klik New untuk memasukkan nama model.

Uji percakapan. Klik New Chat. Di pojok kanan bawah kotak input teks, pilih layanan model.

Cherry Studio
Instal klien
Kunjungi Cherry Studio untuk mengunduh dan menginstal klien.
Anda juga dapat mengunduhnya dari
https://github.com/CherryHQ/cherry-studio/releases.Konfigurasikan layanan model.
Klik tombol Settings di pojok kiri bawah. Di bagian Model Service, klik Add. Untuk Provider Name, masukkan nama kustom, misalnya PAI. Atur Provider Type ke OpenAI. Klik OK.
Untuk API Key, masukkan token layanan EAS. Untuk API Address, masukkan titik akhir Internet layanan EAS.
Klik Add. Untuk Model ID, masukkan nama model. Untuk penerapan vLLM, kirim permintaan GET ke API
/v1/modelsuntuk mengambil namanya. Misalnya, masukkanQwen3-8B. Perhatikan bahwa nama ini bersifat case-sensitive.
Di samping kotak input API Key, klik Test untuk mengonfirmasi konektivitas.
Uji model dengan cepat
Kembali ke kotak dialog. Di bagian atas, pilih model dan mulai percakapan.

Penagihan
Item berikut dikenai biaya. Untuk informasi selengkapnya, lihat Penagihan Elastic Algorithm Service (EAS).
Biaya komputasi: Biaya ini merupakan biaya utama. Saat membuat layanan EAS, Anda dapat memilih sumber daya bayar sesuai penggunaan atau langganan sesuai kebutuhan.
Biaya penyimpanan: Jika Anda menggunakan model kustom, file model disimpan di Object Storage Service (OSS). Anda akan dikenai biaya penyimpanan OSS berdasarkan penggunaan Anda.
Menuju produksi
Pilih model yang tepat
Tentukan skenario aplikasi Anda:
Percakapan tujuan umum: Pilih model yang telah dituning untuk instruksi, bukan model dasar. Hal ini memastikan model dapat memahami dan mengikuti instruksi Anda.
Generasi kode: Pilih model kode khusus, seperti seri
Qwen3-Coder. Model ini biasanya jauh lebih unggul dalam tugas terkait kode dibandingkan model tujuan umum.Tugas spesifik domain: Jika tugas sangat spesifik, seperti di bidang keuangan atau hukum, pertimbangkan untuk mencari model yang telah difine-tune untuk domain tersebut. Anda juga dapat melakukan fine-tune sendiri pada model tujuan umum.
Performa dan biaya: Secara umum, model dengan lebih banyak parameter memiliki kemampuan lebih tinggi. Namun, model tersebut juga memerlukan lebih banyak sumber daya komputasi untuk diterapkan, sehingga meningkatkan biaya inferensi. Kami merekomendasikan memulai dengan model yang lebih kecil, seperti model 7B, untuk validasi. Jika performanya tidak memenuhi kebutuhan, coba secara bertahap model yang lebih besar.
Konsultasikan benchmark otoritatif: Anda dapat merujuk pada leaderboard yang diakui industri seperti OpenCompass dan LMSys Chatbot Arena. Leaderboard ini memberikan evaluasi objektif terhadap model di berbagai dimensi, seperti penalaran, pengkodean, dan matematika. Hal ini dapat memberikan panduan berharga dalam pemilihan model.
Pilih mesin inferensi yang tepat
vLLM/SGLang: Ini adalah pilihan utama di komunitas open source. Mereka menawarkan dukungan model yang luas serta dokumentasi dan contoh komunitas yang lengkap. Hal ini memudahkan integrasi dan pemecahan masalah.
BladeLLM: Ini adalah mesin inferensi yang dikembangkan oleh tim Alibaba Cloud PAI. Mesin ini dioptimalkan secara mendalam untuk model tertentu, terutama seri Qwen. BladeLLM mungkin memberikan performa lebih tinggi dan penggunaan memori GPU lebih rendah.
Optimasi inferensi
Terapkan Router cerdas LLM: Fitur ini mendistribusikan permintaan secara dinamis berdasarkan metrik real-time seperti throughput token dan penggunaan memori GPU. Fitur ini menyeimbangkan alokasi daya komputasi dan memori di seluruh instans inferensi. Ini cocok untuk skenario di mana Anda menerapkan beberapa instans inferensi dan mengantisipasi ketidakseimbangan beban. Fitur ini meningkatkan pemanfaatan sumber daya kluster dan stabilitas sistem.
Terapkan model MoE menggunakan expert parallelism dan pemisahan PD: Untuk model Mixture-of-Experts (MoE), pendekatan ini menggunakan teknik seperti expert parallelism (EP) dan pemisahan Prefill-Decode (PD) untuk meningkatkan throughput inferensi dan mengurangi biaya penerapan.
FAQ
Q: Apa yang harus saya lakukan jika layanan macet di status Pending dan tidak mau dimulai?
Ikuti langkah-langkah berikut untuk memecahkan masalah:
Periksa status instans: Di halaman daftar layanan, klik nama layanan untuk membuka halaman detail layanan. Di bagian Service Instance, periksa status instans. Jika menampilkan Out of Stock, ini menunjukkan bahwa kelompok sumber daya publik kekurangan sumber daya.
Solusi (berdasarkan prioritas):
Solusi 1: Ubah tipe instans. Kembali ke halaman penerapan dan pilih model GPU yang berbeda.
Solusi 2: Gunakan sumber daya khusus. Atur Resource Type ke EAS Resource Group untuk menggunakan sumber daya khusus. Anda harus membuat kelompok sumber daya terlebih dahulu.
Langkah pencegahan:
Kami merekomendasikan agar pengguna perusahaan membuat kelompok sumber daya khusus untuk menghindari keterbatasan sumber daya publik.
Saat jam sibuk, kami merekomendasikan pengujian di beberapa wilayah.
Q: Error saat memanggil
Panggilan mengembalikan error
Unsupported Media Type: Only 'application/json' is allowedPastikan header permintaan mencakup
Content-Type: application/json.Panggilan mengembalikan error
The model '<model_name>' does not exist.Mesin inferensi vLLM mengharuskan field model diisi dengan benar. Anda dapat mengambil nama model dengan memanggil API
/v1/modelsmenggunakan permintaan GET.
Untuk informasi selengkapnya, lihat FAQ EAS.