全部产品
Search
文档中心

Platform For AI:Menerapkan Model Bahasa Besar Menggunakan EAS

更新时间:Oct 17, 2025

Penyebaran manual Large Language Model (LLM) melibatkan konfigurasi lingkungan yang kompleks, penyetelan performa, dan manajemen biaya. Elastic Algorithm Service (EAS) menawarkan solusi satu atap untuk menerapkan LLM populer seperti DeepSeek dan Qwen dengan satu klik.

Langkah 1: Menerapkan layanan LLM

Bagian ini menjelaskan penerapan Qwen3-8B dari Model Publik.

Catatan

Model Publik adalah model dengan Templat Penerapan yang telah dikonfigurasi sebelumnya, memungkinkan penerapan satu klik tanpa perlu menyiapkan file model. Jika Anda memilih model kustom, Anda harus memasang file model dari layanan seperti Object Storage Service (OSS).

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

  2. Pada tab Inference Service, klik Deploy Service, lalu di area Scenario-based Model Deployment, klik LLM Large Language Model Deployment.

  3. Pada halaman Deploy LLM Large Language Model, konfigurasikan parameter utama berikut:

    • Model Configuration: Pilih Public Model, lalu cari dan pilih Qwen3-8B dari daftar.

    • Inference Engine: Kami merekomendasikan SGLang/vLLM karena kompatibilitas tinggi mereka dengan standar API OpenAI. Panduan ini menggunakan vLLM. Untuk informasi lebih lanjut, lihat Pilih Mesin Inferensi yang Sesuai.

    • Deployment Template: Pilih Single Machine. Sistem secara otomatis mengisi Tipe Instans yang direkomendasikan, citra, dan parameter lainnya dari templat.

  4. Klik Deploy. Penyebaran layanan memakan waktu sekitar 5 menit. Ketika status layanan berubah menjadi Running, penyebaran selesai.

    Catatan

    Jika penyebaran layanan gagal, lihat Status Layanan Abnormal untuk solusi.

Langkah 2: Debug Online

Setelah penyebaran, verifikasi bahwa layanan berjalan dengan benar. Klik nama layanan target untuk masuk ke halaman detail, beralih ke tab Online Debugging, lalu buat dan kirim permintaan sebagai berikut:

  1. Pilih metode POST.

  2. Tambahkan jalur /v1/chat/completions ke akhir URL yang terisi otomatis.

  3. Pastikan Header mencakup Content-Type: application/json.

  4. Isi Body: Saat menggunakan Mesin Inferensi vLLM, Anda harus mengganti nilai model dengan nama model yang benar. Untuk mendapatkan nama model, kirim permintaan GET ke titik akhir /v1/models. Karena Anda menerapkan Qwen3-8B di Langkah 1, ganti <model_name> dengan Qwen3-8B.

    {
      "model": "<model_name>",
      "messages": [
        {
          "role": "user",
          "content": "Halo!"
        }
      ],
      "max_tokens": 1024
    }

image

Langkah 3: Panggil layanan LLM

Sebelum melakukan panggilan, buka tab Overview pada halaman detail layanan, klik View Invocation Information, dan dapatkan titik akhir dan token. Nilai-nilai ini dirujuk sebagai <EAS_ENDPOINT> dan <EAS_TOKEN> dalam contoh-contoh berikut.

Panggilan API

Penanganan parameter model sangat berbeda antara Mesin Inferensi:

  • vLLM/SGLang: Nilai model dikonfigurasi sebagai nama model, yang dapat diperoleh dengan mengirim permintaan GET ke titik akhir /v1/models.

  • BladeLLM: Titik akhir BladeLLM tidak memerlukan parameter model. Namun, saat menggunakan SDK OpenAI, parameter ini wajib di sisi klien. Untuk memastikan kompatibilitas, Anda dapat mengaturnya ke string kosong "". Untuk informasi lebih lanjut, lihat Konfigurasi Parameter Pemanggilan Layanan BladeLLM.

    Penting

    Saat menggunakan BladeLLM, Anda harus secara eksplisit mengatur parameter max_tokens dalam permintaan Anda. Jika tidak, keluaran akan dipotong menjadi 16 token secara default.

Kode berikut memberikan contoh cara memanggil layanan:

SDK OpenAI

Kami merekomendasikan menggunakan SDK Python resmi untuk berinteraksi dengan layanan. Pastikan Anda telah menginstal SDK OpenAI: pip install openai.

from openai import OpenAI

# 1. Konfigurasikan klien
# Ganti <EAS_TOKEN> dengan token layanan yang diterapkan
openai_api_key = "<EAS_TOKEN>"
# Ganti <EAS_ENDPOINT> dengan titik akhir layanan yang diterapkan
openai_api_base = "<EAS_ENDPOINT>/v1"

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

