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

# Mistral: Codestral 2508 (batch)

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

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

Codestral 2508 er Mistral AI's tekstmodel til kodegenerering og kontekstafhængig kodefuldførelse. Den er optimeret til hyppige opgaver i editoren, herunder udfyldning mellem eksisterende kode og redigering over flere linjer, med en producentangivet kontekst på 128k og dokumenterede funktioner til chat, struktureret output og værktøjer.

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

Om modellen

Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.

Codestral 2508 er Mistral AI's kodemodel til hyppige fuldførelses- og genereringsopgaver, hvor svartiden er vigtig. Den modtager kildekode og tekstlige krav og returnerer tekst, som kan indeholde en implementering, fuldførelse, rettelse eller forklaring. Den navngivne 2508-udgave fokuserer på udviklerens aktuelle redigeringskontekst og er hverken en embeddingmodel eller i sig selv en komplet agent til kodebaser.

Kodefuldførelse og opdateringen 2508

Producenten retter Codestral mod fill-in-the-middle-fuldførelse og redigering over flere linjer. Udgivelsen beskriver forbedret fuldførelsesadfærd, herunder mindre løbsk generering, sammen med forbedringer af instruktionsefterlevelse og kodeopgaver i chattilstand. Det er ændringer i denne Codestral-udgave; den omgivende kodestaks funktioner til informationshentning og autonome agenter tilhører særskilt navngivne komponenter.

Til en fuldførelsesopgave skal du bevare den relevante funktionssignatur, deklarationer og kaldskontekst sammen med markørens placering. Angiv, om det ønskede resultat kun er den manglende kode eller en fuldt revideret funktion. En editorlignende anmodning kan bede om kroppen i en løkke, der bevarer den eksisterende returtype, beholder dublerede værdier og ikke ændrer kalderens input. Resultatet får dermed et konkret indsættelsespunkt og en defineret adfærd.

Forberedelse af fill-in-the-middle

I producentens FIM-grænseflade leverer prompten tekst eller kode, der skal fuldføres, og et valgfrit suffiks leverer materialet efter hullet. Når begge er angivet, udfylder modellen mellemrummet mellem dem. Uden et suffiks fortsætter den fra prompten. Det adskiller sig fra en almindelig samtaleanmodning, der beder om en kodeændring og en forklaring; hver forberedelsesform definerer sin egen outputkontrakt.

Et nyttigt input til udfyldning indeholder funktionens begyndelse, koden, der skal følge efter indsættelsen, og eventuelle relevante type- eller hjælperdefinitioner. Bevar indrykning og afgrænsningstegn, så den returnerede tekst kan passe ind i det eksisterende fragment. Hvis opgaven kun kræver den manglende krop, skal du bede om den frem for en omskrivning af hele filen. Et særskilt chatspørgsmål kan forklare, hvorfor det fuldførte fragment opfylder kravet.

Den officielle FIM-dokumentation tillader et budget for outputtokens og kræver, at prompten plus dette budget holder sig inden for modellens kontekst. Den dokumenterer også stopsekvenser og streaming af genereret indhold. Vælg en fuldførelsesarbejdsgang, når resultatet skal passe ind i kodehullet, og en samtalearbejdsgang, når opgaven beder om kode sammen med en forklaring.

Kontekst og understøttende funktioner

Modelsiden angiver et kontekstvindue på 128k. Brug konteksten til at bevare den kildekode og de deklarationer, der bestemmer den tilsigtede ændring, og hold samtidig selve redigeringsopgaven udtrykkelig. Ved en fejlrettelse skal du levere den berørte funktion, et konkret input, der fejler, det forventede resultat og fejlen eller den observerede adfærd. Bed om den foreslåede rettelse adskilt fra dens forklaring og eksempler.

Siden angiver også strukturerede output, funktionskald, forudsagte output, dokumentspørgsmål, svarpræfikser og batchbehandling sammen med chat- og FIM-funktioner. Til et struktureret kodegennemgangsresultat skal du definere felter såsom det berørte symbol, den observerede afvigelse, den foreslåede ændring og den antagelse, der stadig kræver afklaring. Mistrals vejledning om struktureret output skelner mellem JSON-tilstand og et brugerdefineret skema, hvor det ønskede JSON-format angives i prompten.

