modeli

Mistral: Codestral 2508 (batch)

Markdown · JSON

Mistral: Codestral 2508 (batch)

Codestral 2508 je besedilni model podjetja Mistral AI za ustvarjanje kode in dopolnjevanje z upoštevanjem konteksta. Optimiziran je za pogoste naloge v urejevalniku, vključno z dopolnjevanjem vrzeli v kodi in večvrstičnimi spremembami, s kontekstom 128k po navedbah proizvajalca ter dokumentiranimi funkcijami za klepet, strukturiran izhod in orodja.

O modelu

Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.

Codestral 2508 je programski model podjetja Mistral AI za pogoste naloge dopolnjevanja in ustvarjanja, pri katerih je pomembna zakasnitev. Prejme izvorno kodo in besedilne zahteve ter vrne besedilo, ki lahko vsebuje implementacijo, dopolnitev, popravek ali razlago. Navedena različica 2508 se osredotoča na razvijalčev trenutni kontekst urejanja; sama po sebi ni model za vektorske vložitve ali celovit agent za repozitorij.

Dopolnjevanje kode in posodobitev 2508

Proizvajalec Codestral namenja dopolnjevanju vrzeli v kodi in večvrstičnemu urejanju. Ob izdaji opisuje izboljšave pri dopolnjevanju, vključno z zmanjšanjem nenadzorovanega nadaljevanja ustvarjanja, ter izboljšave sledenja navodilom in programskih nalog v načinu klepeta. Te spremembe veljajo za to različico Codestral; funkcije iskanja gradiva in avtonomnega agenta v okoliškem programskem sklopu pripadajo posebej poimenovanim komponentam.

Pri nalogi dopolnjevanja ob mestu kazalca ohranite ustrezen podpis funkcije, deklaracije in kontekst klicanja. Določite, ali je želeni rezultat samo manjkajoča koda ali celotna popravljena funkcija. Zahteva v slogu urejevalnika lahko zahteva telo zanke, ki ohrani obstoječi tip vrnjene vrednosti, ponovljene vrednosti in nespremenjen vhod klicatelja. Rezultat ima tako konkretno mesto vstavljanja in določeno vedenje.

Priprava dopolnjevanja vrzeli

V proizvajalčevem vmesniku FIM poziv poda besedilo ali kodo za dopolnitev, neobvezna pripona pa gradivo za vrzeljo. Če sta podana oba, model zapolni prostor med njima. Brez pripone nadaljuje od poziva. To se razlikuje od običajne pogovorne zahteve, ki zahteva spremembo kode in razlago; vsak način priprave določa drugačen dogovor o izhodu.

Uporaben vhod za dopolnjevanje vrzeli vključuje začetek funkcije, kodo, ki mora slediti vstavljenemu delu, in vse ustrezne definicije tipov ali pomožnih funkcij. Ohranite zamike in ločila, da se vrnjeno besedilo prilega obstoječemu odseku. Če naloga potrebuje le manjkajoče telo, zahtevajte to telo namesto ponovnega pisanja celotne datoteke. Ločeno vprašanje v klepetu lahko pojasni, zakaj dopolnjeni odsek izpolnjuje zahtevo.

Uradna dokumentacija FIM dovoljuje proračun izhodnih žetonov in zahteva, da poziv skupaj s tem proračunom ostane znotraj konteksta modela. Dokumentira tudi ustavitvena zaporedja in pretočno posredovanje ustvarjene vsebine. Kadar se mora rezultat prilegati vrzeli v kodi, izberite postopek dopolnjevanja; kadar naloga zahteva kodo skupaj z razlago, pa pogovorni postopek.

Kontekst in podporne funkcije

Stran modela navaja kontekstno okno 128k. Kontekst uporabite za ohranitev izvorne kode in deklaracij, ki določajo predvideno spremembo, sama naloga urejanja pa naj bo izrecna. Pri zahtevi za odpravo napake podajte prizadeto funkcijo, konkreten vhod, ki povzroča napako, pričakovani rezultat ter napako ali opaženo vedenje. Predlagani popravek zahtevajte ločeno od njegove razlage in primerov.

Stran poleg klepeta in FIM navaja tudi strukturirane izhode, klicanje funkcij, predvidene izhode, odgovarjanje na vprašanja o dokumentih, predpone odgovorov in paketno obdelavo. Za strukturiran pregled kode opredelite polja, kot so prizadeti simbol, opaženo neskladje, predlagana sprememba in predpostavka, ki jo je še treba razjasniti. Mistralove smernice za strukturiran izhod razlikujejo način JSON od sheme po meri, pri čemer je želena oblika JSON navedena v pozivu.

