model

Mistral: Codestral 2508 (batch)

Markdown · JSON

Mistral: Codestral 2508 (batch)

Codestral 2508 ialah model teks Mistral AI untuk penjanaan kod dan pelengkapan peka konteks. Ia dioptimumkan untuk tugas penyunting yang kerap, termasuk pengisian bahagian tengah dan suntingan berbilang baris, dengan konteks 128k yang dinyatakan oleh pembuat serta ciri sembang, output berstruktur dan alat yang didokumentasikan.

Tentang model

Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.

Codestral 2508 ialah model pengekodan Mistral AI untuk tugas pelengkapan dan penjanaan yang kerap serta sensitif kepada kependaman. Ia menerima kod sumber dan keperluan bertulis lalu mengembalikan teks yang boleh mengandungi pelaksanaan, pelengkapan, pembetulan atau penjelasan. Edisi bernama 2508 menumpukan konteks penyuntingan semasa pembangun, bukannya model pembenaman atau ejen repositori lengkap dengan sendirinya.

Pelengkapan kod dan kemas kini 2508

Pembuat menyasarkan Codestral untuk pelengkapan pengisian bahagian tengah dan penyuntingan berbilang baris. Keluaran ini menerangkan penambahbaikan dalam tingkah laku pelengkapan, termasuk mengurangkan penjanaan yang berlanjutan tanpa kawalan, bersama penambahbaikan pada kepatuhan arahan dan tugas kod dalam mod sembang. Ini ialah perubahan pada edisi Codestral ini; ciri perolehan maklumat dan ejen autonomi dalam susunan pengekodan sekeliling dimiliki oleh komponen lain yang dinamakan secara berasingan.

Untuk tugas pelengkapan, kekalkan tandatangan fungsi, pengisytiharan dan konteks panggilan yang berkaitan bersama kedudukan kursor. Kenal pasti sama ada hasil yang diingini hanyalah kod yang tiada atau fungsi lengkap yang telah disemak semula. Permintaan gaya penyunting boleh meminta badan gelung yang mengekalkan jenis pulangan sedia ada, mengekalkan nilai pendua dan tidak mengubah input pemanggil. Hasilnya kemudian mempunyai titik sisipan konkrit dan tingkah laku yang ditakrifkan.

Penyediaan pengisian bahagian tengah

Dalam antara muka FIM pembuat, prom membekalkan teks atau kod untuk dilengkapkan dan akhiran pilihan membekalkan bahan selepas ruang kosong. Apabila kedua-duanya diberikan, model mengisi ruang di antaranya. Tanpa akhiran, ia menyambung daripada prom. Ini berbeza daripada permintaan perbualan biasa yang meminta perubahan kod dan penjelasan; setiap gaya penyediaan mentakrifkan kontrak output yang berbeza.

Input pelengkapan ruang kosong yang berguna merangkumi permulaan fungsi, kod yang mesti menyusuli sisipan dan sebarang takrif jenis atau fungsi pembantu yang berkaitan. Kekalkan pengengsotan dan pembatas supaya teks yang dikembalikan boleh dimuatkan ke dalam fragmen sedia ada. Jika tugas hanya memerlukan badan yang tiada, minta badan itu dan bukannya penulisan semula seluruh fail. Soalan sembang berasingan boleh menerangkan sebab fragmen yang dilengkapkan memenuhi keperluan.

Dokumentasi FIM rasmi membenarkan bajet token output dan mensyaratkan prom bersama bajet itu kekal dalam konteks model. Ia turut mendokumentasikan jujukan henti dan penstriman kandungan yang dijana. Pilih aliran kerja pelengkapan apabila hasil mesti muat dalam ruang kod, dan aliran kerja perbualan apabila tugas meminta kod bersama penjelasan.

Konteks dan ciri sokongan

Halaman model memberikan tetingkap konteks 128k. Gunakan konteks untuk mengekalkan sumber dan pengisytiharan yang menentukan perubahan yang dimaksudkan, sambil memastikan tugas penyuntingan sebenar jelas. Untuk permintaan pembaikan pepijat, berikan fungsi yang terjejas, input gagal yang konkrit, hasil yang dijangka dan ralat atau tingkah laku yang diperhatikan. Minta pembetulan yang dicadangkan secara berasingan daripada penjelasan dan contohnya.

Halaman itu turut menyenaraikan output berstruktur, panggilan fungsi, output ramalan, soal jawab dokumen, awalan respons dan pemprosesan kelompok bersama keupayaan sembang dan FIM. Untuk hasil semakan kod berstruktur, takrifkan medan seperti simbol yang terjejas, ketidakpadanan yang diperhatikan, perubahan yang dicadangkan dan andaian yang masih memerlukan penjelasan. Panduan output berstruktur Mistral membezakan mod JSON daripada skema tersuai, dengan format JSON yang diingini dinyatakan dalam prom.

