Source: https://ailoot.ai/models/ms/mistralai-codestral-2508-u003a-batch/
Canonical: https://ailoot.ai/models/ms/mistralai-codestral-2508-u003a-batch/
Language: ms

# Mistral: Codestral 2508 (batch)

[Markdown](https://ailoot.ai/models/ms/mistralai-codestral-2508-u003a-batch/index.md) · [JSON](https://ailoot.ai/models/ms/mistralai-codestral-2508-u003a-batch/facts.json)

## [Mistral: Codestral 2508 (batch)](https://ailoot.ai/models/ms/mistralai-codestral-2508-u003a-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.

- [**Ailoot Ultra · Kelompok** `POST /v1/batches` `mistralai/codestral-2508:batch`](https://ailoot.ai/models/ms/mistralai-codestral-2508-u003a-batch/#method-0)

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`](https://ailoot.ai/models/ms/#m=mistralai%2Fcodestral-2508%3Abatch&route=Ultra&caller=mistralai%2Fcodestral-2508%3Abatch&fmt=batches)

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

| Medan | Jenis | Keperluan | Nilai & had | Lalai |
| --- | --- | --- | --- | --- |
| Medan`endpoint` | Jenis`string` | KeperluanDiperlukan | Nilai & had /v1/chat/completions | Lalai— |
| Medan`model` | Jenis`string` | KeperluanDiperlukan | Nilai & had mistralai/codestral-2508:batch | Lalai— |
| Medan`requests` | Jenis`batch_item[]` | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
| Medan`requests[].custom_id` | Jenis`string` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`requests[].body.messages` | Jenis`message[]` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`completion_window` | Jenis`string` | KeperluanPilihan | Nilai & had 24h | Lalai— |
| Medan`provider` | Jenis`object\|null` | KeperluanPilihan | Nilai & had | Lalai— |
| Medan`requests[].body.model` | Jenis`string` | KeperluanPilihan | Nilai & had mistralai/codestral-2508:batch, mistralai/codestral-2508 | Lalai— |
| Medan`provider.only` | Jenis`string[]` | KeperluanPilihan | Nilai & had mistral | Lalai— |
| Medan`provider.allow_fallbacks` | Jenis`boolean\|null` | KeperluanPilihan | Nilai & had false, null | Lalai— |

Parameter kaedah dan kitar hayat

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakendpoint, model, requests |
| Parameter`material_types` | Kontraktext |
| Parameter`representation` | Kontrakrequests\[\] sebaris; setiap item mempunyai custom\_id dan body |
| Parameter`request_endpoint_profile` | Kontrak/v1/chat/completions |
| Parameter`file_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. |
| Parameter`serialization_order` | Kontrakendpoint, model, provider (jika dibekalkan), completion\_window (jika dibekalkan), requests di akhir |
| Parameter`optional_controls` | Kontrakprovider.only, provider.allow\_fallbacks, completion\_window |
| Parameter`schema_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.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 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasukTiada had atas | Caj 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 →](https://ailoot.ai/docs/ms/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · Kelompok

curl · data ujian yang disimpanPython HTTP · JSONL sebenar pelangganPython · simpan setiap hasil yang telah siap

```bash
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
```

```python
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"))
```

```python
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

```bash
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 |
| --- | --- |
| Medan`results[].custom_id` | Jenisstring |
| Medan`results[].response.body.choices[].message.content` | Jenisstring\|null |
| Medan`results[].error` | Jenisobject\|null |
| Medan`usage` | Jenisobject\|null |
| Medan`id` | Jenisstring |
| Medan`model` | Jenisstring |
| Medan`endpoint` | Jenisstring |
| Medan`status` | Jenisstring |
| Medan`request_counts` | Jenisobject |
| Medan`results[].id` | Jenisstring |
| Medan`results[].response.status_code` | Jenisinteger |
| Medan`results[].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/codestral-2508:batch`](https://ailoot.ai/models/ms/#m=mistralai%2Fcodestral-2508%3Abatch&route=Ultra&caller=mistralai%2Fcodestral-2508%3Abatch&fmt=batches)

#### Alias laluan kaedah

Gunakan laluan kaedah yang dipaparkan di atas.

#### ID pemanggil berkaitan

[`mistralai/codestral-2508:batch`](https://ailoot.ai/models/ms/#m=mistralai%2Fcodestral-2508%3Abatch&route=Ultra&caller=mistralai%2Fcodestral-2508%3Abatch&fmt=batches)

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`

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](https://ailoot.ai/docs/ms/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/ms/)

## 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](mailto:support@ailoot.ai) · [Tawaran dan perjanjian lesen](https://ailoot.ai/legal/offer?lang=ms)

## Ailoot · Syarikat dan portfolio projeknya





Ailoot berteraskan pengalaman operasi yang mantap, pangkalan pelanggan yang besar, perkhidmatan yang stabil dan pemantauan KPI berterusan.





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





Ailoot menggunakan pengalaman operasi ini untuk akses API kepada ciri AI dalam produk pelanggan, ejen, aplikasi dan automasi.
