全部产品
Search
文档中心

Platform For AI:Menyebarkan model bahasa besar di PAI-EAS

更新时间:Feb 05, 2026

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

  1. Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman, lalu pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).

  2. Klik Deploy Service. Di area Scenario-based Model Deployment, klik LLM Deployment.

  3. 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.

  4. Klik Deploy. Penerapan layanan memerlukan waktu sekitar 5 menit. Penerapan selesai ketika status layanan berubah menjadi Running.

    Catatan

    Jika 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.

  1. Klik nama layanan untuk membuka halaman detail layanan. Beralih ke tab Online Debugging.

  2. Konfigurasikan parameter permintaan sebagai berikut:

    Configuration Item

    Value

    Request Method

    POST

    URL Path

    Tambahkan /v1/chat/completions ke 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.

  3. Klik Send Request. Anda akan menerima respons yang berisi balasan dari model.

image

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.

  1. Unduh kode

    Tautan GitHub | Tautan OSS

  2. Persiapkan lingkungan

    Membutuhkan Python 3.10 atau versi lebih baru. Instal dependensi: pip install openai gradio.

  3. 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>"
  4. 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

  1. 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.

    image

  2. 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/models untuk 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.

  3. Penggunaan

    1. Di halaman utama Dify, klik Create Blank App. Pilih tipe Chatflow, masukkan nama aplikasi dan informasi lainnya, lalu klik Create.

    2. Klik node LLM, pilih model yang telah Anda tambahkan, lalu atur konteks dan prompt.image

    3. Klik Preview di pojok kanan atas dan masukkan pertanyaan.

      image

Chatbox

  1. 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.

  2. Tambahkan penyedia model. Klik Settings, tambahkan penyedia model, masukkan nama, misalnya pai, dan pilih OpenAI API Compatible untuk API Mode.

    image

  3. 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.

    image

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

    image

Cherry Studio

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

  1. 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.

  2. 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.

  3. 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:

  1. 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.

  2. Solusi (berdasarkan prioritas):

    1. Solusi 1: Ubah tipe instans. Kembali ke halaman penerapan dan pilih model GPU yang berbeda.

    2. 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.

  3. Langkah pencegahan:

    1. Kami merekomendasikan agar pengguna perusahaan membuat kelompok sumber daya khusus untuk menghindari keterbatasan sumber daya publik.

    2. Saat jam sibuk, kami merekomendasikan pengujian di beberapa wilayah.

Q: Error saat memanggil

  1. Panggilan mengembalikan error Unsupported Media Type: Only 'application/json' is allowed

    Pastikan header permintaan mencakup Content-Type: application/json.

  2. 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/models menggunakan permintaan GET.

Untuk informasi selengkapnya, lihat FAQ EAS.