All Products
Search
Document Center

Alibaba Cloud Model Studio:Inferensi batch

Last Updated:Jul 04, 2026

Untuk skenario inferensi yang tidak memerlukan respons real-time, inferensi batch memproses volume besar permintaan data secara asinkron dengan biaya 50% dari harga inferensi real-time. API-nya yang kompatibel dengan OpenAI sangat ideal untuk pekerjaan batch seperti evaluasi model dan pelabelan data.

Cara kerja

  1. Kirimkan tugas: Unggah file JSONL yang berisi beberapa permintaan untuk membuat tugas inferensi batch.

  2. Pemrosesan asinkron: Sistem memproses tugas dalam antrian latar belakang. Anda dapat memantau progres dan status tugas di Konsol atau menggunakan API.

  3. Unduh hasil: Setelah tugas selesai, sistem menghasilkan file hasil untuk respons yang berhasil dan file error yang berisi detail kegagalan.

Cakupan

Singapura

Model yang didukung: qwen-max, qwen-plus, qwen-flash, qwen-turbo.

Tiongkok (Beijing)

Model yang didukung:

  • Model generasi teks: Versi stabil dan beberapa versi latest dari Qwen-Max, Plus, Flash, dan Long. Seri QwQ (qwq-plus) dan beberapa model pihak ketiga (deepseek-r1, deepseek-v3.2, deepseek-v3) juga didukung.

  • Model multimodal: Versi stabil dan beberapa versi latest dari Qwen-VL-Max, Plus, dan Flash. Model Qwen-OCR juga didukung.

  • Model text embedding: Model text-embedding-v4.

Daftar nama model yang didukung

Penting
  • Dalam skenario Pemrosesan batch, jumlah maksimum token konteks per permintaan adalah 256 K untuk qwen3.7-max, qwen3.7-plus, qwen3.6-plus, qwen3.5-plus, dan qwen3.5-flash.

  • Beberapa model mendukung mode thinking. Mengaktifkan mode ini menghasilkan token thinking dan meningkatkan biaya.

  • Model seri qwen3.7, qwen3.6, dan qwen3.5 memiliki mode thinking aktif secara default. Jika Anda menggunakan model hybrid thinking, Anda harus secara eksplisit menyetel parameter enable_thinking. Atur parameter ini ke true untuk mengaktifkan mode atau false untuk menonaktifkannya.

  • Dalam badan permintaan JSONL, enable_thinking adalah parameter tingkat atas dari body dan harus ditempatkan pada level yang sama dengan model. Jangan letakkan di dalam extra_body.

Gunakan inferensi batch

Langkah 1: Siapkan file input

Sebelum membuat tugas, siapkan file JSONL yang memenuhi persyaratan berikut:

  • Format: JSONL berkode UTF-8 (satu objek JSON per baris).

  • Batas skala: Maksimal 50.000 permintaan per file, dan ukuran file maksimal 500 MB.

    Jika set data Anda melebihi batas ini, bagi menjadi beberapa file dan kirimkan sebagai tugas terpisah.
  • Batas per baris: Setiap objek JSON dapat mencapai 6 MB dan tidak boleh melebihi jendela konteks model.

  • Konsistensi: Semua permintaan dalam satu file harus menggunakan model yang sama.

  • Pengenal unik: Setiap permintaan harus menyertakan bidang custom_id yang unik dalam file tersebut untuk pencocokan hasil. custom_id mendukung maksimal 256 karakter. Jika batas ini terlampaui, validasi tugas akan gagal. Untuk mengembalikan pengenal yang lebih panjang, gunakan bidang kustom dalam parameter metadata saat membuat tugas. Untuk informasi selengkapnya, lihat Gunakan metadata untuk mengembalikan pengenal kustom.

Setiap objek JSON harus mengikuti skema berikut:

Parameter

Tipe

Wajib

Deskripsi

custom_id

string

Ya

Pengenal unik untuk permintaan dalam file tersebut.

method

string

Ya

Metode HTTP yang didukung adalah POST.

url

string

Ya

Hanya titik akhir permintaan /v1/chat/completions yang didukung.

body

object

Ya

Badan permintaan memiliki format yang sama dengan API /v1/chat/completions.

Contoh file

Anda dapat mengunduh contoh file test_model.jsonl. Isinya sebagai berikut:

{"custom_id":"1","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen-max","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"Hello!"}]}}
{"custom_id":"2","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen-max","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"What is 2+2?"}]}}

Konfigurasikan mode thinking dalam inferensi batch

Beberapa model, seperti qwen3.7-plus, qwen3.7-max, dan seri qwen3.6 serta qwen3.5, memiliki mode thinking aktif secara default, yang menghasilkan token thinking tambahan. Untuk mengonfigurasi mode thinking dalam inferensi batch, atur parameter enable_thinking pada level yang sama dengan parameter model di dalam body setiap permintaan. Parameter opsional thinking_budget dapat digunakan untuk menetapkan batas atas jumlah token thinking.

Penting

Parameter enable_thinking dan thinking_budget harus ditempatkan langsung di tingkat atas body, pada level yang sama dengan model. Jangan letakkan di dalam extra_body. Parameter extra_body adalah mekanisme untuk meneruskan parameter non-standar dengan OpenAI Python SDK; hanya berlaku untuk panggilan inferensi real-time dan tidak berlaku untuk file inferensi batch.

Contoh: Nonaktifkan mode thinking

{"custom_id":"request-1","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen3.5-plus","enable_thinking":false,"messages":[{"role":"user","content":"Hello"}]}}

Contoh: Aktifkan mode thinking dan batasi anggaran token thinking

{"custom_id":"request-2","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen3.5-plus","enable_thinking":true,"thinking_budget":50,"messages":[{"role":"user","content":"Please analyze the following question"}]}}

Langkah 2: Buat tugas inferensi batch

  1. Di halaman Batch Inference**, klik Create Batch.

  2. Pada kotak dialog yang muncul, masukkan Task Name dan Description, atur Maximum Waiting Time (dari 1 hingga 14 hari), lalu unggah file JSONL Anda.

    Anda dapat mengklik Download Sample File untuk mendapatkan templat.

    image

  3. Setelah selesai, klik Confirm.

Langkah 3: Pantau dan kelola tugas

  • Lihat:

    • Di halaman daftar tugas, lihat progres tugas (permintaan diproses/jumlah total permintaan) dan Status.

    • Cari berdasarkan nama atau ID tugas, atau filter berdasarkan ruang kerja untuk menemukan tugas tertentu dengan cepat.image

  • Kelola:

    • Batalkan: Anda dapat membatalkan tugas yang berstatus Executing di kolom Actions.

    • Pemecahan masalah: Untuk tugas yang gagal, arahkan kursor ke status untuk melihat ringkasan error atau unduh file error untuk detailnya.image

Langkah 4: Unduh hasil

Penting

Tugas akan dihapus secara otomatis 30 hari setelah selesai. Unduh hasil Anda segera.

Saat tugas selesai, klik View Results untuk mengunduh file output: image

  • File hasil: Mencatat semua permintaan yang berhasil dan hasil respons-nya.

  • File error (jika ada): Mencatat semua permintaan yang gagal dan detail error-nya.

Kedua file berisi bidang custom_id, yang digunakan untuk mencocokkan dengan data input asli, mengaitkan hasil, atau menemukan error.

Langkah 5: Lihat statistik penggunaan (opsional)

Di halaman Model Monitoring, Anda dapat memfilter dan melihat statistik penggunaan untuk inferensi batch.

  • Lihat ikhtisar data: Pilih Time Range (maksimal 30 hari), atur Inference Type ke Batches, lalu Anda dapat melihat hal berikut:

    • Data pemantauan: Statistik ringkasan untuk semua model dalam periode yang dipilih, seperti jumlah total panggilan dan kegagalan.

    • Daftar model: Data detail untuk setiap model, seperti jumlah total panggilan, tingkat kegagalan, dan durasi rata-rata panggilan.

    image

    Untuk melihat data inferensi yang berusia lebih dari 30 hari, buka halaman Bills.
  • Lihat detail model: Di Models, klik Monitor di kolom Actions model target untuk melihat Call Statistics, seperti jumlah panggilan dan volume panggilan.image

Penting
  • Data panggilan untuk inferensi batch dicatat berdasarkan waktu penyelesaian tugas. Untuk tugas yang sedang berjalan, informasi panggilan tidak dapat diambil sampai tugas selesai.

  • Data pemantauan mungkin mengalami keterlambatan satu hingga dua jam.

Gunakan metadata untuk mengembalikan pengenal kustom

custom_id mendukung maksimal 256 karakter. Jika Anda perlu mengembalikan pengenal yang lebih panjang dalam file hasil, Anda dapat menggunakan bidang kustom dalam metadata.

Bidang metadata

metadata adalah parameter opsional untuk membuat tugas Batch. Parameter ini mendukung bidang berikut:

  • ds_name: Nama tugas. Nama ini ditampilkan di kolom Task Name di Konsol.

  • ds_description: Deskripsi tugas. Deskripsi ini ditampilkan di kolom Task Description di Konsol.

  • Bidang kustom: Selain bidang resmi, objek metadata juga mendukung bidang kustom apa pun, dan nilainya tidak dibatasi hingga 256 karakter. Saat Anda mengambil detail tugas, semua bidang kustom dikembalikan secara lengkap.

Contoh kode

Contoh berikut menunjukkan cara menggunakan bidang kustom dalam metadata untuk mengembalikan pengenal yang lebih panjang dari 256 karakter:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

batch = client.batches.create(
    input_file_id="file-batch-xxxxxxxxxxxxxxxxxxxx",
    endpoint="/v1/chat/completions",
    completion_window="24h",
    metadata={
        "ds_name": "my_batch_task",
        "ds_description": "A description for my batch inference task",
        "my_custom_field": "The value of this field can exceed 256 characters and is used to pass back longer identifier information..."
    }
)
print(batch)