Predvideni izhodi so namenjeni vsebinam, pri katerih so veliki deli odgovora že znani. Uporabiti jih je mogoče pri ponovnem ustvarjanju dokumenta ali datoteke s kodo z omejeno spremembo in ohranitvijo preostale vsebine. Navedite natančno spremembo in gradivo, ki mora ostati. Predpona odgovora pa poda znan začetek, iz katerega se ustvarjanje nadaljuje; razlikuje se tako od znanega celotnega telesa kot od pripone FIM.

Vprašanje o dokumentaciji lahko uporabi proizvajalčev postopek obdelave dokumentov za pripravo besedila in strukture z OCR pred analizo z jezikovnim modelom. Pri programskem gradivu, ki je že na voljo kot besedilo, podajte ustrezne odlomke dokumentacije in vprašajte, kateri pogoj določa implementacijo. Vsaka izluščena zahteva naj ostane povezana z izvornim razdelkom, da ustvarjena koda ali razlaga ostane vezana na podano specifikacijo.

Orodja in praktični rezultati

Klicanje funkcij aplikaciji omogoča, da poda opisane operacije in njihove parametre. Model pripravi klic, aplikacija ga izvede, vrnjeni rezultat pa postane kontekst za naslednji odgovor. Programski pomočnik lahko skozi ta cikel prejme rezultat poizvedbe ali izračuna, vendar prevajanje, preverjanje ali uveljavitev predlagane spremembe še vedno zahteva okoliško razvojno okolje.

Za praktičen popravek opredelite javni vmesnik, ki mora ostati združljiv, in zahtevajte popravljeni odsek, jedrnato razlago ter primere vhodov s pričakovanimi izhodi. Za ustvarjeno funkcijo navedite sprejete tipe in robne pogoje. Za razlago podajte vhod, kateremu je treba slediti, da odgovor poveže konkretno pot izvajanja z vrnjeno vrednostjo.

Codestral ustvarja besedilo. Ne podeduje vektorjev za iskanje kode od Codestral Embed, avtomatizacije repozitorija od Devstral ali ustvarjanja slik od vizualnega modela. Stran prav te različice 2508 ne objavlja števila parametrov ali neodvisne največje dolžine odgovora, ki bi ju smeli prevzeti iz druge izdaje. Pri pripravi ponovljivega postopka za urejevalnik ali klepet ohranite navedeno različico, programski kontekst in zahtevani izdelek.

Ailoot Ultra · Paketna obdelava POST /v1/batches mistralai/codestral-2508:batch

mistralai/codestral-2508:batch

Mistral /mistralai/codestral-2508:batch

Začetek

Codestral 2508 je besedilni model podjetja Mistral AI za ustvarjanje kode in dopolnjevanje z upoštevanjem konteksta. Optimiziran je za pogoste naloge v urejevalniku, vključno z dopolnjevanjem vrzeli v kodi in večvrstičnimi spremembami, s kontekstom 128k po navedbah proizvajalca ter dokumentiranimi funkcijami za klepet, strukturiran izhod in orodja.

Dovoljeni vhodi
Besedilo
Rezultati
Besedilo

Na voljo v Ailoot · vhodi in metode