Output ramalan ditujukan untuk kandungan yang sebahagian besar jawapannya sudah diketahui. Ia boleh digunakan apabila menjana semula dokumen atau fail kod dengan suntingan terhad sambil mengekalkan kandungan selebihnya. Nyatakan perubahan tepat dan bahan yang mesti dikekalkan. Sebaliknya, awalan respons membekalkan permulaan yang diketahui untuk diteruskan oleh penjanaan; ia berbeza daripada badan penuh yang diketahui mahupun akhiran FIM.

Soalan dokumentasi boleh menggunakan aliran kerja pemprosesan dokumen pembuat untuk menyediakan teks dan struktur melalui OCR sebelum analisis model bahasa. Untuk bahan pengaturcaraan yang sudah tersedia sebagai teks, berikan petikan dokumentasi berkaitan dan tanya syarat yang mengawal pelaksanaan. Kekalkan setiap keperluan yang diekstrak bersama bahagian sumbernya supaya kod atau penjelasan yang dijana kekal berkaitan dengan spesifikasi yang diberikan.

Alat dan hasil praktikal

Panggilan fungsi membolehkan aplikasi menyediakan operasi yang diterangkan dan parameternya. Model menyediakan panggilan, aplikasi melaksanakannya dan hasil yang dikembalikan menjadi konteks untuk jawapan seterusnya. Pembantu kod mungkin menerima hasil carian atau hasil pengiraan melalui kitaran itu, tetapi penyusunan, pengujian atau penerapan perubahan yang dicadangkan masih memerlukan persekitaran pembangunan sekeliling.

Untuk pembetulan praktikal, takrifkan antara muka awam yang mesti kekal serasi dan minta fragmen yang disemak, penjelasan ringkas dan contoh input dengan output yang dijangka. Untuk fungsi yang dijana, nyatakan jenis yang diterima dan keadaan pinggir. Untuk penjelasan, berikan input yang hendak dijejaki supaya jawapan menghubungkan laluan pelaksanaan konkrit dengan nilai pulangannya.

Codestral menghasilkan teks. Ia tidak mewarisi vektor carian kod daripada Codestral Embed, automasi repositori daripada Devstral atau penjanaan imej daripada model visual. Halaman model 2508 yang khusus ini tidak menerbitkan bilangan parameter atau panjang jawapan maksimum berasingan yang boleh dipinjam daripada keluaran lain. Kekalkan edisi bernama, konteks pengekodan dan artifak yang diperlukan semasa menyediakan aliran kerja penyunting atau sembang yang boleh diulang.

Ailoot Ultra · Kelompok POST /v1/batches mistralai/codestral-2508:batch

mistralai/codestral-2508:batch

Mistral /mistralai/codestral-2508:batch

Pengenalan

Codestral 2508 ialah model teks Mistral AI untuk penjanaan kod dan pelengkapan peka konteks. Ia dioptimumkan untuk tugas penyunting yang kerap, termasuk pengisian bahagian tengah dan suntingan berbilang baris, dengan konteks 128k yang dinyatakan oleh pembuat serta ciri sembang, output berstruktur dan alat yang didokumentasikan.

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
MedanJenisKeperluanNilai & hadLalai
MedanendpointJenisstringKeperluanDiperlukanNilai & had
/v1/chat/completions
Lalai—
MedanmodelJenisstringKeperluanDiperlukanNilai & had
mistralai/codestral-2508:batch
Lalai—
MedanrequestsJenisbatch_item[]KeperluanDiperlukanNilai & had
Item minimum: 1
Lalai—
Medanrequests[].custom_idJenisstringKeperluanDiperlukanNilai & hadLalai—
Medanrequests[].body.messagesJenismessage[]KeperluanDiperlukanNilai & hadLalai—
Medancompletion_windowJenisstringKeperluanPilihanNilai & had
24h
Lalai—
MedanproviderJenisobject|nullKeperluanPilihanNilai & hadLalai—
Medanrequests[].body.modelJenisstringKeperluanPilihanNilai & had
mistralai/codestral-2508:batch, mistralai/codestral-2508
Lalai—
Medanprovider.onlyJenisstring[]KeperluanPilihanNilai & had
mistral
Lalai—
Medanprovider.allow_fallbacksJenisboolean|nullKeperluanPilihanNilai & had
false, null
Lalai—
Parameter kaedah dan kitar hayat
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakendpoint, model, requests
Parametermaterial_typesKontraktext
ParameterrepresentationKontrakrequests[] sebaris; setiap item mempunyai custom_id dan body
Parameterrequest_endpoint_profileKontrak/v1/chat/completions
Parameterfile_materialKontrakPemanggil 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_orderKontrakendpoint, model, provider (jika dibekalkan), completion_window (jika dibekalkan), requests di akhir
Parameteroptional_controlsKontrakprovider.only, provider.allow_fallbacks, completion_window
Parameterschema_scopeKontrakBadan 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.

