models

Mistral: Codestral 2508 (batch)

Markdown · JSON

Mistral: Codestral 2508 (batch)

Codestral 2508 – Mistral AI teksto modelis kodui generuoti ir kontekstą atitinkančiam užbaigimui. Jis optimizuotas dažnoms redaktoriaus užduotims, įskaitant užpildymą viduryje ir kelių eilučių redagavimą, su gamintojo nurodytu 128 tūkst. žetonų kontekstu bei dokumentuotomis pokalbio, struktūruotos išvesties ir įrankių funkcijomis.

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

Codestral 2508 – Mistral AI programavimo modelis dažnoms užbaigimo ir generavimo užduotims, kurioms svarbi maža delsa. Jis priima pirminį kodą ir tekstinius reikalavimus bei grąžina tekstą, kuriame gali būti įgyvendinimas, užbaigimas, pataisa ar paaiškinimas. Įvardyta 2508 versija sutelkta į dabartinį kūrėjo redagavimo kontekstą; pati savaime ji nėra nei įterpinių modelis, nei visavertis repozitorijos agentas.

Kodo užbaigimas ir 2508 atnaujinimas

Gamintojas Codestral skiria užpildymui viduryje ir kelių eilučių redagavimui. Laidos apraše minimi užbaigimo elgsenos patobulinimai, įskaitant nekontroliuojamo generavimo mažinimą, taip pat geresnis instrukcijų laikymasis ir kodo užduotys pokalbio režimu. Tai šios Codestral versijos pakeitimai; aplinkinės programavimo sistemos informacijos paieškos ir autonominio agento galimybės priklauso atskirai įvardytiems komponentams.

Užbaigimo užduotyje kartu su žymeklio vieta išsaugokite aktualų funkcijos parašą, deklaracijas ir kvietimo kontekstą. Nurodykite, ar pageidaujamas rezultatas – tik trūkstamas kodas, ar visa pataisyta funkcija. Redaktoriaus tipo užklausoje galima prašyti ciklo kūno, išsaugančio esamą grąžinimo tipą, pasikartojančias reikšmes ir nekeičiančio kvietėjo įvesties. Tada rezultatas turi konkretų įterpimo tašką ir apibrėžtą veikimą.

Pasiruošimas užpildymui viduryje

Gamintojo FIM sąsajoje užklausa pateikia tekstą ar kodą, kurį reikia užbaigti, o pasirenkama priesaga pateikia medžiagą po tarpo. Pateikus abu, modelis užpildo tarpą tarp jų. Be priesagos jis tęsia užklausą. Tai skiriasi nuo įprastos pokalbio užklausos, prašančios kodo pakeitimo ir paaiškinimo; kiekvienas paruošimo būdas apibrėžia kitokią išvesties sutartį.

Naudinga tarpo užpildymo įvestis apima funkcijos pradžią, kodą, kuris turi eiti po įterpimo, ir aktualius tipų ar pagalbinių funkcijų apibrėžimus. Išsaugokite įtraukas ir skirtukus, kad grąžintą tekstą būtų galima įterpti į esamą fragmentą. Jei užduočiai reikia tik trūkstamo kūno, prašykite jo, o ne viso failo perrašymo. Atskiras pokalbio klausimas gali paaiškinti, kodėl užbaigtas fragmentas atitinka reikalavimą.

Oficialioje FIM dokumentacijoje leidžiamas išvesties žetonų biudžetas ir reikalaujama, kad užklausa kartu su šiuo biudžetu tilptų į modelio kontekstą. Joje taip pat dokumentuotos stabdymo sekos ir generuojamo turinio srautinis perdavimas. Rinkitės užbaigimo procesą, kai rezultatas turi tikti kodo tarpui, ir pokalbio procesą, kai užduotis prašo kodo kartu su paaiškinimu.

Kontekstas ir pagalbinės funkcijos

Modelio puslapyje nurodytas 128 tūkst. žetonų konteksto langas. Kontekste išlaikykite kodą ir deklaracijas, lemiančius numatytą pakeitimą, aiškiai apibrėždami pačią redagavimo užduotį. Klaidos taisymo užklausoje pateikite paveiktą funkciją, konkrečią nesėkmingą įvestį, laukiamą rezultatą ir klaidą ar stebimą elgseną. Siūlomos pataisos prašykite atskirai nuo jos paaiškinimo ir pavyzdžių.