Ailoot Ultra · Paketna obdelava POST /v1/batches
Vhod
text
Izhod
text
Izhodni format
Neposredno vključeni podatki JSON v results[].response.body
PoljeVrstaZahtevaVrednosti in omejitvePrivzeto
PoljeendpointVrstastringZahtevaObveznoVrednosti in omejitve
/v1/chat/completions
Privzeto—
PoljemodelVrstastringZahtevaObveznoVrednosti in omejitve
mistralai/codestral-2508:batch
Privzeto—
PoljerequestsVrstabatch_item[]ZahtevaObveznoVrednosti in omejitve
Najmanjše število elementov: 1
Privzeto—
Poljerequests[].custom_idVrstastringZahtevaObveznoVrednosti in omejitvePrivzeto—
Poljerequests[].body.messagesVrstamessage[]ZahtevaObveznoVrednosti in omejitvePrivzeto—
Poljecompletion_windowVrstastringZahtevaIzbirnoVrednosti in omejitve
24h
Privzeto—
PoljeproviderVrstaobject|nullZahtevaIzbirnoVrednosti in omejitvePrivzeto—
Poljerequests[].body.modelVrstastringZahtevaIzbirnoVrednosti in omejitve
mistralai/codestral-2508:batch, mistralai/codestral-2508
Privzeto—
Poljeprovider.onlyVrstastring[]ZahtevaIzbirnoVrednosti in omejitve
mistral
Privzeto—
Poljeprovider.allow_fallbacksVrstaboolean|nullZahtevaIzbirnoVrednosti in omejitve
false, null
Privzeto—
Parametri in življenjski cikel metode
ParameterSpecifikacija
Parametercontent_typeSpecifikacijaapplication/json
ParameterrequiredSpecifikacijaendpoint, model, requests
Parametermaterial_typesSpecifikacijatext
ParameterrepresentationSpecifikacijaNeposredno vključene zahteve v requests[]; vsak element ima custom_id in body
Parameterrequest_endpoint_profileSpecifikacija/v1/chat/completions
Parameterfile_materialSpecifikacijaKlicatelj lahko dejansko datoteko JSONL v kodiranju UTF-8 lokalno prebere v requests[]. Namen nalaganja, input_file_id ali sklic na datoteko se ne uporablja. Če gradivo stranke manjka ali je prazno, se priprava ustavi pred POST.
Parameterserialization_orderSpecifikacijaendpoint, model, provider (če je podan), completion_window (če je podan), requests na koncu
Parameteroptional_controlsSpecifikacijaprovider.only, provider.allow_fallbacks, completion_window
Parameterschema_scopeSpecifikacijaTelesa besedilnih zahtev Chat Completions v dokumentiranem ovoju za paketno obdelavo, ki zahteve vsebuje neposredno.

Življenjski cikel: asynchronous

GET /v1/batches/{operation_id} · Dejanski response.id iz izvirnega odgovora na zahtevo za ustvarjanje; isti uporabnik, isti ključ in ista skupina

Cenik

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način
Ni navedeno Ko je izbran hitri način
Način flex
Ni navedeno Ko je izbran način flex
Najvišja raven razmišljanja
Ni navedeno Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Cene izrecnega predpomnjenja
Ni omogočeno Ko je zahtevano eksplicitno predpomnjenje

Cene Ailoot

Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

NastavitevCenovna lestvicaŽetonov konteksta več kotŽetonov konteksta do vključnoStrošek
NastavitevOsnovne cene za žetoneCenovna lestvicaOsnovna cenaŽetonov konteksta več kot—Žetonov konteksta do vključnoBrez zgornje mejeStrošek
Vhod · Vhodni žetoni $0.0003 / 1K žetonov
Izhod · Izhodni žetoni $0.0009 / 1K žetonov
Vhod · Branje predpomnilnika $0.00003 / 1K žetonov
Vhod · Zapis v predpomnilnik — / 1K žetonov
Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov
NastavitevRazred 1 glede na dolžino zahteveCenovna lestvica—Žetonov konteksta več kot0Žetonov konteksta do vključnoBrez zgornje mejeStrošek
Vhod · Vhodni žetoni $0.0003 / 1K žetonov
Izhod · Izhodni žetoni $0.0009 / 1K žetonov
Vhod · Branje predpomnilnika $0.00003 / 1K žetonov
Vhod · Zapis v predpomnilnik — / 1K žetonov
Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →

Primeri zahtev

Ailoot Ultra · Paketna obdelava

curl · ohranjeni referenčni primerPython HTTP · dejanski podatki stranke v JSONLPython · shranite vsak dokončan 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.

Prejmi in shrani rezultate

Ailoot Ultra · Paketna obdelava

Neposredno vključeni podatki JSON v results[].response.body

  • GET /v1/batches/{operation_id}
Preveri stanje opravila
curl · stanje izvirne operacije
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
Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Shranite celoten izvirni JSON s stanjem, vsak rezultat/custom_id in celotno telo odgovora ali napake. Dokončane rezultate iz results[] shranite kot JSONL brez filtriranja.

Če je treba preveriti izvirni odgovor

Shranite izvirni ID operacije. Odgovor 503 result_pending_check vsebuje X-Should-Retry:false; izvirnega paketa z neznanim izidom nikoli ne pošiljajte znova.