# 2. Dapatkan nama model
# Untuk BladeLLM, set model = "". BladeLLM tidak memerlukan parameter input model dan tidak mendukung penggunaan client.models.list() untuk mendapatkan nama model. Atur ke string kosong untuk memenuhi persyaratan parameter wajib SDK OpenAI.
models = client.models.list()
model = models.data[0].id
print(model)

# 3. Mulai permintaan chat
# Mendukung streaming (stream=True) dan non-streaming (stream=False) output
stream = True
chat_completion = client.chat.completions.create(
    messages=[
        {"role": "system", "content": "Anda adalah asisten yang membantu."},
        {"role": "user", "content": "halo"},          
    ],
    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)

cURL

Untuk pengujian cepat atau integrasi skrip, Anda dapat menggunakan 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": "Anda adalah asisten yang membantu."
        },
        {
            "role": "user",
            "content": "halo"
        }
        ],
        "max_tokens":1024,
        "temperature": 0.7,
        "top_p": 0.8,
        "stream":true
    }' 

Di mana:

  • Ganti <EAS_ENDPOINT> dan <EAS_TOKEN> dengan Endpoint dan Token layanan Anda.

  • Ganti <model_name> dengan nama model. Untuk vLLM/SGLang, Anda bisa mendapatkannya dari titik akhir daftar model <EAS_ENDPOINT>/v1/models. Untuk BladeLLM, titik akhir ini tidak didukung, dan Anda dapat menghilangkan bidang ini atau mengaturnya ke "".

  • curl -X GET <EAS_ENDPOINT>/v1/models -H "Authorization: <EAS_TOKEN>"

Perpustakaan requests Python

Jika Anda lebih memilih untuk tidak menambahkan dependensi SDK OpenAI, Anda dapat menggunakan perpustakaan requests.

import json
import requests

# Ganti <EAS_ENDPOINT> dengan titik akhir layanan yang diterapkan
EAS_ENDPOINT = "<EAS_ENDPOINT>"
# Ganti <EAS_TOKEN> dengan token layanan yang diterapkan
EAS_TOKEN = "<EAS_TOKEN>"
# Ganti <model_name> dengan nama model. Anda bisa mendapatkan nama dari antarmuka daftar model di <EAS_ENDPOINT>/v1/models. Untuk BladeLLM, antarmuka ini tidak didukung. Anda dapat menghilangkan bidang "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": "Anda adalah asisten yang membantu."},
    {"role": "user", "content": "halo"},
]

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 WebUI lokal