Setelah tugas berhasil dibuat, Anda dapat memanggil operasi GET /v1/batches/{batch_id} untuk mengambil informasi metadata lengkap, yang mencakup semua bidang kustom dan kontennya secara utuh.

Referensi API

Di lingkungan produksi, gunakan API yang kompatibel dengan OpenAI untuk mengotomatiskan pembuatan dan pengelolaan tugas batch. Alur kerja intinya adalah sebagai berikut:

  1. Unggah file

    Panggil POST /v1/files untuk mengunggah file. Catat ID file yang dikembalikan.

  2. Untuk membuat tugas, masukkan ID file , panggil POST /v1/batches, lalu catat batch_id yang dikembalikan.

  3. Periksa status dengan menggunakan batch_id untuk melakukan polling GET /v1/batches/{batch_id}. Saat status berubah menjadi completed, catat output_file_id dan hentikan polling.

  4. Untuk mengunduh file hasil, gunakan output_file_id untuk memanggil GET /v1/files/{output_file_id}/content.

Untuk definisi API Batch lengkap dan contoh kode, lihat OpenAI-compatible - Batch (file input).

Siklus hidup tugas

Status

Deskripsi

validating

Sistem sedang memvalidasi format file (spesifikasi JSONL) dan format API setiap permintaan.

in_progress

Sistem telah memvalidasi file dan mulai memproses permintaan inferensi.

finalizing

Semua permintaan telah diproses, dan sistem sedang menulis hasil ke file output.

completed

File hasil dan error telah dihasilkan dan tersedia untuk diunduh.

failed

Tugas gagal selama tahap validating, biasanya karena error tingkat file seperti format JSONL salah atau ukuran file terlalu besar. Dalam status ini, tidak ada permintaan inferensi yang dieksekusi, dan tidak ada file hasil yang dihasilkan.

expired

Waktu proses tugas melebihi waktu tunggu maksimum yang ditetapkan saat pembuatan dan dihentikan oleh sistem. Saat membuat tugas baru, pertimbangkan untuk menetapkan waktu tunggu yang lebih lama.

cancelled

Tugas dibatalkan oleh pengguna. Permintaan yang belum diproses dihentikan.

Penagihan

  • Harga: Untuk semua permintaan yang berhasil, token input dan output dikenai harga 50% dari harga inferensi real-time untuk model yang sesuai. Untuk detailnya, lihat Model dan Harga.

  • Cakupan penagihan:

    • Anda hanya ditagih untuk permintaan yang berhasil dieksekusi dalam suatu tugas.

    • Kegagalan parsing file, kegagalan eksekusi tugas, atau error permintaan per baris tidak dikenai biaya.

    • Untuk tugas yang dibatalkan, permintaan yang telah berhasil diselesaikan sebelum pembatalan tetap ditagih secara normal.

Catatan
  • Inferensi batch merupakan item yang dapat ditagih secara terpisah dan mendukung AI Universal Savings Plan. Namun, tidak memenuhi syarat untuk promosi lain seperti rencana prabayar (Savings Plans) dan kuota gratis pengguna baru, atau fitur seperti context caching.

  • Beberapa model, seperti qwen3.7-plus, qwen3.7-max, dan seri qwen3.6 serta qwen3.5, memiliki mode thinking aktif secara default. Hal ini menghasilkan token thinking tambahan yang ditagih sesuai harga token output, sehingga meningkatkan biaya. Untuk mengontrol biaya, atur parameter enable_thinking berdasarkan kompleksitas tugas. Untuk detailnya, lihat Deep Thinking.

FAQ

  1. Apakah saya perlu membeli atau mengaktifkan sesuatu tambahan untuk menggunakan inferensi batch?

    Tidak. Fitur ini tersedia setelah Anda mengaktifkan Model Studio. Biaya dikenakan berdasarkan skema pay-as-you-go dan dipotong dari saldo akun Anda.

  2. Mengapa tugas saya gagal segera setelah dikirim (status berubah menjadi failed)?

    Hal ini biasanya menunjukkan error tingkat file, dan tidak ada permintaan inferensi yang dieksekusi. Periksa hal berikut secara berurutan:

    • Format file: Pastikan file menggunakan format JSONL ketat, dengan satu objek JSON lengkap per baris.

    • Skala file: Pastikan ukuran file dan jumlah baris tidak melebihi batas. Untuk detailnya, lihat Langkah 1: Siapkan file input.

    • Konsistensi model: Periksa bahwa bidang body.model identik untuk semua permintaan dalam file, dan model yang digunakan didukung di wilayah saat ini.

  3. Berapa lama waktu pemrosesan tugas?

    Waktu pemrosesan bergantung pada beban sistem saat tugas dikirim. Pada periode sibuk, tugas mungkin masuk antrian. Namun, hasil (sukses atau gagal) selalu dikembalikan dalam waktu tunggu maksimum yang ditentukan.

Kode error

Jika panggilan gagal dan pesan error dikembalikan, lihat Kode error.