Mistral: Mistral Small 4 (batch)
Mistral Small 4 ialah model teks dan imej hibrid dengan keupayaan arahan, penaakulan dan pengekodan. Keluaran campuran pakar 119B mengaktifkan 6.5B parameter bagi setiap token dan menyokong konteks 256k yang dinyatakan oleh pembuat, usaha penaakulan boleh pilih, JSON dan panggilan fungsi.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Mistral Small 4 menggabungkan kepatuhan arahan umum, penaakulan dan pengekodan dalam satu model multimodal. Pembuat menerangkannya sebagai penyatuan keluarga Instruct, penaakulan Magistral dan pengekodan Devstral. Ia menerima teks dan imej serta mengembalikan teks, dengan panggilan fungsi dan output JSON tersedia untuk aplikasi berbantukan alat.
Seni bina dan ciri utama
Keluaran ini mempunyai jumlah 119 bilion parameter dan mengaktifkan 6.5 bilion bagi setiap token. Seni bina campuran pakarnya mengandungi 128 pakar, dengan 4 aktif, dan pembuat mendokumentasikan tetingkap konteks 256k. Bilangan parameter aktif dan bilangan pakar menerangkan cara model disusun; ia berbeza daripada jumlah kandungan teks atau imej yang dimasukkan dalam satu tugas.
Model menyediakan kefungsian arahan dan penaakulan dalam titik semak yang sama. Pembuat turut mengenal pasti penglihatan, kepatuhan prom sistem dan sokongan berbilang bahasa merangkumi puluhan bahasa, termasuk bahasa Inggeris, Perancis, Sepanyol, Jerman, Itali, Portugis, Belanda, Cina, Jepun, Korea dan Arab. Oleh itu, arahan teks boleh bertanya tentang imej atau menggabungkan keperluan bertulis dengan bukti yang kelihatan, dengan jawapan dikembalikan sebagai teks.
Tugas visual boleh memberikan halaman dokumen dan meminta nilai yang relevan dengan syarat bernama. Pastikan label dan unit boleh dibaca serta nyatakan sama ada hasil perlu mengekalkan ungkapan asal, meringkaskannya atau membandingkannya dengan sumber lain. Tugas antara muka boleh memadankan tangkapan skrin dengan matlamat pengguna dan meminta kawalan berkaitan yang kelihatan serta bukti yang menyokong langkah seterusnya yang dicadangkan.
Memilih mod arahan atau penaakulan
Kad yang dikeluarkan mendokumentasikan usaha penaakulan none untuk jawapan gaya arahan segera dan high untuk penaakulan, dengan high disyorkan untuk prom kompleks. Pilihan dibuat bagi setiap permintaan dalam model Small 4 yang sama. Pengelasan biasa atau penulisan semula pendek boleh mempunyai kontrak jawapan yang berbeza daripada masalah matematik, visual atau pengekodan yang memerlukan penjelasan terperinci.
Pembuat mengesyorkan suhu 0.7 untuk usaha penaakulan high. Untuk none, ia menetapkan suhu antara 0.0 dengan 0.7 mengikut tugas. Tetapan ini menerangkan mod yang didokumentasikan dan tidak menjadikan usaha penaakulan sebagai jaminan hasil yang betul. Takrifkan andaian, bentuk output dan bahan sumber yang berkaitan sebelum memilih jumlah penaakulan yang diperlukan oleh tugas.
Untuk masalah yang diselesaikan langkah demi langkah, berikan syarat penuh dan minta langkah penting yang berasas diikuti ungkapan akhir. Untuk tugas kod, berikan keperluan, fungsi yang terjejas dan input konkrit; minta pelaksanaan yang dicadangkan secara berasingan daripada penjelasan dan contoh. Demonstrasi penggunaan pembuat merangkumi kepatuhan arahan, alat pengiraan yang digunakan pada imej dan penaakulan visual, yang menunjukkan cara bukti teks dan visual boleh memasuki tugas berbeza ini.
Pengekodan, dokumen dan alat
Model disasarkan untuk penerokaan pangkalan kod dan ejen kejuruteraan perisian, pembantu umum, pemahaman dokumen dan penyelidikan. Permintaan ejen pengekodan boleh menamakan modul yang hendak diubah, antara muka yang perlu dikekalkan dan tingkah laku yang sepatutnya terhasil. Berikan sumber berkaitan dan bukti kegagalan. Model boleh mencadangkan operasi seterusnya atau perubahan kod, manakala aplikasi menyediakan akses repositori, pelaksanaan dan maklum balas.
Untuk pengekstrakan dokumen, kenal pasti medan wajib dan cara mewakili maklumat yang tiada. Rekod yang berguna boleh memisahkan pengecam dokumen, pernyataan sumber, keperluan yang ditafsirkan dan soalan yang belum diselesaikan. Kad perkhidmatan pembuat menyenaraikan output berstruktur tersuai dan soal jawab dokumen; yang kedua menggunakan pemprosesan dokumen dan OCR untuk menyediakan teks dan struktur sebelum analisis model bahasa. Soalan imej langsung dan aliran kerja dokumen berbantukan OCR perlu mengekalkan penyediaan input masing-masing.
Panggilan fungsi memerlukan alat yang diterangkan dengan jelas. Model memilih fungsi dan mencipta argumen; aplikasi melaksanakan operasi dan mengembalikan hasilnya untuk jawapan kemudian. Logik yang sama terpakai sama ada tugas itu carian, pengiraan atau operasi pengekodan. Pemformatan JSON menyusun jawapan, manakala panggilan alat meminta tindakan luaran; kedua-duanya tidak patut dianggap sebagai hasil yang boleh saling ditukar.
Kad perkhidmatan turut menyenaraikan output ramalan, awalan respons, pemprosesan kelompok dan perbualan ejen. Output ramalan berguna apabila dokumen atau fail kod mesti dijana semula dengan perubahan terhad sahaja dan kandungan selebihnya diketahui. Nyatakan suntingan dan bahan yang perlu dikekalkan. Penyambungan awalan menggunakan permulaan respons yang diketahui, manakala pemprosesan kelompok berkaitan dengan penghantaran kerja dan bukannya mod penaakulan tambahan.
Batas konteks dan edisi
Rancang tugas bertulis, bahan visual, perbualan dan jawapan yang diingini mengikut konteks 256k yang didokumentasikan. Contoh penggunaan yang dikeluarkan mengkonfigurasi konteks 262,144 token, manakala contoh penjanaan 1,024 tokennya bukan kapasiti output maksimum berasingan. Sumber yang dibaca tidak memberikan had keras panjang jawapan bebas untuk menggantikan panjang tugas yang dipilih.
Small 4 mempunyai seni bina campuran pakar 119B dan mod hibridnya sendiri. Ia tidak patut mewarisi seni bina padat 128B Medium 3.5 atau edisi Instruct dan Reasoning Ministral 3 yang berasingan. Pembuat turut mengeluarkan artifak terkuantum dan penyahkodan spekulatif yang berbeza; itu artifak penyebaran berasingan dan bukannya modaliti kandungan yang berbeza. Kekalkan keluaran Small 4 yang dinamakan dan mod yang diminta untuk penjelasan, rekod berstruktur atau hasil kod sebenar.
Ailoot Ultra · Kelompok POST /v1/batches mistralai/mistral-small-2603:batch
mistralai/mistral-small-2603:batch
mistralai/mistral-small-2603:batchPengenalan
Mistral Small 4 ialah model teks dan imej hibrid dengan keupayaan arahan, penaakulan dan pengekodan. Keluaran campuran pakar 119B mengaktifkan 6.5B parameter bagi setiap token dan menyokong konteks 256k yang dinyatakan oleh pembuat, usaha penaakulan boleh pilih, JSON dan panggilan fungsi.
- Input yang diterima
- Teks
- Hasil
- Teks
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Kelompok POST /v1/batches
- Input
text- Output
text- Format output
- JSON results[].response.body sebaris
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanendpoint | Jenisstring | KeperluanDiperlukan | Nilai & had /v1/chat/completions | Lalai— |
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had mistralai/mistral-small-2603:batch | Lalai— |
Medanrequests | Jenisbatch_item[] | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
Medanrequests[].custom_id | Jenisstring | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanrequests[].body.messages | Jenismessage[] | KeperluanDiperlukan | Nilai & had | Lalai— |
Medancompletion_window | Jenisstring | KeperluanPilihan | Nilai & had 24h | Lalai— |
Medanprovider | Jenisobject|null | KeperluanPilihan | Nilai & had | Lalai— |
Medanrequests[].body.model | Jenisstring | KeperluanPilihan | Nilai & had mistralai/mistral-small-2603:batch, mistralai/mistral-small-2603 | Lalai— |
Medanprovider.only | Jenisstring[] | KeperluanPilihan | Nilai & had mistral | Lalai— |
Medanprovider.allow_fallbacks | Jenisboolean|null | KeperluanPilihan | Nilai & had false, null | Lalai— |
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakendpoint, model, requests |
Parametermaterial_types | Kontraktext |
Parameterrepresentation | Kontrakrequests[] sebaris; setiap item mempunyai custom_id dan body |
Parameterrequest_endpoint_profile | Kontrak/v1/chat/completions |
Parameterfile_material | KontrakPemanggil boleh membaca JSONL UTF-8 sebenar secara setempat ke dalam requests[]. Tiada tujuan muat naik, input_file_id atau rujukan fail digunakan. Bahan pelanggan yang tiada atau kosong menghentikan persediaan sebelum POST. |
Parameterserialization_order | Kontrakendpoint, model, provider (jika dibekalkan), completion_window (jika dibekalkan), requests di akhir |
Parameteroptional_controls | Kontrakprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | KontrakBadan permintaan Chat Completions teks dalam pembungkus Batch sebaris yang didokumenkan. |
Kitar hayat: asynchronous
GET /v1/batches/{operation_id} · response.id sebenar daripada respons penciptaan asal; pengguna/kunci/kumpulan yang sama
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
- Harga cache eksplisit
- Tidak diaktifkan Apabila cache eksplisit diminta
Kadar Ailoot
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.00015 / 1K token Output · Token output $0.0006 / 1K token Input · Bacaan cache $0.000015 / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input $0.00015 / 1K token Output · Token output $0.0006 / 1K token Input · Bacaan cache $0.000015 / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Kelompok
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/mistral-small-2603: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/mistral-small-2603:batch', 'mistralai/mistral-small-2603']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/mistral-small-2603: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 · Kelompok
JSON results[].response.body sebaris
GET /v1/batches/{operation_id}
Semak 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, fail dan bahagian kandungan yang dikembalikan.
Simpan keseluruhan JSON status asal, setiap hasil/custom_id serta badan respons atau ralat yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penapisan.
Jika respons asal perlu disemak
Simpan ID operasi asal. 503 result_pending_check mempunyai X-Should-Retry:false; jangan sekali-kali hantar semula kelompok asal yang hasilnya tidak diketahui.
Medan respons
| Medan | Jenis |
|---|---|
Medanresults[].custom_id | Jenisstring |
Medanresults[].response.body.choices[].message.content | Jenisstring|null |
Medanresults[].error | Jenisobject|null |
Medanusage | Jenisobject|null |
Medanid | Jenisstring |
Medanmodel | Jenisstring |
Medanendpoint | Jenisstring |
Medanstatus | Jenisstring |
Medanrequest_counts | Jenisobject |
Medanresults[].id | Jenisstring |
Medanresults[].response.status_code | Jenisinteger |
Medanresults[].response.request_id | Jenisstring |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratPembungkus sebaris yang didokumenkan tidak sah, kunci berulang, identiti item atau keupayaan model yang dikonfigurasikan bercanggah. | Langkah seterusnyaBetulkan medan yang dinyatakan sebelum sebarang penghantaran baharu. |
Respons401 · authentication_error | SyaratKunci API tidak sah. | Langkah seterusnyaGunakan kunci Ailoot yang dibenarkan. |
Respons403 · permission_error | SyaratKumpulan kelompok tidak tersedia. | Langkah seterusnyaSemak hak akses kunci/kumpulan. |
Respons422 · invalid_request_error | SyaratKelompok menggunakan pengebilan baki; penciptaan melalui langganan ditolak. | Langkah seterusnyaGunakan kumpulan yang dibenarkan untuk pengebilan melalui baki. |
Respons422 · price_unavailable | SyaratSebut harga tidak dapat diberikan untuk input kelompok. | Langkah seterusnyaSimpan respons; gunakan input keluarga API yang didokumenkan. |
Respons402 · billing_error | SyaratRizab kelompok tidak tersedia. | Langkah seterusnyaSelesaikan isu penerimaan permintaan sebelum menghantar permintaan baharu. |
Respons503 · price_unavailable | SyaratHarga kaedah kelompok/kadar natif tidak tersedia. | Langkah seterusnyaSimpan respons; jangan gantikan harga. |
Respons503 · api_error | SyaratLaluan pembekal yang tepat tidak tersedia. | Langkah seterusnyaSimpan respons untuk pembaikan laluan. |
Respons503 · result_pending_check | SyaratHasil asal memerlukan semakan; X-Should-Retry:false. | Langkah seterusnyaSimpan operation_id/id asal dan baca statusnya; jangan sekali-kali ulang POST asal. |
Respons404 · not_found | SyaratOperasi status kelompok tiada atau dimiliki oleh identiti lain. | Langkah seterusnyaGunakan id asal yang tepat serta pengguna/kunci/kumpulan yang sama. |
Alias
Alias model
Ailoot Ultra mistralai/mistral-small-2603:batch
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · Mistral: Mistral Small 4 (batch)
- Apakah input dan hasil yang tersedia?
POST /v1/batches·mistralai/mistral-small-2603:batch:text→text- Apakah medan yang digunakan oleh permintaan?
POST /v1/batches·mistralai/mistral-small-2603:batch:endpoint,model,requests,completion_window,provider- Apakah had yang terpakai?
POST /v1/batches·mistralai/mistral-small-2603:batch:requests.min_items:1