Puslapyje kartu su pokalbio ir FIM galimybėmis taip pat nurodytos struktūruotos išvestys, funkcijų kvietimas, numatomos išvestys, atsakymas į klausimus apie dokumentus, atsakymo prefiksai ir paketinis apdorojimas. Struktūruotam kodo peržiūros rezultatui apibrėžkite tokius laukus kaip paveiktas simbolis, stebimas neatitikimas, siūlomas pakeitimas ir dar tikslintina prielaida. Mistral struktūruotos išvesties gairės skiria JSON režimą nuo pasirinktinės schemos, o pageidaujamas JSON formatas nurodomas užklausoje.

Numatomos išvestys skirtos turiniui, kurio didelė atsakymo dalis jau žinoma. Jas galima naudoti iš naujo generuojant dokumentą ar kodo failą su ribotu pakeitimu ir išsaugant likusį turinį. Nurodykite tikslų pakeitimą ir medžiagą, kuri turi likti. Atsakymo prefiksas pateikia žinomą pradžią, nuo kurios tęsiamas generavimas; jis skiriasi ir nuo viso žinomo turinio, ir nuo FIM priesagos.

Klausimui apie dokumentaciją galima naudoti gamintojo dokumentų apdorojimo procesą, kad prieš kalbos modelio analizę OCR paruoštų tekstą ir struktūrą. Kai programavimo medžiaga jau prieinama tekstu, pateikite aktualias dokumentacijos ištraukas ir paklauskite, kuri sąlyga lemia įgyvendinimą. Kiekvieną išgautą reikalavimą susiekite su jo šaltinio skyriumi, kad sugeneruotas kodas ar paaiškinimas liktų susieti su pateikta specifikacija.

Įrankiai ir praktiniai rezultatai

Funkcijų kvietimas leidžia programai pateikti aprašytas operacijas ir jų parametrus. Modelis paruošia kvietimą, programa jį vykdo, o grąžintas rezultatas tampa kito atsakymo kontekstu. Kodo asistentas per šį ciklą gali gauti paieškos ar skaičiavimo rezultatą, tačiau siūlomo pakeitimo kompiliavimui, testavimui ar pritaikymui vis tiek reikia aplinkinės kūrimo aplinkos.

Praktinei pataisai apibrėžkite viešąją sąsają, kuri turi išlikti suderinama, ir prašykite pataisyto fragmento, glausto paaiškinimo bei įvesčių pavyzdžių su laukiamomis išvestimis. Generuojamai funkcijai nurodykite priimamus tipus ir ribines sąlygas. Paaiškinimui pateikite įvestį, kurios vykdymą reikia atsekti, kad atsakymas susietų konkretų vykdymo kelią su grąžinta reikšme.

Codestral generuoja tekstą. Jis nepaveldi kodo paieškos vektorių iš Codestral Embed, repozitorijos automatizavimo iš Devstral ar vaizdų generavimo iš vaizdinio modelio. Tiksliame 2508 modelio puslapyje neskelbiamas parametrų skaičius ar nepriklausomas didžiausias atsakymo ilgis, kurį būtų galima perimti iš kitos laidos. Rengdami pakartojamą redaktoriaus ar pokalbio darbo procesą, išsaugokite įvardytą versiją, programavimo kontekstą ir reikiamą artefaktą.

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

mistralai/codestral-2508:batch

Mistral /mistralai/codestral-2508:batch

Pradžia

Codestral 2508 – Mistral AI teksto modelis kodui generuoti ir kontekstą atitinkančiam užbaigimui. Jis optimizuotas dažnoms redaktoriaus užduotims, įskaitant užpildymą viduryje ir kelių eilučių redagavimą, su gamintojo nurodytu 128 tūkst. žetonų kontekstu bei dokumentuotomis pokalbio, struktūruotos išvesties ir įrankių funkcijomis.

