modeller

Mistral: Codestral 2508 (batch)

Markdown · JSON

Mistral: Codestral 2508 (batch)

Codestral 2508 är Mistral AI:s textmodell för kodgenerering och kontextmedveten komplettering. Den är optimerad för återkommande uppgifter i kodredigeraren, inklusive fill-in-the-middle och ändringar på flera rader, med en kontext på 128k token enligt tillverkaren och dokumenterade funktioner för chatt, strukturerade utdata och verktyg.

Om modellen

Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.

Codestral 2508 är Mistral AI:s kodmodell för återkommande kompletterings- och genereringsuppgifter där svarstiden är viktig. Den tar emot källkod och textbaserade krav och returnerar text som kan innehålla en implementation, komplettering, korrigering eller förklaring. Den namngivna utgåvan 2508 fokuserar på utvecklarens aktuella redigeringskontext och är varken en inbäddningsmodell eller en komplett agent för kodarkiv i sig.

Kodkomplettering och uppdateringen 2508

Tillverkaren positionerar Codestral för fill-in-the-middle-komplettering och redigering av flera rader. Utgåvan beskriver förbättringar i kompletteringsbeteendet, bland annat minskad okontrollerad generering, tillsammans med förbättringar av instruktionsföljning och koduppgifter i chattläge. Detta är ändringar i den här Codestral-utgåvan; den omgivande kodningsstackens informationshämtning och autonoma agentfunktioner hör till separat namngivna komponenter.

För en kompletteringsuppgift håller du den relevanta funktionssignaturen, deklarationerna och anropskontexten tillsammans med markörpositionen. Ange om det önskade resultatet bara är den saknade koden eller en fullständigt reviderad funktion. En begäran avsedd för en kodredigerare kan exempelvis efterfråga en loopkropp som bevarar befintlig returtyp, behåller dubbla värden och inte ändrar anroparens indata. Resultatet får då en konkret infogningspunkt och ett definierat beteende.

Förberedelse för fill-in-the-middle

I tillverkarens FIM-gränssnitt innehåller prompten text eller kod som ska kompletteras, och ett valfritt suffix innehåller materialet efter luckan. När båda anges fyller modellen utrymmet mellan dem. Utan suffix fortsätter den från prompten. Detta skiljer sig från en vanlig samtalsbegäran om en kodändring och en förklaring; varje förberedelsesätt definierar ett eget kontrakt för utdata.

Användbara indata för att fylla en lucka innehåller funktionens början, koden som ska följa efter infogningen och eventuella relevanta typ- eller hjälpfunktionsdefinitioner. Bevara indrag och avgränsare så att den returnerade texten passar det befintliga fragmentet. Om uppgiften bara behöver den saknade funktionskroppen begär du den i stället för en omskrivning av hela filen. En separat chattfråga kan förklara varför det kompletterade fragmentet uppfyller kravet.

Den officiella FIM-dokumentationen tillåter en budget för utmatningstoken och kräver att prompten tillsammans med budgeten ryms inom modellens kontext. Den dokumenterar också stoppsekvenser och strömning av genererat innehåll. Välj ett kompletteringsflöde när resultatet måste passa kodluckan, och ett samtalsflöde när uppgiften efterfrågar kod tillsammans med en förklaring.

Kontext och stödfunktioner

Modellsidan anger ett kontextfönster på 128k token. Använd kontexten för att behålla källkoden och deklarationerna som bestämmer den avsedda ändringen, samtidigt som den faktiska redigeringsuppgiften hålls tydlig. För en felrättning tillhandahåller du den berörda funktionen, konkreta felutlösande indata, det förväntade resultatet och felet eller det observerade beteendet. Begär den föreslagna korrigeringen separat från förklaringen och exemplen.

