Alibaba Cloud Model Studio menyediakan API Batch yang kompatibel dengan OpenAI, memungkinkan Anda mengirimkan file batch untuk eksekusi asinkron. Layanan ini memproses data skala besar secara offline selama jam sepi dan mengembalikan hasil setelah tugas selesai atau waktu tunggu maksimum tercapai, dengan biaya hanya 50% dari panggilan real-time.
Untuk operasi konsol, lihat Pemrosesan batch.
Alur kerja
Prasyarat
Gunakan SDK OpenAI (Python, Node.js) atau HTTP API.
Dapatkan Kunci API: Dapatkan Kunci API dan ekspor sebagai variabel lingkungan
Instal SDK (opsional): Jika menggunakan SDK, instal SDK OpenAI.
Titik akhir layanan
Tiongkok Daratan:
https://dashscope.aliyuncs.com/compatible-mode/v1Internasional:
https://dashscope-intl.aliyuncs.com/compatible-mode/v1
Cakupan
Tiongkok Daratan
Dalam mode penyebaran Tiongkok Daratan, titik akhir dan penyimpanan data berlokasi di wilayah Beijing, sedangkan sumber daya komputasi untuk inferensi model dibatasi hanya di Tiongkok Daratan.
Model yang didukung:
Model generasi teks: Versi stabil dan beberapa versi
latestQwen-Max, Qwen-Plus, Qwen-Flash, dan Qwen-Long. Juga mendukung seri QwQ (qwq-plus) serta model pihak ketiga seperti deepseek-r1 dan deepseek-v3.Model multimodal: Versi stabil dan beberapa versi
latestQwen-VL-Max, Qwen-VL-Plus, dan Qwen-VL-Flash, serta Qwen-OCR.Model penyematan teks: text-embedding-v4.
Internasional
Dalam mode penyebaran internasional, titik akhir dan penyimpanan data berlokasi di wilayah Singapura. Sumber daya komputasi untuk inferensi model dialokasikan secara dinamis di seluruh dunia, tidak termasuk Tiongkok Daratan.
Model yang didukung: qwen-max, qwen-plus, qwen-flash, dan qwen-turbo.
Mulai
Sebelum memproses tugas formal, gunakan model uji batch-test-model untuk pengujian end-to-end. Model uji melewati proses inferensi dan mengembalikan respons sukses tetap untuk memverifikasi bahwa rantai panggilan API dan format data sudah benar.
Batasan batch-test-model:
File uji harus memenuhi persyaratan yang dijelaskan dalam File input. Ukuran file tidak boleh melebihi 1 MB, dan jumlah baris tidak boleh melebihi 100.
Batas konkurensi: Maksimal 2 tugas paralel.
Biaya: Model uji tidak dikenakan biaya inferensi model.
Langkah 1: Siapkan file input
Siapkan file bernama test_model.jsonl dengan konten berikut:
{"custom_id":"1","method":"POST","url":"/v1/chat/ds-test","body":{"model":"batch-test-model","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"Hello! How can I help you?"}]}}
{"custom_id":"2","method":"POST","url":"/v1/chat/ds-test","body":{"model":"batch-test-model","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"What is 2+2?"}]}}Langkah 2: Jalankan kode
Pilih salah satu contoh kode berikut berdasarkan bahasa pemrograman Anda. Simpan di direktori yang sama dengan file input Anda dan jalankan. Kode ini menyelesaikan seluruh alur kerja, termasuk unggah file, pembuatan tugas, polling status, dan unduh hasil.
Untuk menyesuaikan path file atau parameter lainnya, ubah kode sesuai kebutuhan.
Langkah 3: Verifikasi hasil uji
Setelah tugas berhasil, file hasil result.jsonl akan berisi respons tetap {"content":"This is a test result."}:
{"id":"a2b1ae25-21f4-4d9a-8634-99a29926486c","custom_id":"1","response":{"status_code":200,"request_id":"a2b1ae25-21f4-4d9a-8634-99a29926486c","body":{"created":1743562621,"usage":{"completion_tokens":6,"prompt_tokens":20,"total_tokens":26},"model":"batch-test-model","id":"chatcmpl-bca7295b-67c3-4b1f-8239-d78323bb669f","choices":[{"finish_reason":"stop","index":0,"message":{"content":"This is a test result."}}],"object":"chat.completion"}},"error":null}
{"id":"39b74f09-a902-434f-b9ea-2aaaeebc59e0","custom_id":"2","response":{"status_code":200,"request_id":"39b74f09-a902-434f-b9ea-2aaaeebc59e0","body":{"created":1743562621,"usage":{"completion_tokens":6,"prompt_tokens":20,"total_tokens":26},"model":"batch-test-model","id":"chatcmpl-1e32a8ba-2b69-4dc4-be42-e2897eac9e84","choices":[{"finish_reason":"stop","index":0,"message":{"content":"This is a test result."}}],"object":"chat.completion"}},"error":null}Jalankan tugas formal
Persyaratan file input
Format: JSONL dengan encoding UTF-8. Setiap baris harus berupa objek JSON terpisah.
Batas ukuran: Maksimal 50.000 permintaan per file dan tidak lebih dari 500 MB.
Batas baris: Setiap objek JSON maksimal 6 MB dan berada dalam jendela konteks model.
Konsistensi: Semua permintaan dalam file yang sama harus menggunakan model yang sama dan, jika berlaku, mode pemikiran yang sama.
Pengenal unik: Setiap permintaan harus menyertakan field `custom_id` yang unik dalam file tersebut. Ini digunakan untuk mencocokkan hasil.
Contoh konten file:
{"custom_id":"1","method":"POST","url":"/v1/chat/completions","body":{"model":"qwen-plus","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-plus","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"What is 2+2?"}]}}Alat pembuatan batch JSONL
Gunakan alat ini untuk membuat file JSONL dengan cepat.
1. Ubah file input
Ubah langsung
test_model.jsonl. Atur parameter model ke model aktual yang akan digunakan dan konfigurasikan field url:Jenis
url
Generasi teks/multimodal
/v1/chat/completionsPenyematan teks
/v1/embeddingsAtau, gunakan "Alat pembuatan batch JSONL" di atas untuk membuat file baru. Pastikan field
modeldanurlsudah benar.
2. Ubah kode di Getting started
Ubah path file input ke nama file Anda.
Ubah nilai parameter endpoint agar sesuai dengan field url di file input Anda.
3. Jalankan kode dan tunggu hasil
Setelah tugas berhasil, hasil permintaan yang berhasil disimpan di file lokal result.jsonl. Jika beberapa permintaan gagal, detail error disimpan di file error.jsonl.
Hasil yang berhasil (
output_file_id): Setiap baris sesuai dengan permintaan asli yang berhasil dan berisicustom_iddanresponse.{"id":"3a5c39d5-3981-4e4c-97f2-e0e821893f03","custom_id":"req-001","response":{"status_code":200,"request_id":"3a5c39d5-3981-4e4c-97f2-e0e821893f03","body":{"created":1768306034,"usage":{"completion_tokens":654,"prompt_tokens":14,"total_tokens":668},"model":"qwen-plus","id":"chatcmpl-3a5c39d5-3981-4e4c-97f2-e0e821893f03","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"Hello! Hangzhou West Lake is a famous scenic spot in China, located in the western part of Hangzhou City, Zhejiang Province, hence the name \"West Lake\". It is one of China's top ten scenic spots and a World Cultural Heritage site (listed by UNESCO in 2011). It is renowned worldwide for its beautiful natural scenery and profound cultural heritage.\n\n### I. Natural Landscape\nWest Lake is surrounded by mountains on three sides and borders the city on one side, covering an area of approximately 6.39 square kilometers, shaped like a ruyi scepter with rippling blue waters. The lake is naturally or artificially divided into multiple water areas by Solitary Hill, Bai Causeway, Su Causeway, and Yanggong Causeway, forming a layout of \"one mountain, two pagodas, three islands, and three causeways\".\n\nMain attractions include the following:\n- **Spring Dawn at Su Causeway**: During the Northern Song Dynasty, the great literary figure Su Dongpo, while serving as the prefect of Hangzhou, led the dredging of West Lake and used the excavated silt to build a causeway, later named \"Su Causeway\". In spring, peach blossoms and willows create a picturesque scene.\n- **Lingering Snow on Broken Bridge**: Located at the eastern end of Bai Causeway, this is where the reunion scene from the Legend of the White Snake took place. After snowfall in winter, it is particularly famous for its silver-white appearance.\n- **Leifeng Pagoda at Sunset**: Leifeng Pagoda glows golden under the setting sun and was once one of the \"Ten Scenes of West Lake\".\n- **Three Pools Mirroring the Moon**: On Xiaoyingzhou Island in the lake, there are three stone pagodas. During the Mid-Autumn Festival, lanterns can be lit inside the pagodas, creating a harmonious interplay of moonlight, lamplight, and lake reflections.\n- **Autumn Moon over Calm Lake**: Located at the western end of Bai Causeway, it is an excellent spot for viewing the moon over the lake.\n- **Viewing Fish at Flower Harbor**: Known for viewing flowers and fish, with peonies and koi complementing each other beautifully in the garden.\n\n### II. Cultural History\nWest Lake not only boasts beautiful scenery but also carries rich historical and cultural significance:\n- Since the Tang and Song dynasties, numerous literati such as Bai Juyi, Su Dongpo, Lin Bu, and Yang Wanli have left poems here.\n- Bai Juyi oversaw the construction of \"Bai Causeway\" and dredged West Lake, benefiting the local people.\n- Around West Lake are many historical sites, including Yuewang Temple (commemorating national hero Yue Fei), Lingyin Temple (a millennium-old Buddhist temple), Liuhe Pagoda, and Longjing Village (the origin of Longjing tea, one of China's top ten famous teas).\n\n### III. Cultural Symbolism\nWest Lake is regarded as a representative of \"paradise on earth\" and a model of traditional Chinese landscape aesthetics. It embodies the philosophical concept of \"harmony between heaven and humanity\" by integrating natural beauty with cultural depth. Many poems, paintings, and operas feature West Lake, making it an important symbol of Chinese culture.\n\n### IV. Travel Recommendations\n- Best visiting seasons: Spring (March-May) for peach blossoms and willows, Autumn (September-November) for clear skies and cool weather.\n- Recommended ways: Walking, cycling (along the lakeside greenway), or boating on the lake.\n- Local cuisine: West Lake vinegar fish, Longjing shrimp, Dongpo pork, pian'erchuan noodles.\n\nIn summary, Hangzhou West Lake is not just a natural wonder but also a living cultural museum worth exploring in detail. If you ever visit Hangzhou, don't miss this earthly paradise that is \"equally charming in light or heavy makeup\"."}}],"object":"chat.completion"}},"error":null} {"id":"628312ba-172c-457d-ba7f-3e5462cc6899","custom_id":"req-002","response":{"status_code":200,"request_id":"628312ba-172c-457d-ba7f-3e5462cc6899","body":{"created":1768306035,"usage":{"completion_tokens":25,"prompt_tokens":18,"total_tokens":43},"model":"qwen-plus","id":"chatcmpl-628312ba-172c-457d-ba7f-3e5462cc6899","choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","content":"The spring breeze brushes green willows,\nNight rain nourishes red flowers.\nBird songs fill the forest,\nMountains and rivers share the same beauty."}}],"object":"chat.completion"}},"error":null}Detail kegagalan (
error_file_id): Berisi informasi tentang baris permintaan yang gagal dan alasan error yang sesuai. Untuk troubleshooting, lihat Kode error.
Prosedur detail
Proses API Batch terdiri dari empat langkah: mengunggah file, membuat tugas, memeriksa status tugas, dan mengunduh hasil.
1. Unggah file
2. Buat tugas batch
3. Kueri dan kelola tugas batch
4. Unduh file hasil Batch
Fitur lanjutan
Atur notifikasi penyelesaian
Untuk tugas berjalan lama, polling menghabiskan sumber daya yang tidak perlu. Gunakan mekanisme notifikasi asinkron di mana sistem secara aktif memberi tahu Anda saat tugas selesai.
Callback: Tentukan URL yang dapat diakses publik saat membuat tugas.
Antrian pesan EventBridge: Terintegrasi mendalam dengan ekosistem Alibaba Cloud dan tidak memerlukan IP publik.
Metode 1: Callback
Metode 2: Antrian pesan EventBridge
Peluncuran
Manajemen file
Panggil secara berkala API hapus file untuk menghapus file yang tidak diperlukan dan menghindari mencapai batas penyimpanan file (10.000 file atau 100 GB).
Simpan file besar di OSS sebagai gantinya.
Pemantauan tugas
Utamakan menggunakan notifikasi asinkron Callback atau EventBridge.
Jika polling diperlukan, atur interval lebih dari 1 menit dan gunakan strategi backoff eksponensial.
Penanganan error
Implementasikan mekanisme penanganan exception lengkap yang mencakup error jaringan, error API, dan masalah potensial lainnya.
Unduh dan analisis detail error di
error_file_id.Untuk kode error umum, lihat Pesan error untuk solusi.
Optimasi biaya
Gabungkan tugas kecil menjadi satu batch.
Atur
completion_windowsecara tepat untuk memberikan fleksibilitas penjadwalan yang lebih besar.
Alat utilitas
CSV ke JSONL
Hasil JSONL ke CSV
Batas tingkat
Antarmuka | Batas tingkat (per Akun Alibaba Cloud) |
Buat tugas | 1.000 panggilan/menit, maksimal 1.000 tugas konkuren |
Kueri tugas | 1.000 panggilan/menit |
Kueri daftar tugas | 100 panggilan/menit |
Batalkan tugas | 1.000 panggilan/menit |
Penagihan
Harga satuan: Untuk permintaan yang berhasil, harga satuan untuk token input dan output adalah 50% dari harga real-time untuk model yang sesuai. Lihat Daftar model.
Cakupan:
Hanya permintaan yang dieksekusi dengan sukses dalam tugas yang ditagih.
Kegagalan parsing file, kegagalan eksekusi tugas, atau permintaan error tingkat baris tidak dikenakan biaya.
Untuk tugas yang dibatalkan, permintaan apa pun yang telah berhasil diselesaikan sebelum pembatalan dikenakan biaya.
Inferensi batch adalah item yang dapat ditagih terpisah dan tidak mendukung langganan (rencana penghematan), kuota gratis pengguna baru, atau fitur seperti cache konteks.
Kode error
Jika panggilan gagal dan mengembalikan pesan error, lihat Pesan error untuk solusi.
FAQ
Bagaimana penagihan pemanggilan batch? Apakah saya perlu membeli secara terpisah?
Anda ditagih berdasarkan token yang digunakan oleh permintaan yang berhasil dalam tugas. Tidak diperlukan pembelian paket terpisah.
Apakah tugas batch yang dikirim dieksekusi secara berurutan?
Tidak. Backend menggunakan mekanisme penjadwalan dinamis untuk menjadwalkan eksekusi tugas berdasarkan beban sumber daya komputasi keseluruhan. Oleh karena itu, eksekusi tidak dijamin berurutan sesuai pengiriman. Jika sumber daya terbatas, startup dan eksekusi tugas mungkin tertunda.
Berapa lama waktu yang dibutuhkan untuk menyelesaikan tugas batch yang dikirim?
Waktu eksekusi tergantung pada alokasi sumber daya sistem dan skala tugas Anda. Jika tugas tidak selesai dalam completion_window yang ditentukan, tugas tersebut kedaluwarsa. Permintaan yang tidak diproses dalam tugas yang kedaluwarsa tidak dieksekusi dan tidak dikenakan biaya apa pun.
Rekomendasi skenario: Untuk skenario yang memerlukan inferensi model real-time, kami merekomendasikan menggunakan panggilan real-time. Untuk skenario pemrosesan data skala besar yang tidak sensitif terhadap waktu, kami merekomendasikan menggunakan panggilan batch.