Leidžiamos įvestys
Tekstas
Rezultatai
Tekstas

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · Paketinis apdorojimas POST /v1/batches
Įvestis
text
Išvestis
text
Išvesties formatas
tiesiogiai įterptas results[].response.body JSON
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasendpointTipasstringReikalavimasPrivalomaReikšmės ir ribos
/v1/chat/completions
Numatyta—
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
mistralai/codestral-2508:batch
Numatyta—
LaukasrequestsTipasbatch_item[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Numatyta—
Laukasrequests[].custom_idTipasstringReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukasrequests[].body.messagesTipasmessage[]ReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukascompletion_windowTipasstringReikalavimasNeprivalomaReikšmės ir ribos
24h
Numatyta—
LaukasproviderTipasobject|nullReikalavimasNeprivalomaReikšmės ir ribosNumatyta—
Laukasrequests[].body.modelTipasstringReikalavimasNeprivalomaReikšmės ir ribos
mistralai/codestral-2508:batch, mistralai/codestral-2508
Numatyta—
Laukasprovider.onlyTipasstring[]ReikalavimasNeprivalomaReikšmės ir ribos
mistral
Numatyta—
Laukasprovider.allow_fallbacksTipasboolean|nullReikalavimasNeprivalomaReikšmės ir ribos
false, null
Numatyta—
Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijaendpoint, model, requests
Parametrasmaterial_typesSpecifikacijatext
ParametrasrepresentationSpecifikacijatiesiogiai įterptas requests[] masyvas; kiekvienas elementas turi custom_id ir body laukus
Parametrasrequest_endpoint_profileSpecifikacija/v1/chat/completions
Parametrasfile_materialSpecifikacijaKlientas gali vietoje perskaityti faktinį UTF-8 JSONL turinį į requests[] masyvą. Įkėlimo purpose, input_file_id ar failo nuoroda nenaudojami. Jei kliento medžiagos nėra arba ji tuščia, parengimas sustabdomas prieš POST.
Parametrasserialization_orderSpecifikacijaendpoint, model, provider (jei pateiktas), completion_window (jei pateiktas), requests pateikite paskiausiai
Parametrasoptional_controlsSpecifikacijaprovider.only, provider.allow_fallbacks, completion_window
Parametrasschema_scopeSpecifikacijaTekstinių Chat Completions užklausų turiniai dokumentuotoje Batch paketo struktūroje, pateikiamoje pačioje užklausoje.

Gyvavimo ciklas: asynchronous

GET /v1/batches/{operation_id} · faktinė pradinės kūrimo užklausos atsakymo response.id reikšmė; tas pats naudotojas, raktas ir grupė

Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Išreikštinio podėlio kainodara
Neįjungta Kai prašoma išreikštinio podėlio

Ailoot įkainiai

Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

KonfigūracijaĮkainių lentelėKonteksto tokenų daugiau neiKonteksto tokenų iki imtinaiMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisKonteksto tokenų daugiau nei—Konteksto tokenų iki imtinaiBe viršutinės ribosMokestis
Įvestis · Įvesties tokenai $0.0003 / 1K tokenų
Išvestis · Išvesties tokenai $0.0009 / 1K tokenų
Įvestis · Talpyklos skaitymas $0.00003 / 1K tokenų
Įvestis · Rašymas į talpyklą — / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų
KonfigūracijaUžklausos ilgio pakopa 1Įkainių lentelė—Konteksto tokenų daugiau nei0Konteksto tokenų iki imtinaiBe viršutinės ribosMokestis
Įvestis · Įvesties tokenai $0.0003 / 1K tokenų
Išvestis · Išvesties tokenai $0.0009 / 1K tokenų
Įvestis · Talpyklos skaitymas $0.00003 / 1K tokenų
Įvestis · Rašymas į talpyklą — / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot Ultra · Paketinis apdorojimas

curl · išsaugotas testinių duomenų rinkinysPython HTTP · tikri kliento JSONL duomenysPython · išsaugokite kiekvieną užbaigtą rezultatą
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.

Gauti ir išsaugoti rezultatus

Ailoot Ultra · Paketinis apdorojimas

tiesiogiai įterptas results[].response.body JSON

  • GET /v1/batches/{operation_id}
Tikrinti užduoties būseną
curl · pirminės operacijos būsena
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
Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visą pradinės būsenos JSON, kiekvieną rezultatą ir custom_id bei visą atsakymo arba klaidos turinį. Užbaigtus results[] išsaugokite JSONL formatu nieko nefiltruodami.

Jei reikia patikrinti pradinį atsakymą

Išsaugokite pradinį operacijos ID. Atsakyme 503 result_pending_check pateikiama X-Should-Retry:false; niekada pakartotinai neteikite pradinio paketo, kurio baigtis nežinoma.

Atsakymo laukai
LaukasTipas
Laukasresults[].custom_idTipasstring
Laukasresults[].response.body.choices[].message.contentTipasstring|null
Laukasresults[].errorTipasobject|null
LaukasusageTipasobject|null
LaukasidTipasstring
LaukasmodelTipasstring
LaukasendpointTipasstring
LaukasstatusTipasstring
Laukasrequest_countsTipasobject
Laukasresults[].idTipasstring
Laukasresults[].response.status_codeTipasinteger
Laukasresults[].response.request_idTipasstring
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNeteisinga dokumentuota tiesiogiai įterpto paketo struktūra, pasikartojantys raktai, netinkama elemento tapatybė arba konfliktas su sukonfigūruotomis modelio galimybėmis.Kitas žingsnisPrieš bet kokį naują pateikimą pataisykite nurodytus laukus.
Atsakymas401 · authentication_errorSąlygaNegaliojantis API raktas.Kitas žingsnisNaudokite leistiną Ailoot raktą.
Atsakymas403 · permission_errorSąlygaPaketinio apdorojimo grupė neprieinama.Kitas žingsnisPatikrinkite rakto ir grupės prieigos teises.
Atsakymas422 · invalid_request_errorSąlygaPaketinis apdorojimas apmokamas iš balanso; kūrimo užklausos su prenumeratos apmokėjimu atmetamos.Kitas žingsnisNaudokite leistiną grupę, kurios užklausos apmokamos iš balanso.
Atsakymas422 · price_unavailableSąlygaNepavyksta apskaičiuoti paketinio apdorojimo įvesties kainos.Kitas žingsnisIšsaugokite atsakymą; naudokite dokumentuotą šios API šeimos įvestį.
Atsakymas402 · billing_errorSąlygaPaketiniam apdorojimui reikalingas rezervas neprieinamas.Kitas žingsnisPrieš teikdami naują užklausą išspręskite užklausos priėmimo problemą.
Atsakymas503 · price_unavailableSąlygaPaketinio apdorojimo metodo kaina arba savieji sistemos įkainiai neprieinami.Kitas žingsnisIšsaugokite atsakymą; nekeiskite kainų kitomis.
Atsakymas503 · api_errorSąlygaKonkretus tiekėjo maršrutas neprieinamas.Kitas žingsnisIšsaugokite atsakymą maršrutui pataisyti.
Atsakymas503 · result_pending_checkSąlygaPradinį rezultatą reikia patikrinti; X-Should-Retry:false.Kitas žingsnisIšsaugokite pradinę operation_id/id reikšmę ir tikrinkite operacijos būseną; niekada nekartokite pradinės POST užklausos.
Atsakymas404 · not_foundSąlygaPaketinio apdorojimo būsenos operacijos nėra arba ji susieta su kita tapatybe.Kitas žingsnisNaudokite tikslią pradinę id reikšmę ir tą patį naudotoją, raktą bei grupę.

Pseudonimai

Modelių pseudonimai

Ailoot Ultra mistralai/codestral-2508:batch

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

mistralai/codestral-2508:batch

FAQ · Mistral: Codestral 2508 (batch)
Kokios įvestys ir rezultatai prieinami?

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

Kokius laukus naudoja užklausa?

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

Kokie apribojimai taikomi?

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

Išsamiau

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata
Pasirinkite planą su nuolaida reguliarioms užklausoms.
Nuolaidos kodas iki 50%
Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.
Išlaidos istorijoje
Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

Pasirinkti prenumeratą · Peržiūrėti modelių kainas

Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa
Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.
Perpardavėjo licencija
Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.
Dokumentai svetainėje
Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

Paprašyti perpardavėjo licencijos · Oferta ir licencijos sutartis