Mistral: Codestral Embed 2505
Codestral Embed 2505 repræsenterer kode og forespørgsler i naturligt sprog som vektorer til repositorysøgning og genfinding til kodeassistenter. Producenten dokumenterer en kontekst på 8192 tokens, konfigurerbare dimensioner op til 3072 og outputformater med flydende tal, heltal eller bitpakkede værdier.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Codestral Embed 2505 er Mistral AI’s embeddingmodel specialiseret til kodegenfinding. Den modtager tekst med kildekode eller en kodeforespørgsel i naturligt sprog og returnerer numeriske vektorer. Producenten positionerer den til repositorysøgning, kontekstgenfinding til kodeassistenter, ligheds- og dubletanalyse samt gruppering af kode efter funktionalitet eller struktur. Dens faste udgivelsesidentifikator er codestral-embed-2505.
Input og repræsentation
Et kodeinput kan være en funktion, et relateret kildefragment eller en anden meningsfuld enhed i et repository. En forespørgsel i naturligt sprog kan beskrive den adfærd, der skal findes, frem for at navngive det præcise symbol. Embeddingvektoren repræsenterer inputtet til sammenligning; modellen genererer ikke en ny implementering og udfører ikke den kode, den modtager.
Den officielle udgivelse dokumenterer en fuld inputkontekst på 8192 tokens. Til genfinding anbefaler producenten stykker på cirka 3000 tegn med 1000 tegns overlap og bemærker, at større stykker kan skade genfindingen. Det er anbefalinger til genfindingsforberedelse og ikke en tokengrænse på 3000 tegn. Hold filen, symbolet og kildeplaceringen knyttet til hvert forberedt element, så applikationen kan returnere den relevante kode efter søgning.
Outputpræcision og dimensioner
Vejledningen til kodeembeddings dokumenterer outputtyperne float, int8, uint8, binary og ubinary. Float bruger 32-bit-værdier med enkeltpræcision. Int8 bruger 8-bit-heltal med fortegn fra -128 til 127, mens uint8 bruger 8-bit-værdier uden fortegn fra 0 til 255. Binary og ubinary lagrer kvantiserede enkeltbitværdier i pakkede 8-bit-elementer med henholdsvis beholdere med og uden fortegn.
Bitpakket repræsentation ændrer længden på den returnerede liste: Vejledningen beskriver ét pakket element for hver otte logiske embeddingdimensioner. En formatbevidst sammenligning er derfor forskellig fra at behandle de pakkede bytes som almindelige koordinater med flydende tal. Gem den valgte type sammen med vektoren, og brug samme repræsentation til indekseret kode og dens forespørgsel.
Parameterdokumentationen angiver en standarddimension på 1536 og et maksimum på 3072. Dimensionerne er ordnet efter relevans, og producenten beskriver bevarelse af det første valgte antal som en måde at vælge repræsentationsstørrelsen på. Vælg dimensionen konsekvent til den lagrede samling og nye forespørgsler. En kortere eller kvantiseret repræsentation ændrer lagrings- og sammenligningsadfærd; den øger ikke inputkonteksten og gør ikke modellen til en kodegenerator.
Kodning med genfundet kontekst
Udgivelsens første anvendelse er genfinding af kontekst til kodefuldførelse, redigering eller forklaring. Forbered meningsfulde kodeenheder, og gem repositoryrevisionen og kildeidentifikatorerne. Et spørgsmål om håndteringen af en bestemt fejl kan genfinde relaterede funktioner, som applikationen derefter indsender til en kodemodel sammen med den faktiske ændringsanmodning.
Et praktisk resultat er et rangeret sæt kildeuddrag med filstier, symboler og det indhold, der kræves for at forstå deres adfærd. De genfundne uddrag kan åbnes af en udvikler eller sendes til en assistent. Codestral Embed udfører repræsentationstrinnet; en separat komponent udvælger resultaterne, og en genereringsmodel skriver forklaringen eller kodeforslaget.
Semantisk søgning og lighed
Producenten beskriver kodesøgning med forespørgsler i naturligt sprog eller kode. En udvikler kan spørge efter implementeringen af en adfærd, selv når funktionsnavnet afviger fra anmodningens ordlyd. Medtag den adfærd og de betingelser, der adskiller den tilsigtede implementering; en generel forespørgsel om et helt delsystem kan genfinde relateret materiale uden at afklare det konkrete spørgsmål.
Udgivelsen beskriver også genfinding af næsten ens eller funktionelt lignende kode trods leksikale forskelle. Resultaterne kan hjælpe med at finde en genanvendelig implementering eller identificere kode til nærmere gennemgang. Lighed i embeddingrummet er et signal om at undersøge kilden; den fastslår ikke, at to fragmenter har identisk adfærd for ethvert input.
Klyngedannelse, analyse og sammenligning
Kodeembeddings kan bruges til at gruppere kode efter funktionalitet eller struktur og undersøge et repositorys sammensætning. Hold de oprindelige uddrag og identifikatorer tilgængelige, så en gruppe kan fortolkes af en person eller et senere applikationstrin. En klynge er en repræsentationsbaseret gruppering, ikke en automatisk verificeret arkitekturbeskrivelse.
Producentens eksempler med flydende vektorer bruger enhedsnormaliserede embeddings, hvor cosinuslighed, prikprodukt og euklidisk afstand giver konsistente rangeringer. Kvantiseret og bitpakket output bør bevare sin egen formathåndtering frem for at overtage en antagelse om rå koordinater med flydende tal. Det offentliggjorte endepunkt bevarer også inputindeks og hjælper dermed med at bevare forbindelsen mellem hver vektor og dens kildeelement.
Udgave og praktiske grænser
Den præcise modelside angiver embedding- og batcharbejdsgange med en kontekstbetegnelse på 8k, mens udgivelsen angiver værdien 8192 tokens. Bevar den navngivne 2505-udgave, valgte outputdimension og type gennem hele samlings- og forespørgselsarbejdsgangen. Dette er kodeorienteret vektoroutput, adskilt fra Codestrals tekstfuldførelse og den fastdimensionale Mistral Embed-tekstmodel.
Forbered kodeenheder med den relevante adfærd, gem deres kildeplaceringer, og angiv det spørgsmål, der skal findes materiale til. Det nyttige resultat er en genfindelig repræsentation knyttet til faktisk kode, som understøtter det næste trin med forklaring, redigering eller udviklergennemgang uden selv at udføre trinnet.
Ailoot Ultra · Embeddings POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Start
Codestral Embed 2505 repræsenterer kode og forespørgsler i naturligt sprog som vektorer til repositorysøgning og genfinding til kodeassistenter. Producenten dokumenterer en kontekst på 8192 tokens, konfigurerbare dimensioner op til 3072 og outputformater med flydende tal, heltal eller bitpakkede værdier.
- Accepterede input
- Tekst · token_ids
- Resultater
- embedding
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Embeddings POST /v1/embeddings
- Inputtyper
text,token_ids- Outputtyper
embedding- Kontekst
- 8.192 tokens
- Outputformat
- json
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser mistralai/codestral-embed-2505 | Standard— |
Feltinput | Typestring|string[]|integer[]|integer[][] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 Betingelser: Ikke-tom batch med ensartede elementer. Token-ID’er er ikke-negative heltal. Inputbudget: Maksimum: 8.192 · Tekstenhed: UTF8-bytes · Tokenenhed: elementer i et tokenarray | Standard— |
Feltencoding_format | Typestring | KravValgfrit | Værdier og grænser float | Standardfloat |
Feltdimensions | Typeinteger | KravIkke understøttet | Værdier og grænser Minimum: 1 | Standard— |
Feltuser | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Feltsession_id | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Felttrace | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Feltprovider | Typeobject | KravValgfrit | Værdier og grænser Betingelser: provider.options afvist | Standard— |
Kombinationer af inputmaterialer
text_to_embedding
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, input |
Parameterinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Kontraktfloat |
Parameterdimensions_override | Kontraktfalse |
Parametermax_input_budget_units | Kontrakt8192 |
Parametermultimodal_objects | Kontraktfalse |
Parametermaterial_types | Kontrakttext, token_ids |
Livscyklus: synchronous_json
Gem hver vektors indeks og dimension.
Et multimodalt modelnavn giver ikke adgang til at bruge billedobjekter på denne præcise sti.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
| Konfiguration | Takstplan | Beløb |
|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens $0.0003 / 1K tokens Output · Outputtokens $0 / 1K tokens Input · Cachelæsning — / 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 →
Eksempelanmodninger
Ailoot Ultra · Embeddings
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "mistralai/codestral-embed-2505", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='mistralai/codestral-embed-2505',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Hent og gem resultater
Ailoot Ultra · Embeddings
json
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Gem hver vektor med dens indeks. Antallet af vektorer skal svare til antallet af input; dimensionerne skal være ensartede.
Hvis det oprindelige svar skal kontrolleres
Der indføres intet endpoint til embedding-job.
Svarfelter
| Felt | Type |
|---|---|
Feltobject | Typestring |
Feltmodel | Typestring |
Feltdata[].index | Typeinteger |
Feltdata[].embedding | Typefinite float[] |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra mistralai/codestral-embed-2505
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · Mistral: Codestral Embed 2505
- Hvilke input og resultater er tilgængelige?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Hvilke felter bruger anmodningen?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Hvilke grænser gælder?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(UTF8-bytes);input.min_items:1