Forudsagte output er beregnet til indhold, hvor store dele af svaret allerede kendes. De kan bruges, når et dokument eller en kodefil skal genskabes med en begrænset ændring, mens det øvrige indhold bevares. Angiv den præcise ændring og det materiale, der skal forblive. Et svarpræfiks leverer derimod en kendt begyndelse, som genereringen fortsætter fra; det adskiller sig både fra en kendt, fuldstændig tekst og et FIM-suffiks.

Et dokumentationsspørgsmål kan bruge producentens arbejdsgang til dokumentbehandling til at klargøre tekst og struktur med OCR før sprogmodellens analyse. Til programmeringsmateriale, der allerede findes som tekst, skal du give de relevante dokumentationspassager og spørge, hvilken betingelse der styrer implementeringen. Hold hvert udtrukket krav knyttet til sit kildeafsnit, så den genererede kode eller forklaring forbliver forbundet med den givne specifikation.

Værktøjer og praktiske resultater

Funktionskald lader applikationen levere beskrevne operationer og deres parametre. Modellen forbereder et kald, applikationen udfører det, og det returnerede resultat bliver kontekst for næste svar. En kodeassistent kan modtage et opslagsresultat eller et beregningsresultat gennem denne cyklus, men kompilering, test eller anvendelse af en foreslået ændring kræver stadig det omgivende udviklingsmiljø.

Til en praktisk rettelse skal du definere den offentlige grænseflade, som skal forblive kompatibel, og bede om det reviderede fragment, en kort forklaring og eksempelinput med forventede output. Til en genereret funktion skal du angive de accepterede typer og grænsetilfælde. Til en forklaring skal du levere det input, der skal spores, så svaret forbinder et konkret eksekveringsforløb med den returnerede værdi.

Codestral producerer tekst. Den arver ikke kodesøgningsvektorer fra Codestral Embed, automatisering af kodebaser fra Devstral eller billedgenerering fra en visuel model. Modelsiden for præcis 2508 offentliggør ikke et parameterantal eller en selvstændig maksimal svarlængde, som kan lånes fra en anden udgivelse. Bevar den navngivne udgave, kodekonteksten og den krævede artefakt, når du forbereder en gentagelig arbejdsgang i editoren eller chatten.

**Ailoot Ultra · Batch** `POST /v1/batches` `mistralai/codestral-2508:batch`

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

Mistral /`mistralai/codestral-2508:batch`

### Start

Codestral 2508 er Mistral AI's tekstmodel til kodegenerering og kontekstafhængig kodefuldførelse. Den er optimeret til hyppige opgaver i editoren, herunder udfyldning mellem eksisterende kode og redigering over flere linjer, med en producentangivet kontekst på 128k og dokumenterede funktioner til chat, struktureret output og værktøjer.

Accepterede input

Tekst

Resultater

Tekst

### Tilgængelig i Ailoot · input og metoder

**Ailoot Ultra · Batch** `POST /v1/batches`

Inputtyper

`text`

Outputtyper

`text`

Outputformat

JSON direkte i results\[\].response.body

| Felt | Type | Krav | Værdier og grænser | Standard |
| --- | --- | --- | --- | --- |
| Felt`endpoint` | Type`string` | KravPåkrævet | Værdier og grænser /v1/chat/completions | Standard— |
| Felt`model` | Type`string` | KravPåkrævet | Værdier og grænser mistralai/codestral-2508:batch | Standard— |
| Felt`requests` | Type`batch_item[]` | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
| Felt`requests[].custom_id` | Type`string` | KravPåkrævet | Værdier og grænser | Standard— |
| Felt`requests[].body.messages` | Type`message[]` | KravPåkrævet | Værdier og grænser | Standard— |
| Felt`completion_window` | Type`string` | KravValgfrit | Værdier og grænser 24h | Standard— |
| Felt`provider` | Type`object\|null` | KravValgfrit | Værdier og grænser | Standard— |
| Felt`requests[].body.model` | Type`string` | KravValgfrit | Værdier og grænser mistralai/codestral-2508:batch, mistralai/codestral-2508 | Standard— |
| Felt`provider.only` | Type`string[]` | KravValgfrit | Værdier og grænser mistral | Standard— |
| Felt`provider.allow_fallbacks` | Type`boolean\|null` | KravValgfrit | Værdier og grænser false, null | Standard— |