Sidan listar också strukturerade utdata, funktionsanrop, förutsagda utdata, dokumentfrågor, svarsprefix och batchbearbetning tillsammans med chatt- och FIM-funktioner. För ett strukturerat kodgranskningsresultat definierar du fält som den berörda symbolen, den observerade avvikelsen, den föreslagna ändringen och det antagande som fortfarande behöver förtydligas. Mistrals vägledning för strukturerade utdata skiljer JSON-läge från ett anpassat schema, med det önskade JSON-formatet angivet i prompten.

Förutsagda utdata är avsedda för innehåll där stora delar av svaret redan är kända. De kan användas när ett dokument eller en kodfil återskapas med en begränsad ändring medan resten av innehållet behålls. Ange den exakta ändringen och materialet som ska bevaras. Ett svarsprefix ger i stället en känd början som genereringen fortsätter från; det skiljer sig både från en känd fullständig text och från ett FIM-suffix.

En dokumentationsfråga kan använda tillverkarens dokumentbearbetningsflöde för att förbereda text och struktur med OCR före språkmodellens analys. För programmeringsmaterial som redan finns som text tillhandahåller du relevanta dokumentationsavsnitt och frågar vilket villkor som styr implementationen. Håll varje extraherat krav kopplat till sitt källavsnitt så att den genererade koden eller förklaringen förblir knuten till den tillhandahållna specifikationen.

Verktyg och praktiska resultat

Funktionsanrop låter applikationen tillhandahålla beskrivna operationer och deras parametrar. Modellen förbereder ett anrop, applikationen kör det och det returnerade resultatet blir kontext för nästa svar. En kodassistent kan få ett uppslagningsresultat eller beräkningsresultat genom denna cykel, men att kompilera, testa eller tillämpa en föreslagen ändring kräver fortfarande den omgivande utvecklingsmiljön.

För en praktisk korrigering definierar du det publika gränssnitt som måste förbli kompatibelt och begär det reviderade fragmentet, en kort förklaring och exempelindata med förväntade utdata. För en genererad funktion anger du accepterade typer och gränsfall. För en förklaring tillhandahåller du de indata som ska följas steg för steg, så att svaret kopplar en konkret exekveringsväg till det returnerade värdet.

Codestral producerar text. Den ärver inte kodsökningsvektorer från Codestral Embed, automatisering av kodarkiv från Devstral eller bildgenerering från en bildmodell. Den specifika modellsidan för 2508 publicerar inget parameterantal eller separat maximal svarslängd som kan lånas från en annan utgåva. Bevara den namngivna utgåvan, kodningskontexten och den efterfrågade leveransen när du förbereder ett repeterbart arbetsflöde för kodredigerare eller chatt.

Ailoot Ultra · Batchkörning POST /v1/batches mistralai/codestral-2508:batch

mistralai/codestral-2508:batch

Mistral /mistralai/codestral-2508:batch

Start

Codestral 2508 är Mistral AI:s textmodell för kodgenerering och kontextmedveten komplettering. Den är optimerad för återkommande uppgifter i kodredigeraren, inklusive fill-in-the-middle och ändringar på flera rader, med en kontext på 128k token enligt tillverkaren och dokumenterade funktioner för chatt, strukturerade utdata och verktyg.

Godkända indata
Text
Resultat
Text

Tillgängligt i Ailoot · indata & metoder

