modely

Mistral: Codestral 2508 (batch)

Markdown · JSON

Mistral: Codestral 2508 (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.

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

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
PoleTypPožadavekHodnoty a limityVýchozí
PoleendpointTypstringPožadavekPovinnéHodnoty a limity
/v1/chat/completions
Výchozí—
PolemodelTypstringPožadavekPovinnéHodnoty a limity
mistralai/codestral-2508:batch
Výchozí—
PolerequestsTypbatch_item[]PožadavekPovinnéHodnoty a limity
Minimální počet položek: 1
Výchozí—
Polerequests[].custom_idTypstringPožadavekPovinnéHodnoty a limityVýchozí—
Polerequests[].body.messagesTypmessage[]PožadavekPovinnéHodnoty a limityVýchozí—
Polecompletion_windowTypstringPožadavekVolitelnéHodnoty a limity
24h
Výchozí—
PoleproviderTypobject|nullPožadavekVolitelnéHodnoty a limityVýchozí—
Polerequests[].body.modelTypstringPožadavekVolitelnéHodnoty a limity
mistralai/codestral-2508:batch, mistralai/codestral-2508
Výchozí—
Poleprovider.onlyTypstring[]PožadavekVolitelnéHodnoty a limity
mistral
Výchozí—
Poleprovider.allow_fallbacksTypboolean|nullPožadavekVolitelnéHodnoty a limity
false, null
Výchozí—
Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktendpoint, model, requests
Parametrmaterial_typesKontrakttext
ParametrrepresentationKontraktvložené requests[]; každá položka obsahuje custom_id a body
Parametrrequest_endpoint_profileKontrakt/v1/chat/completions
Parametrfile_materialKontraktVolají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.
Parametrserialization_orderKontraktendpoint, model, provider (je-li uveden), completion_window (je-li uvedeno), requests nakonec
Parametroptional_controlsKontraktprovider.only, provider.allow_fallbacks, completion_window
Parametrschema_scopeKontraktTě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.

KonfiguraceTabulka sazebTokeny kontextu, více nežTokeny kontextu, do uvedené hodnoty včetněPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaTokeny kontextu, více než—Tokeny kontextu, do uvedené hodnoty včetněBez horní mezePoplatek
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 1Tabulka sazeb—Tokeny kontextu, více než0Tokeny kontextu, do uvedené hodnoty včetněBez horní mezePoplatek
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í →

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

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
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
PoleTyp
Poleresults[].custom_idTypstring
Poleresults[].response.body.choices[].message.contentTypstring|null
Poleresults[].errorTypobject|null
PoleusageTypobject|null
PoleidTypstring
PolemodelTypstring
PoleendpointTypstring
PolestatusTypstring
Polerequest_countsTypobject
Poleresults[].idTypstring
Poleresults[].response.status_codeTypinteger
Poleresults[].response.request_idTypstring
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmí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_errorPodmínkaNeplatný klíč API.Další krokPoužijte autorizovaný klíč Ailoot.
Odpověď403 · permission_errorPodmínkaSkupina pro dávkové požadavky není dostupná.Další krokZkontrolujte oprávnění klíče a skupiny.
Odpověď422 · invalid_request_errorPodmí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_unavailablePodmínkaPro vstup dávky nelze vypočítat cenovou nabídku.Další krokUchovejte odpověď; použijte dokumentovaný vstup pro danou rodinu API.
Odpověď402 · billing_errorPodmínkaRezerva pro dávku není dostupná.Další krokPřed novým požadavkem vyřešte podmínky přijetí.
Odpověď503 · price_unavailablePodmínkaCena dávkové metody nebo nativní sazby nejsou dostupné.Další krokUchovejte odpověď; nenahrazujte ceny jinými.
Odpověď503 · api_errorPodmínkaPřesná trasa dodavatele není dostupná.Další krokUchovejte odpověď pro opravu směrování.
Odpověď503 · result_pending_checkPodmí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_foundPodmí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

Aliasy cest metod

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

Související ID modelů

mistralai/codestral-2508:batch

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

Další podrobnosti

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é · Zobrazit ceny modelů

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 · Nabídka a licenční smlouva