Metodeparametre og livscyklus

| Parameter | Kontrakt |
| --- | --- |
| Parameter`content_type` | Kontraktapplication/json |
| Parameter`required` | Kontraktendpoint, model, requests |
| Parameter`material_types` | Kontrakttext |
| Parameter`representation` | Kontraktrequests\[\] direkte i anmodningen; hvert element har custom\_id og body |
| Parameter`request_endpoint_profile` | Kontrakt/v1/chat/completions |
| Parameter`file_material` | KontraktDen kaldende part kan læse det faktiske JSONL-indhold i UTF-8 lokalt ind i requests\[\]. Der angives hverken purpose til upload, input\_file\_id eller en filreference. Hvis kundematerialet mangler eller er tomt, stoppes forberedelsen før POST. |
| Parameter`serialization_order` | Kontraktendpoint, model, provider (hvis angivet), completion\_window (hvis angivet), requests til sidst |
| Parameter`optional_controls` | Kontraktprovider.only, provider.allow\_fallbacks, completion\_window |
| Parameter`schema_scope` | KontraktAnmodningsindhold for Chat Completions med tekst i den dokumenterede inline Batch-struktur. |

Livscyklus: `asynchronous`

`GET /v1/batches/{operation_id}` · det faktiske response.id fra den oprindelige oprettelse; samme bruger/nøgle/gruppe

### Priser

Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.

Hurtig tilstand

Ikke angivet Når hurtig tilstand er valgt

flex-tilstand

Ikke angivet Når flex-tilstanden er valgt

Maksimal ræsonneringsindsats

Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats

Priser for eksplicit caching

Ikke aktiveret Når der anmodes om eksplicit caching

#### Ailoot-takster

#### Priser efter konfiguration

Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.

| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
| --- | --- | --- | --- | --- |
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens **$0.0003** / 1K tokens Output · Outputtokens **$0.0009** / 1K tokens Input · Cachelæsning **$0.00003** / 1K tokens Input · Cacheskrivning **—** / 1K tokens Input · Cacheskrivning, 1 time **—** / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens **$0.0003** / 1K tokens Output · Outputtokens **$0.0009** / 1K tokens Input · Cachelæsning **$0.00003** / 1K tokens Input · Cacheskrivning **—** / 1K tokens Input · Cacheskrivning, 1 time **—** / 1K tokens |

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. [Sådan fungerer reservation og afregning →](https://ailoot.ai/docs/da/billing/reserve/)

### Eksempelanmodninger

#### Ailoot Ultra · Batch

curl · gemte testdataPython HTTP · kundens faktiske JSONLPython · gem hvert færdigt resultat

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

### Hent og gem resultater

#### Ailoot Ultra · Batch

JSON direkte i results\[\].response.body

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

##### Kontrollér opgavestatus

curl · Status for den oprindelige handling

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

##### Behold alle færdige resultater

Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.

Gem hele den oprindelige status i JSON, hvert resultat/custom\_id og det fulde svar- eller fejlindhold. Gem færdige results\[\] som JSONL uden filtrering.

##### Hvis det oprindelige svar skal kontrolleres

Gem det oprindelige operations-ID. 503 result\_pending\_check har X-Should-Retry:false; send aldrig en oprindelig batch igen, hvis dens udfald er ukendt.

Svarfelter

| Felt | Type |
| --- | --- |
| Felt`results[].custom_id` | Typestring |
| Felt`results[].response.body.choices[].message.content` | Typestring\|null |
| Felt`results[].error` | Typeobject\|null |
| Felt`usage` | Typeobject\|null |
| Felt`id` | Typestring |
| Felt`model` | Typestring |
| Felt`endpoint` | Typestring |
| Felt`status` | Typestring |
| Felt`request_counts` | Typeobject |
| Felt`results[].id` | Typestring |
| Felt`results[].response.status_code` | Typeinteger |
| Felt`results[].response.request_id` | Typestring |

Fejl og næste trin

| Svar | Betingelse | Næste trin |
| --- | --- | --- |
| Svar400 · `invalid_request_error` | BetingelseUgyldig dokumenteret inline-struktur, dublerede nøgler, ugyldig elementidentitet eller konflikt med modellens konfigurerede funktioner. | Næste trinRet de angivne felter, før du sender en ny anmodning. |
| Svar401 · `authentication_error` | BetingelseUgyldig API-nøgle. | Næste trinBrug den godkendte Ailoot-nøgle. |
| Svar403 · `permission_error` | BetingelseBatch-gruppen er ikke tilgængelig. | Næste trinKontrollér nøglens/gruppens adgangsrettigheder. |
| Svar422 · `invalid_request_error` | BetingelseBatch afregnes via saldoen; oprettelse via et abonnement afvises. | Næste trinBrug den godkendte gruppe med saldoafregning. |
| Svar422 · `price_unavailable` | BetingelseDer kan ikke beregnes en pris for Batch-inputtet. | Næste trinGem svaret; brug det dokumenterede input for API-familien. |
| Svar402 · `billing_error` | BetingelseReservationen til Batch er ikke tilgængelig. | Næste trinAfklar adgangen, før du sender en ny anmodning. |
| Svar503 · `price_unavailable` | BetingelsePrisen for Batch-metoden eller de native satser er ikke tilgængelige. | Næste trinGem svaret; erstat ikke priserne med andre priser. |
| Svar503 · `api_error` | BetingelseDen præcise leverandørrute er ikke tilgængelig. | Næste trinGem svaret, så ruten kan repareres. |
| Svar503 · `result_pending_check` | BetingelseDet oprindelige resultat skal kontrolleres; X-Should-Retry:false. | Næste trinGem det oprindelige operation\_id/id, og læs dets status; gentag aldrig den oprindelige POST. |
| Svar404 · `not_found` | BetingelseOperationen til Batch-status findes ikke eller tilhører en anden identitet. | Næste trinBrug det nøjagtige oprindelige id og samme bruger/nøgle/gruppe. |

### Aliaser

#### Modelaliaser

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

#### Aliaser for metodestier

Brug metodestierne vist ovenfor.

#### Relaterede kalder-ID’er

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

FAQ · Mistral: Codestral 2508 (batch)

Hvilke input og resultater er tilgængelige?

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

Hvilke felter bruger anmodningen?

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

Hvilke grænser gælder?

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

Tilslut Ailoot til Claude Code, OpenCode, Hermes eller din egen applikation.

## Virksomheden og dens projektportefølje

Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.

## Køb tokens med rabat.

Abonnementsrabat til regelmæssigt arbejde. Rabatkoder giver op til 50% på tokenkøb.

Abonnement

Vælg et abonnement med rabat til dine regelmæssige anmodninger.

Rabatkode på op til 50%

Indtast koden ved købet. Prisen genberegnes efter den aktuelle kampagne.

Udgifter i historikken

Model, tokens og beløb gemmes for hver anmodning.

[Vælg abonnement](https://ailoot.ai/docs/da/billing/subscriptions/) · [Se modelpriser](https://ailoot.ai/models/da/)

## Tilslut API’et til produktet, du sælger.

SaaS, apps og bots efter Ailoots tilbudsvilkår og licensaftale. Anmod om en forhandlerlicens til videresalg.

Kommerciel applikation

Byg generering af tekst, billeder, video og lyd ind i tjenestens betalte funktioner.

Licens til forhandlere

Send projektbeskrivelse og adgangsmodel. Bed om skriftlige vilkår for anvendelse og videresalg.

Dokumenter på websitet

Tilbudsvilkår, licensaftale og politik for behandling af data kan læses før tilslutning.

[Anmod om forhandlerlicens](mailto:support@ailoot.ai) · [Tilbudsvilkår og licensaftale](https://ailoot.ai/legal/offer?lang=da)

## Ailoot · Virksomheden og dens projektportefølje





Ailoot bygger på solid driftserfaring, en stor kundebase, stabil service og løbende kontrol af KPI.





Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.





Ailoot bruger denne driftserfaring til API-adgang til AI-funktioner i kundernes produkter, agenter, applikationer og automatiseringer.