Ailoot Ultra · Batchkörning POST /v1/batches
Indatatyper
text
Utdatatyper
text
Utdataformat
JSON i inbäddade results[].response.body
FältTypKravVärden & gränserStandard
FältendpointTypstringKravObligatorisktVärden & gränser
/v1/chat/completions
Standard—
FältmodelTypstringKravObligatorisktVärden & gränser
mistralai/codestral-2508:batch
Standard—
FältrequestsTypbatch_item[]KravObligatorisktVärden & gränser
Minsta antal objekt: 1
Standard—
Fältrequests[].custom_idTypstringKravObligatorisktVärden & gränserStandard—
Fältrequests[].body.messagesTypmessage[]KravObligatorisktVärden & gränserStandard—
Fältcompletion_windowTypstringKravValfrittVärden & gränser
24h
Standard—
FältproviderTypobject|nullKravValfrittVärden & gränserStandard—
Fältrequests[].body.modelTypstringKravValfrittVärden & gränser
mistralai/codestral-2508:batch, mistralai/codestral-2508
Standard—
Fältprovider.onlyTypstring[]KravValfrittVärden & gränser
mistral
Standard—
Fältprovider.allow_fallbacksTypboolean|nullKravValfrittVärden & gränser
false, null
Standard—
Metodparametrar och livscykel
ParameterAvtal
Parametercontent_typeAvtalapplication/json
ParameterrequiredAvtalendpoint, model, requests
Parametermaterial_typesAvtaltext
ParameterrepresentationAvtalInbäddade requests[]; varje objekt har custom_id och body
Parameterrequest_endpoint_profileAvtal/v1/chat/completions
Parameterfile_materialAvtalDen anropande klienten kan läsa in faktiska UTF-8 JSONL-data lokalt i requests[]. Inget uppladdningssyfte, input_file_id eller någon filreferens används. Om kundmaterial saknas eller är tomt avbryts förberedelserna före POST.
Parameterserialization_orderAvtalendpoint, model, provider (om angivet), completion_window (om angivet), requests sist
Parameteroptional_controlsAvtalprovider.only, provider.allow_fallbacks, completion_window
Parameterschema_scopeAvtalFörfrågningskroppar för Text Chat Completions i det dokumenterade inbäddade Batch-formatet.

Livscykel: asynchronous

GET /v1/batches/{operation_id} · Det faktiska response.id från det ursprungliga skapandesvaret; samma användare/nyckel/grupp

Priser

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge
Ej angivet När snabbt läge är valt
Flex-läge
Ej angivet När läget flex är valt
Högsta resonemangsnivå
Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Prissättning för explicit cache
Inte aktiverat När explicit cache begärs

Ailoot-priser

Priser efter konfiguration

Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.

KonfigurationPrislistaKontexttoken, fler änKontexttoken, upp till och medAvgift
KonfigurationGrundpriser för tokenPrislistaGrundprisKontexttoken, fler än—Kontexttoken, upp till och medIngen övre gränsAvgift
Indata · Indatatoken $0.0003 / 1K token
Utdata · Utdatatoken $0.0009 / 1K token
Indata · Cacheläsning $0.00003 / 1K token
Indata · Skrivning till cache — / 1K token
Indata · Skrivning till cache, 1 tim — / 1K token
KonfigurationNivå 1 för förfrågans längdPrislista—Kontexttoken, fler än0Kontexttoken, upp till och medIngen övre gränsAvgift
Indata · Indatatoken $0.0003 / 1K token
Utdata · Utdatatoken $0.0009 / 1K token
Indata · Cacheläsning $0.00003 / 1K token
Indata · Skrivning till cache — / 1K token
Indata · Skrivning till cache, 1 tim — / 1K token

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →

Exempelbegäranden

Ailoot Ultra · Batchkörning

curl · bevarat referensexempelPython HTTP · kundens faktiska JSONLPython · spara varje färdigt resultat
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.

Ta emot och spara resultat

Ailoot Ultra · Batchkörning

JSON i inbäddade results[].response.body

  • GET /v1/batches/{operation_id}
Kontrollera jobbstatus
curl · status för ursprunglig åtgärd
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
Behåll alla färdiga resultat

Behåll varje fullständigt returnerat svar, fil och innehållsdel.

Spara hela det ursprungliga statusobjektet i JSON, varje resultat/custom_id och hela svars- eller felkroppen. Spara slutförda results[] som JSONL utan filtrering.

Om det ursprungliga svaret behöver kontrolleras

Behåll det ursprungliga operations-ID:t. Vid 503 result_pending_check gäller X-Should-Retry:false; skicka aldrig om en ursprunglig batch med okänt utfall.