KonfigurasiJadual kadarToken konteks, melebihiToken konteks, sehingga dan termasukCaj
KonfigurasiKadar asas tokenJadual kadarKadar asasToken konteks, melebihi—Token konteks, sehingga dan termasukTiada had atasCaj
Input · Token input $0.0003 / 1K token
Output · Token output $0.0009 / 1K token
Input · Bacaan cache $0.00003 / 1K token
Input · Penulisan cache — / 1K token
Input · Penulisan cache, 1 jam — / 1K token
KonfigurasiTahap panjang permintaan 1Jadual kadar—Token konteks, melebihi0Token konteks, sehingga dan termasukTiada had atasCaj
Input · Token input $0.0003 / 1K token
Output · Token output $0.0009 / 1K token
Input · Bacaan cache $0.00003 / 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

curl · data ujian yang disimpanPython HTTP · JSONL sebenar pelangganPython · simpan setiap hasil yang telah siap
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/codestral-2508: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/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"mistralai/codestral-2508: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
curl · status operasi asal
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
MedanJenis
Medanresults[].custom_idJenisstring
Medanresults[].response.body.choices[].message.contentJenisstring|null
Medanresults[].errorJenisobject|null
MedanusageJenisobject|null
MedanidJenisstring
MedanmodelJenisstring
MedanendpointJenisstring
MedanstatusJenisstring
Medanrequest_countsJenisobject
Medanresults[].idJenisstring
Medanresults[].response.status_codeJenisinteger
Medanresults[].response.request_idJenisstring
Ralat dan langkah seterusnya
ResponsSyaratLangkah seterusnya
Respons400 · invalid_request_errorSyaratPembungkus 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_errorSyaratKunci API tidak sah.Langkah seterusnyaGunakan kunci Ailoot yang dibenarkan.
Respons403 · permission_errorSyaratKumpulan kelompok tidak tersedia.Langkah seterusnyaSemak hak akses kunci/kumpulan.
Respons422 · invalid_request_errorSyaratKelompok menggunakan pengebilan baki; penciptaan melalui langganan ditolak.Langkah seterusnyaGunakan kumpulan yang dibenarkan untuk pengebilan melalui baki.
Respons422 · price_unavailableSyaratSebut harga tidak dapat diberikan untuk input kelompok.Langkah seterusnyaSimpan respons; gunakan input keluarga API yang didokumenkan.
Respons402 · billing_errorSyaratRizab kelompok tidak tersedia.Langkah seterusnyaSelesaikan isu penerimaan permintaan sebelum menghantar permintaan baharu.
Respons503 · price_unavailableSyaratHarga kaedah kelompok/kadar natif tidak tersedia.Langkah seterusnyaSimpan respons; jangan gantikan harga.
Respons503 · api_errorSyaratLaluan pembekal yang tepat tidak tersedia.Langkah seterusnyaSimpan respons untuk pembaikan laluan.
Respons503 · result_pending_checkSyaratHasil asal memerlukan semakan; X-Should-Retry:false.Langkah seterusnyaSimpan operation_id/id asal dan baca statusnya; jangan sekali-kali ulang POST asal.
Respons404 · not_foundSyaratOperasi 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/codestral-2508:batch

Alias laluan kaedah

Gunakan laluan kaedah yang dipaparkan di atas.

ID pemanggil berkaitan

mistralai/codestral-2508:batch

FAQ · Mistral: Codestral 2508 (batch)
Apakah input dan hasil yang tersedia?

POST /v1/batches · mistralai/codestral-2508:batch: text → text

Apakah medan yang digunakan oleh permintaan?

POST /v1/batches · mistralai/codestral-2508:batch: endpoint, model, requests, completion_window, provider

Apakah had yang terpakai?

POST /v1/batches · mistralai/codestral-2508:batch: requests.min_items: 1

Butiran lanjut

Sambungkan Ailoot kepada Claude Code, OpenCode, Hermes atau aplikasi anda.

Syarikat dan portfolio projeknya

Syarikat dan portfolio projeknya: jutaan pelanggan; jualan bernilai berbilion setiap bulan.

Beli token dengan diskaun.

Diskaun langganan untuk penggunaan berkala. Kod promosi — sehingga 50% bagi pembelian token.

Langganan
Pilih pelan berdiskaun untuk permintaan berkala anda.
Kod promosi sehingga 50%
Masukkan kod semasa pembelian. Harga dikira semula mengikut promosi semasa.
Perbelanjaan dalam sejarah
Model, token dan jumlah disimpan bagi setiap permintaan.

Pilih langganan · Lihat harga model

Sambungkan API kepada produk yang anda jual.

SaaS, aplikasi dan bot — di bawah tawaran rasmi serta perjanjian lesen Ailoot. Untuk jualan semula, mohon lesen penjual semula.

Aplikasi komersial
Tambahkan penjanaan teks, imej, video dan audio pada ciri berbayar perkhidmatan anda.
Lesen penjual semula
Hantar keterangan projek dan susunan akses. Minta terma penggunaan serta jualan semula secara bertulis.
Dokumen pada laman
Tawaran, perjanjian lesen dan dasar pemprosesan data tersedia sebelum sambungan.

Mohon lesen penjual semula · Tawaran dan perjanjian lesen