Polja odgovora
PoljeVrsta
Poljeresults[].custom_idVrstastring
Poljeresults[].response.body.choices[].message.contentVrstastring|null
Poljeresults[].errorVrstaobject|null
PoljeusageVrstaobject|null
PoljeidVrstastring
PoljemodelVrstastring
PoljeendpointVrstastring
PoljestatusVrstastring
Poljerequest_countsVrstaobject
Poljeresults[].idVrstastring
Poljeresults[].response.status_codeVrstainteger
Poljeresults[].response.request_idVrstastring
Napake in naslednji koraki
OdgovorPogojNaslednji korak
Odgovor400 · invalid_request_errorPogojNeveljaven dokumentirani ovoj z neposredno vključenimi zahtevami, podvojeni ključi, neveljavna identiteta elementa ali neskladje z nastavljenimi zmogljivostmi modela.Naslednji korakPred vsakim novim pošiljanjem popravite navedena polja.
Odgovor401 · authentication_errorPogojNeveljaven ključ API.Naslednji korakUporabite odobreni ključ Ailoot.
Odgovor403 · permission_errorPogojSkupina za paketno obdelavo ni na voljo.Naslednji korakPreverite pravice ključa/skupine.
Odgovor422 · invalid_request_errorPogojPaketna obdelava uporablja obračunavanje iz dobroimetja; ustvarjanje v okviru naročnine se zavrne.Naslednji korakUporabite odobreno skupino z obračunavanjem iz dobroimetja.
Odgovor422 · price_unavailablePogojZa vhodne podatke paketa ni mogoče izračunati predračuna.Naslednji korakShranite odgovor; uporabite dokumentirani vhod za to družino metod.
Odgovor402 · billing_errorPogojRezervacija sredstev za paketno obdelavo ni na voljo.Naslednji korakPred novo zahtevo uredite pogoje za njen sprejem.
Odgovor503 · price_unavailablePogojCena metode paketne obdelave oziroma izvorne tarife niso na voljo.Naslednji korakShranite odgovor; cen ne nadomeščajte z drugimi.
Odgovor503 · api_errorPogojTočno določena pot do dobavitelja ni na voljo.Naslednji korakShranite odgovor za odpravo napake v usmerjanju.
Odgovor503 · result_pending_checkPogojIzvirni rezultat je treba preveriti; X-Should-Retry:false.Naslednji korakShranite izvirni operation_id/id in preberite njegovo stanje; izvirnega POST nikoli ne ponovite.
Odgovor404 · not_foundPogojOperacija za preverjanje stanja paketa ne obstaja ali pripada drugi identiteti.Naslednji korakUporabite natančen izvirni id ter istega uporabnika, isti ključ in isto skupino.

Druga imena

Druga imena modelov

Ailoot Ultra mistralai/codestral-2508:batch

Druga imena poti metod

Uporabite zgoraj navedene poti metod.

Povezani ID-ji za klic

mistralai/codestral-2508:batch

FAQ · Mistral: Codestral 2508 (batch)
Kateri vhodi in rezultati so na voljo?

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

Katera polja uporablja zahteva?

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

Katere omejitve veljajo?

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

Več podrobnosti

Ailoot povežite s Claude Code, OpenCode, Hermes ali svojo aplikacijo.

Podjetje in njegov portfelj projektov

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

Žetone kupujte s popustom.

Naročniški popust za redno delo. Promocijske kode prinesejo do 50% popusta na nakup žetonov.

Naročnina
Za redne zahteve izberite paket s popustom.
Promocijska koda do 50%
Kodo vnesite ob nakupu. Cena se preračuna po veljavni akciji.
Poraba v zgodovini
Za vsako zahtevo se shranijo model, žetoni in znesek.

Izberite naročnino · Oglejte si cene modelov

API povežite z izdelkom, ki ga prodajate.

SaaS, aplikacije in boti po ponudbi in licenčni pogodbi Ailoot. Za nadaljnjo prodajo zaprosite za preprodajno licenco.

Komercialna aplikacija
Ustvarjanje besedila, slik, videa in zvoka vključite v plačljive funkcije svoje storitve.
Licenca za preprodajalca
Pošljite opis projekta in shemo dostopa. Zahtevajte pisne pogoje uporabe in nadaljnje prodaje.
Dokumenti na strani
Ponudba, licenčna pogodba in politika obdelave podatkov so dostopne pred povezavo.

Zaprosite za preprodajno licenco · Ponudba in licenčna pogodba