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

# Mistral: Codestral 2508 (batch)

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

## [Mistral: Codestral 2508 (batch)](https://ailoot.ai/models/cs/mistralai-codestral-2508-u003a-batch/)

Codestral 2508 je textový model Mistral AI pro generování kódu a doplňování podle kontextu. Je optimalizovaný pro časté úlohy v editoru, včetně doplňování uprostřed textu a víceřádkových úprav, s kontextem 128 tisíc tokenů uváděným výrobcem a zdokumentovanými konverzačními funkcemi, strukturovaným výstupem a nástroji.

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

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Codestral 2508 je programátorský model Mistral AI pro časté úlohy doplňování a generování citlivé na latenci. Přijímá zdrojový kód a textové požadavky a vrací text, který může obsahovat implementaci, doplnění, opravu nebo vysvětlení. Pojmenovaná edice 2508 se zaměřuje na aktuální kontext úprav vývojáře; sama o sobě není embeddingovým modelem ani kompletním agentem pro repozitář.

Doplňování kódu a aktualizace 2508

Výrobce určuje Codestral pro doplňování uprostřed textu a víceřádkové úpravy. Vydání popisuje vylepšení chování při doplňování, včetně omezení nekontrolovaného generování, spolu se zlepšením dodržování pokynů a programátorských úloh v konverzačním režimu. Jde o změny této edice Codestral; vyhledávání a funkce autonomního agenta v okolním programátorském prostředí patří samostatně pojmenovaným složkám.

Pro úlohu doplňování ponechte příslušnou signaturu funkce, deklarace a kontext volání spolu s pozicí kurzoru. Určete, zda má být výsledkem jen chybějící kód, nebo celá upravená funkce. Požadavek ve stylu editoru může žádat tělo smyčky, které zachová existující návratový typ, ponechá duplicitní hodnoty a nezmění vstup volajícího. Výsledek pak má konkrétní místo vložení a definované chování.

Příprava doplňování uprostřed textu

V rozhraní FIM od výrobce prompt obsahuje text nebo kód k doplnění a volitelný suffix obsahuje materiál za mezerou. Jsou-li dodány oba, model vyplní prostor mezi nimi. Bez suffixu pokračuje od promptu. To se liší od běžného konverzačního požadavku, který žádá změnu kódu a vysvětlení; každý způsob přípravy definuje jiný výstupní kontrakt.

Užitečný vstup pro vyplnění mezery obsahuje začátek funkce, kód, který musí následovat za vloženým úsekem, a případné relevantní definice typů nebo pomocných funkcí. Zachovejte odsazení a oddělovače, aby vrácený text zapadl do existujícího fragmentu. Potřebuje-li úloha pouze chybějící tělo, požadujte toto tělo místo přepisu celého souboru. Samostatná konverzační otázka může vysvětlit, proč doplněný fragment splňuje požadavek.

Oficiální dokumentace FIM umožňuje rozpočet výstupních tokenů a vyžaduje, aby prompt spolu s tímto rozpočtem zůstal v kontextu modelu. Dokumentuje také zastavovací sekvence a průběžné streamování generovaného obsahu. Postup doplňování zvolte, pokud se výsledek musí vejít do mezery v kódu; konverzační postup použijte, pokud úloha žádá kód společně s vysvětlením.

Kontext a podpůrné funkce

Stránka modelu uvádí kontextové okno 128 tisíc tokenů. Kontext využijte k zachování zdrojů a deklarací, které určují zamýšlenou změnu, přičemž samotnou úlohu úprav ponechte výslovnou. Pro opravu chyby dodejte dotčenou funkci, konkrétní selhávající vstup, očekávaný výsledek a chybu nebo pozorované chování. Navrženou opravu požadujte odděleně od vysvětlení a příkladů.

Stránka vedle konverzačních schopností a FIM uvádí také strukturované výstupy, volání funkcí, předpovězené výstupy, odpovídání na otázky k dokumentům, prefixy odpovědí a dávkové zpracování. Pro strukturovaný výsledek kontroly kódu definujte pole, například dotčený symbol, pozorovaný nesoulad, navrženou změnu a předpoklad, který stále potřebuje upřesnění. Pokyny Mistral ke strukturovanému výstupu rozlišují režim JSON a vlastní schéma, přičemž požadovaný formát JSON je uveden v promptu.

Předpovězené výstupy jsou určeny pro obsah, v němž jsou podstatné části odpovědi již známy. Lze je použít při opětovném generování dokumentu nebo souboru kódu s omezenou úpravou a zachováním zbývajícího obsahu. Určete přesnou změnu a materiál, který musí zůstat. Prefix odpovědi naopak dodává známý začátek, od něhož generování pokračuje; liší se od známého celého obsahu i od suffixu FIM.

Otázka k dokumentaci může využít postup zpracování dokumentů výrobce, který před analýzou jazykovým modelem připraví text a strukturu pomocí OCR. U programátorských podkladů již dostupných jako text dodejte relevantní pasáže dokumentace a zeptejte se, která podmínka řídí implementaci. Každý extrahovaný požadavek udržujte propojený s jeho zdrojovou sekcí, aby vygenerovaný kód nebo vysvětlení zůstaly navázané na dodanou specifikaci.

