Mistral: Ministral 3 8B 2512 (batch)
Ministral 3 8B Instruct 2512 adalah model instruksi teks dan gambar multibahasa dengan komponen bahasa 8,4B dan encoder visual 0,4B. Model ini mendukung konteks 256k dari pembuatnya, instruksi sistem, JSON, dan pemanggilan fungsi bawaan untuk asisten serta alur dokumen.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Ministral 3 8B Instruct 2512 adalah model berukuran menengah yang disesuaikan untuk mengikuti instruksi dalam keluarga Ministral 3 dari Mistral AI. Checkpoint yang dirilis menjalani pascapelatihan untuk tugas percakapan dan instruksi dengan presisi FP8. Model ini menggabungkan komponen bahasa dengan encoder visual, menerima teks dan gambar serta mengembalikan teks, bukan artefak gambar atau audio.
Arsitektur dan fitur utama
Pembuatnya mencantumkan model bahasa dengan 8,4 miliar parameter dan encoder visual dengan 0,4 miliar parameter. Jendela konteksnya dijelaskan sebagai 256k, dan catatan penggunaan yang dipublikasikan memakai panjang bawaan yang dikonfigurasi sebesar 262.144. Angka ini menjelaskan edisi berukuran 8B ini; anggota keluarga 3B yang lebih kecil dan 14B yang lebih besar memiliki ukuran komponen dan konfigurasi masing-masing.
Kemampuan visual memperluas masukan model melampaui percakapan tertulis. Gambar dokumen dapat dipasangkan dengan pertanyaan tentang bidang, paragraf, atau hubungan terlihat yang dipilih. Tangkapan layar dapat dipasangkan dengan tujuan pengguna dan permintaan untuk mengidentifikasi kontrol yang relevan. Minta pengamatan yang mendukung setiap kesimpulan ketika jawaban bergantung pada detail visual, serta pertahankan judul, label, dan satuan yang diperlukan untuk menafsirkan potongan gambar.
Kartu model menjelaskan pekerjaan multibahasa dalam puluhan bahasa, termasuk Inggris, Prancis, Spanyol, Jerman, Italia, Portugis, Belanda, Mandarin, Jepang, Korea, dan Arab. Kepatuhan terhadap instruksi sistem, pemanggilan fungsi bawaan, dan keluaran JSON juga disebutkan. Tetapkan bahasa akhir, peran, dan persyaratan keluaran secara eksplisit alih-alih membiarkan model menyimpulkan artefak yang dimaksud dari masukan besar.
Tugas dokumen, percakapan, dan agen
Kasus penggunaan dari pembuatnya mencakup antarmuka percakapan, asisten sehari-hari, deskripsi gambar dan dokumen, penerjemahan, pembuatan konten, dan agen khusus. Untuk asisten dokumen, berikan halaman dan tentukan informasi yang harus dikembalikan. Permintaan ekstraksi dapat menyebut label bidang, tipe yang diharapkan, dan penanganan nilai yang tidak tersedia. Jawaban yang berguna dapat memuat pengenal dokumen, nilai hasil ekstraksi, dan penjelasan singkat yang terkait dengan sumber yang terlihat.
Untuk percakapan yang berlanjut, pertahankan jawaban sebelumnya yang relevan dan ajukan pertanyaan lanjutan yang terarah. Pengguna dapat terlebih dahulu meminta ringkasan dokumen, lalu menanyakan pernyataan mana yang mendukung satu kesimpulan. Ini mengubah keluaran yang diwajibkan dari gambaran umum menjadi penjelasan yang terkait dengan sumber, sambil mempertahankan materi asli dan tujuan dialog.
Untuk penyuntingan multibahasa, berikan bagian teks asli, pembaca yang dituju, dan daftar istilah. Minta versi revisi yang mempertahankan nama, kondisi, dan satuan, diikuti penjelasan singkat perubahan jika berguna. Untuk pembuatan konten, tentukan audiens dan fakta yang harus muncul sebelum meminta draf pendek atau redaksi alternatif.
Dalam tugas agen, aplikasi menyediakan alat dan parameternya. Model dapat memilih fungsi dan menyiapkan argumen, sementara aplikasi menjalankannya serta mengembalikan hasil. Contoh fungsi dalam kartu model menggabungkan pertanyaan gambar dengan alat perhitungan. Pisahkan hasil alat dari usulan pemanggilan agar jawaban tertulis berikutnya menggunakan informasi yang benar-benar dikembalikan oleh operasi.
Persiapan dan pengaturan yang direkomendasikan
Pembuatnya merekomendasikan instruksi sistem yang menjelaskan lingkungan, kasus penggunaan, dan cara menggunakan alat. Pastikan kumpulan alat terdefinisi dengan baik dan terbatas pada jumlah minimum yang dibutuhkan tugas. Alur pencarian kecil dapat menawarkan fungsi yang relevan dengan pertanyaan saat ini, dengan argumen wajib yang diberi nama jelas, alih-alih menyajikan kumpulan besar operasi tak terkait.
Untuk penggunaan sehari-hari dan bergaya produksi, kartu model merekomendasikan temperature di bawah 0.1, dengan temperature lebih tinggi tersedia untuk eksplorasi kreatif. Perlakukan ini sebagai rekomendasi alur instruksi, bukan kontrol mode penalaran tersendiri. Keluarga ini memiliki checkpoint Base, Instruct, dan Reasoning yang berbeda; entri ini adalah edisi Instruct 2512, bukan rilis Reasoning terpisah dengan ukuran yang sama.
Untuk gambar, pembuatnya merekomendasikan rasio aspek mendekati 1:1 dan menghindari masukan yang terlalu tipis atau lebar. Pangkas bila perlu sambil mempertahankan label dan konteks yang diwajibkan pertanyaan. Jika halaman memuat beberapa area yang tidak terkait, identifikasi bagian yang harus diperiksa dan hasil yang harus dikembalikan. Gambar yang terbaca dan terarah lebih berguna daripada meminta model menebak detail kecil mana dalam halaman luas yang penting.
Batas konteks dan edisi
Rencanakan teks, gambar, percakapan, dan jawaban yang diinginkan sesuai konteks yang dikonfigurasi. Catatan penggunaan secara eksplisit memperbolehkan pengurangan panjang model yang dikonfigurasi ketika konteks yang dibutuhkan lebih sedikit, sehingga jendela penuh bukan instruksi untuk memenuhi setiap permintaan dengan seluruh materi yang tersedia. Contoh generasi 512 token dalam kartu model hanyalah pengaturan contoh, dan sumber yang dibaca tidak menetapkan batas keras panjang jawaban maksimum yang terpisah.
Checkpoint FP8 Instruct, rilis Base yang telah melalui prapelatihan, dan rilis Reasoning adalah edisi yang terpisah. Pembuatnya juga menjelaskan spesialisasi dan fine-tuning sebagai kasus penggunaan. Pertahankan checkpoint bernama beserta tokenizernya saat menyiapkan percakapan, dan bedakan generasi teks dari akses repositori, eksekusi fungsi, atau tindakan lain yang disediakan aplikasi di sekelilingnya.
Ailoot Ultra · Batch POST /v1/batches mistralai/ministral-8b-2512:batch
mistralai/ministral-8b-2512:batch
mistralai/ministral-8b-2512:batchMulai
Ministral 3 8B Instruct 2512 adalah model instruksi teks dan gambar multibahasa dengan komponen bahasa 8,4B dan encoder visual 0,4B. Model ini mendukung konteks 256k dari pembuatnya, instruksi sistem, JSON, dan pemanggilan fungsi bawaan untuk asisten serta alur dokumen.
- Masukan yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Batch POST /v1/batches
- Masukan
text- Keluaran
text- Format keluaran
- JSON inline pada results[].response.body
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolomendpoint | Jenisstring | PersyaratanWajib | Nilai & batasan /v1/chat/completions | Bawaan— |
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan mistralai/ministral-8b-2512:batch | Bawaan— |
Kolomrequests | Jenisbatch_item[] | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
Kolomrequests[].custom_id | Jenisstring | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomrequests[].body.messages | Jenismessage[] | PersyaratanWajib | Nilai & batasan | Bawaan— |
Kolomcompletion_window | Jenisstring | PersyaratanOpsional | Nilai & batasan 24h | Bawaan— |
Kolomprovider | Jenisobject|null | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kolomrequests[].body.model | Jenisstring | PersyaratanOpsional | Nilai & batasan mistralai/ministral-8b-2512:batch, mistralai/ministral-8b-2512 | Bawaan— |
Kolomprovider.only | Jenisstring[] | PersyaratanOpsional | Nilai & batasan mistral | Bawaan— |
Kolomprovider.allow_fallbacks | Jenisboolean|null | PersyaratanOpsional | Nilai & batasan false, null | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakendpoint, model, requests |
Parametermaterial_types | Kontraktext |
Parameterrepresentation | Kontrakrequests[] inline; setiap item memiliki custom_id dan body |
Parameterrequest_endpoint_profile | Kontrak/v1/chat/completions |
Parameterfile_material | KontrakPemanggil dapat membaca JSONL UTF-8 aktual secara lokal ke dalam requests[]. Tidak menggunakan purpose unggahan, input_file_id, atau referensi file. Materi pelanggan yang tidak ada atau kosong menghentikan persiapan sebelum POST. |
Parameterserialization_order | Kontrakendpoint, model, provider (jika disertakan), completion_window (jika disertakan), requests paling akhir |
Parameteroptional_controls | Kontrakprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | Kontrakbody teks Chat Completions dalam envelope Batch inline yang didokumentasikan. |
Siklus hidup: asynchronous
GET /v1/batches/{operation_id} · response.id aktual dari operasi create awal; user/key/group yang sama
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
- Harga cache eksplisit
- Tidak diaktifkan Saat cache eksplisit diminta
Tarif Ailoot
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Token konteks, lebih dari | Token konteks, hingga dan termasuk | Biaya |
|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Token konteks, lebih dari— | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.00015 / 1K token Keluaran · Token keluaran $0.00015 / 1K token Masukan · Pembacaan cache $0.000015 / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiPanjang permintaan · tingkat 1 | Jadwal tarif— | Token konteks, lebih dari0 | Token konteks, hingga dan termasukTanpa batas atas | Biaya Masukan · Token masukan $0.00015 / 1K token Keluaran · Token keluaran $0.00015 / 1K token Masukan · Pembacaan cache $0.000015 / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Batch
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/ministral-8b-2512:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['mistralai/ministral-8b-2512:batch', 'mistralai/ministral-8b-2512']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/ministral-8b-2512:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Terima dan simpan hasil
Ailoot Ultra · Batch
JSON inline pada results[].response.body
GET /v1/batches/{operation_id}
Periksa status tugas
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Pertahankan JSON status asli secara lengkap, setiap result/custom_id, serta body response atau error yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penyaringan.
Jika respons asli perlu diperiksa
Pertahankan ID operasi asli. 503 result_pending_check memiliki X-Should-Retry:false; jangan pernah kirim ulang batch asli yang statusnya tidak diketahui.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomresults[].custom_id | Jenisstring |
Kolomresults[].response.body.choices[].message.content | Jenisstring|null |
Kolomresults[].error | Jenisobject|null |
Kolomusage | Jenisobject|null |
Kolomid | Jenisstring |
Kolommodel | Jenisstring |
Kolomendpoint | Jenisstring |
Kolomstatus | Jenisstring |
Kolomrequest_counts | Jenisobject |
Kolomresults[].id | Jenisstring |
Kolomresults[].response.status_code | Jenisinteger |
Kolomresults[].response.request_id | Jenisstring |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiEnvelope inline yang didokumentasikan tidak valid, ada kunci duplikat, atau terdapat konflik pada identitas item atau kemampuan model yang dikonfigurasi. | Langkah berikutnyaPerbaiki kolom yang ditunjukkan sebelum pengiriman baru apa pun. |
Respons401 · authentication_error | KondisiKunci API tidak valid. | Langkah berikutnyaGunakan kunci Ailoot yang berizin. |
Respons403 · permission_error | KondisiGrup Batch tidak tersedia. | Langkah berikutnyaPeriksa hak akses key/group. |
Respons422 · invalid_request_error | KondisiBatch menggunakan penagihan dari saldo; pembuatan dengan langganan ditolak. | Langkah berikutnyaGunakan grup berizin yang ditagih dari saldo. |
Respons422 · price_unavailable | KondisiPenawaran harga untuk input Batch tidak dapat dibuat. | Langkah berikutnyaSimpan respons; gunakan input keluarga API yang didokumentasikan. |
Respons402 · billing_error | KondisiCadangan Batch tidak tersedia. | Langkah berikutnyaSelesaikan kendala penerimaan sebelum mengirim permintaan baru. |
Respons503 · price_unavailable | KondisiHarga metode Batch/tarif native tidak tersedia. | Langkah berikutnyaSimpan respons; jangan mengganti harga. |
Respons503 · api_error | KondisiRute pemasok yang tepat tidak tersedia. | Langkah berikutnyaSimpan respons untuk perbaikan rute. |
Respons503 · result_pending_check | KondisiHasil asli perlu diperiksa; X-Should-Retry:false. | Langkah berikutnyaSimpan operation_id/id asli dan baca statusnya; jangan pernah mengulangi POST asli. |
Respons404 · not_found | KondisiOperasi status Batch tidak ada atau dimiliki oleh identitas lain. | Langkah berikutnyaGunakan id asli yang persis sama dan user/key/group yang sama. |
Alias
Alias model
Ailoot Ultra mistralai/ministral-8b-2512:batch
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · Mistral: Ministral 3 8B 2512 (batch)
- Input dan hasil apa yang tersedia?
POST /v1/batches·mistralai/ministral-8b-2512:batch:text→text- Kolom apa yang digunakan permintaan?
POST /v1/batches·mistralai/ministral-8b-2512:batch:endpoint,model,requests,completion_window,provider- Batasan apa yang berlaku?
POST /v1/batches·mistralai/ministral-8b-2512:batch:requests.min_items:1