Svarsfält
FältTyp
Fältresults[].custom_idTypstring
Fältresults[].response.body.choices[].message.contentTypstring|null
Fältresults[].errorTypobject|null
FältusageTypobject|null
FältidTypstring
FältmodelTypstring
FältendpointTypstring
FältstatusTypstring
Fältrequest_countsTypobject
Fältresults[].idTypstring
Fältresults[].response.status_codeTypinteger
Fältresults[].response.request_idTypstring
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorFörfrågan har ett ogiltigt inbäddat format enligt dokumentationen, duplicerade nycklar eller en felaktig objektidentitet, eller står i konflikt med modellens konfigurerade funktioner.Nästa stegRätta de angivna fälten innan du skickar en ny förfrågan.
Svar401 · authentication_errorVillkorOgiltig API-nyckel.Nästa stegAnvänd den behöriga Ailoot-nyckeln.
Svar403 · permission_errorVillkorGrupp för batchkörning är inte tillgänglig.Nästa stegKontrollera nyckelns/gruppens behörighet.
Svar422 · invalid_request_errorVillkorBatchkörning debiteras från saldot; skapande via abonnemang avvisas.Nästa stegAnvänd den behöriga gruppen med saldodebitering.
Svar422 · price_unavailableVillkorKostnaden för batchindata kan inte beräknas i förväg.Nästa stegSpara svaret; använd det dokumenterade indataformatet för API-familjen.
Svar402 · billing_errorVillkorReservation för batchkörning är inte tillgänglig.Nästa stegSe till att villkoren för att godta förfrågan är uppfyllda innan du skickar en ny.
Svar503 · price_unavailableVillkorPriset för batchmetoden eller de inbyggda priserna är inte tillgängliga.Nästa stegSpara svaret; ersätt inte priserna med andra.
Svar503 · api_errorVillkorDen exakta leverantörsrutten är inte tillgänglig.Nästa stegSpara svaret för att kunna reparera routningen.
Svar503 · result_pending_checkVillkorDet ursprungliga resultatet behöver kontrolleras; X-Should-Retry:false.Nästa stegBehåll det ursprungliga värdet för operation_id/id och läs av operationens status; upprepa aldrig det ursprungliga POST-anropet.
Svar404 · not_foundVillkorOperationen för batchstatus saknas eller tillhör en annan identitet.Nästa stegAnvänd exakt det ursprungliga id-värdet och samma användare/nyckel/grupp.

Alias

Modellalias

Ailoot Ultra mistralai/codestral-2508:batch

Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

Relaterade anropar-ID:n

mistralai/codestral-2508:batch

FAQ · Mistral: Codestral 2508 (batch)
Vilka indata och resultat finns?

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

Vilka fält använder begäran?

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

Vilka gränser gäller?

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

Fler detaljer

Anslut Ailoot till Claude Code, OpenCode, Hermes eller din app.

Företaget och dess projektportfölj

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

Köp token med rabatt.

Prenumerationsrabatt för återkommande arbete. Kampanjkoder ger upp till 50% vid tokenköp.

Prenumeration
Välj en rabatterad plan för återkommande anrop.
Kampanjkod upp till 50%
Ange koden vid köpet. Priset räknas om enligt kampanjen.
Kostnader i historiken
Modell, token och belopp sparas för varje anrop.

Välj prenumeration · Se modellpriser

Anslut API till produkten som du säljer.

SaaS, appar och botar enligt Ailoots officiella villkor och licensavtal. Begär återförsäljarlicens för vidareförsäljning.

Kommersiell applikation
Bygg text-, bild-, video- och ljudgenerering i tjänstens betalda funktioner.
Återförsäljarlicens
Skicka projektbeskrivning och åtkomstupplägg. Begär skriftliga villkor för användning och vidareförsäljning.
Dokument på webbplatsen
Officiella villkor, licensavtal och databehandlingspolicy finns tillgängliga före anslutning.

Begär återförsäljarlicens · Officiella villkor och licensavtal