Nástroje a praktické výsledky

Volání funkcí umožňuje aplikaci poskytnout popsané operace a jejich parametry. Model připraví volání, aplikace je provede a vrácený výsledek se stane kontextem pro další odpověď. Programátorský asistent může v tomto cyklu obdržet výsledek vyhledání nebo výpočtu, ale kompilace, testování či použití navržené změny stále vyžadují okolní vývojové prostředí.

Pro praktickou opravu definujte veřejné rozhraní, které musí zůstat kompatibilní, a požádejte o upravený fragment, stručné vysvětlení a ukázkové vstupy s očekávanými výstupy. U generované funkce uveďte přijímané typy a okrajové podmínky. Pro vysvětlení dodejte vstup, jehož průchod se má sledovat, aby odpověď spojila konkrétní cestu vykonávání s vrácenou hodnotou.

Codestral vytváří text. Nepřebírá vektory pro vyhledávání kódu z Codestral Embed, automatizaci repozitáře z Devstral ani generování obrázků z vizuálního modelu. Stránka přesného modelu 2508 nezveřejňuje počet parametrů ani samostatnou maximální délku odpovědi, které by bylo možné převzít z jiného vydání. Při přípravě opakovatelného postupu v editoru nebo konverzaci zachovejte pojmenovanou edici, programátorský kontext a požadovaný artefakt.

**Ailoot Ultra · Dávka** `POST /v1/batches` `mistralai/codestral-2508:batch`

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

Mistral /`mistralai/codestral-2508:batch`

### Úvod

Codestral 2508 je textový model Mistral AI pro generování kódu a doplňování podle kontextu. Je optimalizovaný pro časté úlohy v editoru, včetně doplňování uprostřed textu a víceřádkových úprav, s kontextem 128 tisíc tokenů uváděným výrobcem a zdokumentovanými konverzačními funkcemi, strukturovaným výstupem a nástroji.

Přijímané vstupy

Text

Výsledky

Text

### Dostupné v Ailoot · vstupy a metody

**Ailoot Ultra · Dávka** `POST /v1/batches`

Vstup

`text`

Výstup

`text`

Výstupní formát

vložený JSON v results\[\].response.body

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`endpoint` | Typ`string` | PožadavekPovinné | Hodnoty a limity /v1/chat/completions | Výchozí— |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity mistralai/codestral-2508:batch | Výchozí— |
| Pole`requests` | Typ`batch_item[]` | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
| Pole`requests[].custom_id` | Typ`string` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`requests[].body.messages` | Typ`message[]` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`completion_window` | Typ`string` | PožadavekVolitelné | Hodnoty a limity 24h | Výchozí— |
| Pole`provider` | Typ`object\|null` | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
| Pole`requests[].body.model` | Typ`string` | PožadavekVolitelné | Hodnoty a limity mistralai/codestral-2508:batch, mistralai/codestral-2508 | Výchozí— |
| Pole`provider.only` | Typ`string[]` | PožadavekVolitelné | Hodnoty a limity mistral | Výchozí— |
| Pole`provider.allow_fallbacks` | Typ`boolean\|null` | PožadavekVolitelné | Hodnoty a limity false, null | Výchozí— |

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktendpoint, model, requests |
| Parametr`material_types` | Kontrakttext |
| Parametr`representation` | Kontraktvložené requests\[\]; každá položka obsahuje custom\_id a body |
| Parametr`request_endpoint_profile` | Kontrakt/v1/chat/completions |
| Parametr`file_material` | KontraktVolající může lokálně načíst skutečný soubor JSONL v kódování UTF-8 do requests\[\]. Nepoužívá se účel nahrání, input\_file\_id ani odkaz na soubor. Chybějící nebo prázdné podklady zákazníka zastaví přípravu před POST. |
| Parametr`serialization_order` | Kontraktendpoint, model, provider (je-li uveden), completion\_window (je-li uvedeno), requests nakonec |
| Parametr`optional_controls` | Kontraktprovider.only, provider.allow\_fallbacks, completion\_window |
| Parametr`schema_scope` | KontraktTěla požadavků Text Chat Completions v dokumentované obálce pro vložené dávkové požadavky Batch. |

Životní cyklus: `asynchronous`

`GET /v1/batches/{operation_id}` · skutečné response.id z původní odpovědi na vytvoření; stejný uživatel, klíč a skupina

### Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim

Neuvedeno Při výběru rychlého režimu

Režim flex

Neuvedeno Při výběru režimu flex

Maximální intenzita uvažování

Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Ceny explicitní mezipaměti

Není zapnuto Při požadavku na explicitní mezipaměť

#### Sazby Ailoot

#### Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.0003** / 1K tokenů Výstup · Výstupní tokeny **$0.0009** / 1K tokenů Vstup · Čtení z mezipaměti **$0.00003** / 1K tokenů Vstup · Zápis do mezipaměti **—** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.0003** / 1K tokenů Výstup · Výstupní tokeny **$0.0009** / 1K tokenů Vstup · Čtení z mezipaměti **$0.00003** / 1K tokenů Vstup · Zápis do mezipaměti **—** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot Ultra · Dávka

curl · uložená testovací dataPython HTTP · skutečná data zákazníka ve formátu JSONLPython · uložte každý dokončený výsledek

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

### Přijímání a ukládání výsledků

#### Ailoot Ultra · Dávka

vložený JSON v results\[\].response.body

- `GET /v1/batches/{operation_id}`

##### Ověřit stav úlohy

curl · stav původní operace

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

##### Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Uchovejte úplný původní JSON se stavem, každý výsledek a custom\_id a úplné tělo odpovědi nebo chyby. Dokončené results\[\] uložte jako JSONL bez filtrování.

##### Pokud je nutné ověřit původní odpověď

Uchovejte původní ID operace. Odpověď 503 result\_pending\_check obsahuje X-Should-Retry:false; původní dávku s neznámým výsledkem nikdy znovu neodesílejte.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`results[].custom_id` | Typstring |
| Pole`results[].response.body.choices[].message.content` | Typstring\|null |
| Pole`results[].error` | Typobject\|null |
| Pole`usage` | Typobject\|null |
| Pole`id` | Typstring |
| Pole`model` | Typstring |
| Pole`endpoint` | Typstring |
| Pole`status` | Typstring |
| Pole`request_counts` | Typobject |
| Pole`results[].id` | Typstring |
| Pole`results[].response.status_code` | Typinteger |
| Pole`results[].response.request_id` | Typstring |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná dokumentovaná obálka vložených požadavků, duplicitní klíče, nesprávná identita položky nebo rozpor s nastavenými schopnostmi modelu. | Další krokPřed jakýmkoli novým odesláním opravte označená pole. |
| Odpověď401 · `authentication_error` | PodmínkaNeplatný klíč API. | Další krokPoužijte autorizovaný klíč Ailoot. |
| Odpověď403 · `permission_error` | PodmínkaSkupina pro dávkové požadavky není dostupná. | Další krokZkontrolujte oprávnění klíče a skupiny. |
| Odpověď422 · `invalid_request_error` | PodmínkaDávkové požadavky se účtují ze zůstatku; vytvoření v rámci předplatného se odmítá. | Další krokPoužijte autorizovanou skupinu s účtováním ze zůstatku. |
| Odpověď422 · `price_unavailable` | PodmínkaPro vstup dávky nelze vypočítat cenovou nabídku. | Další krokUchovejte odpověď; použijte dokumentovaný vstup pro danou rodinu API. |
| Odpověď402 · `billing_error` | PodmínkaRezerva pro dávku není dostupná. | Další krokPřed novým požadavkem vyřešte podmínky přijetí. |
| Odpověď503 · `price_unavailable` | PodmínkaCena dávkové metody nebo nativní sazby nejsou dostupné. | Další krokUchovejte odpověď; nenahrazujte ceny jinými. |
| Odpověď503 · `api_error` | PodmínkaPřesná trasa dodavatele není dostupná. | Další krokUchovejte odpověď pro opravu směrování. |
| Odpověď503 · `result_pending_check` | PodmínkaPůvodní výsledek vyžaduje kontrolu; X-Should-Retry:false. | Další krokUchovejte původní operation\_id/id a načítejte jeho stav; původní POST nikdy neopakujte. |
| Odpověď404 · `not_found` | PodmínkaOperace pro kontrolu stavu dávky neexistuje nebo patří jiné identitě. | Další krokPoužijte přesné původní id a stejného uživatele, klíč a skupinu. |

### Aliasy

#### Aliasy modelu

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

#### Aliasy cest metod

Použijte cesty metod uvedené výše.

#### Související ID modelů

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

FAQ · Mistral: Codestral 2508 (batch)

Jaké vstupy a výsledky jsou dostupné?

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

Jaká pole požadavek používá?

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

Jaké limity platí?

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

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

## Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

## Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné

Pro pravidelné požadavky vyberte tarif se slevou.

Promo kód až 50%

Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.

Výdaje v historii

U každého požadavku se uloží model, tokeny a částka.

[Vybrat předplatné](https://ailoot.ai/docs/cs/billing/subscriptions/) · [Zobrazit ceny modelů](https://ailoot.ai/models/cs/)

## Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace

Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.

Licence pro přeprodejce

Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.

Dokumenty na webu

Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

[Požádat o licenci přeprodejce](mailto:support@ailoot.ai) · [Nabídka a licenční smlouva](https://ailoot.ai/legal/offer?lang=cs)

## Ailoot · Společnost a její portfolio projektů





Ailoot staví na dlouhodobých provozních zkušenostech, široké klientské základně, stabilních službách a průběžném sledování KPI.





Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.





Ailoot využívá tyto provozní zkušenosti k poskytování přístupu přes API k funkcím AI v produktech zákazníků, agentech, aplikacích a automatizacích.