Gradio adalah pustaka Python yang ramah pengguna untuk dengan cepat membuat antarmuka interaktif untuk model pembelajaran mesin. Ikuti langkah-langkah berikut untuk menjalankan Gradio WebUI secara lokal.

  1. Unduh kode: Unduh kode yang sesuai berdasarkan mesin inferensi yang Anda pilih selama penyebaran. Gunakan tautan GitHub jika Anda memiliki akses jaringan stabil ke GitHub. Jika tidak, gunakan tautan OSS.

  2. Siapkan Lingkungan: Python 3.10 atau yang lebih baru diperlukan. Instal dependensi: pip install openai gradio.

  3. Mulai Aplikasi Web: Jalankan perintah berikut di terminal Anda. Ganti <EAS_ENDPOINT> dan <EAS_TOKEN> dengan Endpoint dan Token layanan Anda.

    python webui_client.py --eas_endpoint "<EAS_ENDPOINT>" --eas_token "<EAS_TOKEN>"
  4. Setelah aplikasi berhasil dimulai, URL lokal (biasanya http://127.0.0.1:7860) dicetak ke konsol Anda. Buka URL ini di browser Anda untuk mengakses WebUI.

Integrasi dengan aplikasi pihak ketiga

Anda dapat mengintegrasikan layanan EAS dengan berbagai klien dan alat pengembangan yang mendukung API OpenAI. Konfigurasi inti memerlukan titik akhir layanan dan token, serta nama model.

Dify

  1. Instal Penyedia Model yang Kompatibel dengan API OpenAI

    Klik gambar profil Anda di sudut kanan atas dan pilih Settings. Di panel navigasi di sebelah kiri, pilih Model Providers. Jika OpenAI-API-compatible tidak ada di Model List, temukan dan instal dari daftar di bawah.

    image

  2. Tambahkan Model

    Klik Tambah Model di sudut kanan bawah kartu Kompatibel-API OpenAI dan konfigurasikan parameter berikut:

    • Tipe Model: Pilih LLM.

    • Nama Model: Untuk penyebaran vLLM, dapatkan nama dengan mengirim permintaan GET ke titik akhir /v1/models. Contoh ini menggunakan Qwen3-8B.

    • API Key: Masukkan token layanan EAS.

    • URL Titik Akhir API: Masukkan Titik Akhir publik layanan EAS. Catatan: Tambahkan /v1 di akhir.

  3. Uji Model

    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 Anda tambahkan, dan atur konteks serta Prompt.image

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

      image

Chatbox

  1. Pergi ke Chatbox, unduh dan instal versi yang sesuai untuk perangkat Anda, atau langsung Launch The Web Version. Panduan ini menggunakan macOS M3 sebagai contoh.

  2. Tambahkan penyedia model. Klik Pengaturan, tambahkan penyedia model, dan masukkan nama seperti pai. Untuk API Mode, pilih OpenAI API Compatible.

    image

  1. Pilih penyedia model pai dan konfigurasikan parameter berikut:

    • API Key: Token layanan EAS.

    • API Host: Masukkan titik akhir publik layanan EAS. Catatan: Tambahkan /v1 di akhir URL.

    • API Path: Biarkan bidang ini kosong.

    • Models: Klik Get untuk menambahkan model. Jika Mesin Inferensi adalah BladeLLM, Anda tidak dapat mendapatkan model melalui antarmuka ini. Klik New dan masukkan nama model secara manual.

    image

  2. Uji obrolan. Klik New Chat, dan pilih layanan model di sudut kanan bawah kotak input teks.

    image

Cherry Studio

Penagihan

Biaya dapat mencakup hal-hal berikut. Untuk informasi lebih lanjut, lihat Detail penagihan Elastic Algorithm Service (EAS).

  • Biaya komputasi: Ini merupakan sumber utama biaya. Saat membuat layanan EAS, pilih sumber daya bayar sesuai penggunaan atau langganan sesuai kebutuhan Anda.

  • Biaya penyimpanan: Jika Anda menggunakan model kustom, file yang disimpan di OSS akan dikenakan biaya penyimpanan.

Meluncurkan

Pilih model yang sesuai

  1. Definisikan Skenario Aplikasi Anda:

    • Percakapan Umum: Pastikan untuk memilih Instruction-Tuned Model, bukan Foundation Model, agar model dapat memahami dan mengikuti instruksi Anda dengan baik.

    • Pembuatan Kode: Pilih model kode khusus, seperti seri Qwen3-Coder, karena biasanya 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 menggunakan model yang telah dilakukan fine-tuning untuk domain tersebut atau lakukan fine-tuning pada model tujuan umum.

  2. Seimbangkan Performa dan Biaya: Secara umum, jumlah parameter yang lebih besar berarti model lebih cakap, tetapi juga membutuhkan daya komputasi lebih tinggi untuk penyebaran, sehingga meningkatkan biaya inferensi. Kami merekomendasikan memulai dengan model yang lebih kecil (seperti model 7B) untuk validasi. Jika performanya tidak memenuhi persyaratan, coba secara bertahap gunakan model yang lebih besar.

  3. Rujuk ke Benchmark Otoritatif: Anda dapat merujuk ke papan peringkat industri yang diakui, seperti OpenCompass dan LMSys Chatbot Arena. Benchmark ini memberikan evaluasi objektif dari model di berbagai dimensi, seperti penalaran, pengkodean, dan matematika, serta memberikan panduan berharga untuk pemilihan model.

Pilih mesin inferensi yang sesuai

  • vLLM/SGLang: Sebagai pilihan utama dalam komunitas sumber terbuka, mereka menawarkan dukungan model yang luas serta dokumentasi dan contoh komunitas yang ekstensif, sehingga mudah diintegrasikan dan diperbaiki masalahnya.

  • BladeLLM: Dikembangkan oleh tim PAI Alibaba Cloud, BladeLLM dioptimalkan secara mendalam untuk model tertentu, terutama seri Qwen, sering kali mencapai performa lebih tinggi dengan konsumsi Memori GPU lebih rendah.

Optimalkan inferensi

  • Router Cerdas LLM: Mendistribusikan permintaan secara dinamis berdasarkan metrik waktu nyata seperti throughput token dan penggunaan Memori GPU. Ini menyeimbangkan alokasi daya komputasi dan Memori GPU di seluruh instance inferensi, meningkatkan pemanfaatan sumber daya kluster dan stabilitas sistem. Cocok untuk skenario dengan beberapa instance inferensi dan beban permintaan yang tidak merata.

  • Terapkan Model MoE Berdasarkan Paralelisme Ahli dan Pemisahan PD: Untuk model Mixture-of-Experts (MoE), pendekatan ini menggunakan teknologi seperti paralelisme ahli (EP) dan pemisahan Prefill-Decode (PD) untuk meningkatkan throughput inferensi dan mengurangi biaya penyebaran.

Tanya Jawab Umum

  1. Kesalahan: Tipe Media Tidak Didukung: Hanya 'application/json' yang diizinkan

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

  2. Kesalahan: Model '<model_name>' tidak ada.

    Mesin Inferensi vLLM memerlukan bidang model yang benar. Dapatkan nama model dengan mengirim permintaan GET ke titik akhir /v1/models.

Untuk informasi lebih lanjut, lihat FAQ EAS.