Mistral: Codestral Embed 2505
Codestral Embed 2505 representeert code en zoekvragen in natuurlijke taal als vectoren voor repositoryzoeken en contextopvraging door programmeerassistenten. De maker documenteert een context van 8.192 tokens, configureerbare dimensies tot 3.072 en uitvoerformaten met drijvende-kommagetallen, gehele getallen of bitverpakking.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Codestral Embed 2505 is het embeddingmodel van Mistral AI dat in codezoekopdrachten is gespecialiseerd. Het ontvangt tekst met broncode of een codezoekvraag in natuurlijke taal en retourneert numerieke vectoren. De maker positioneert het voor repositoryzoeken, contextopvraging voor programmeerassistenten, gelijkenis- en duplicaatanalyse en groepering van code op functionaliteit of structuur. De vaste release-identifier is codestral-embed-2505.
Invoer en representatie
Code-invoer kan een functie, een samenhangend bronfragment of een andere betekenisvolle eenheid van een repository zijn. Een zoekvraag in natuurlijke taal kan het te vinden gedrag beschrijven in plaats van het exacte symbool te benoemen. De embedding representeert die invoer voor vergelijking; het model genereert geen nieuwe implementatie en voert de ontvangen code niet uit.
De officiële release documenteert een volledige invoercontext van 8.192 tokens. Voor informatieopvraging beveelt de maker fragmenten van ongeveer 3.000 tekens met 1.000 tekens overlap aan en merkt hij op dat grotere fragmenten de zoekkwaliteit kunnen schaden. Dat zijn aanbevelingen voor zoekvoorbereiding, geen tokenlimiet van 3.000 tekens. Houd bestand, symbool en bronlocatie gekoppeld aan elk voorbereid item, zodat de toepassing na het zoeken de relevante code kan teruggeven.
Uitvoerprecisie en dimensies
De code-embeddinggids documenteert de uitvoertypen float, int8, uint8, binary en ubinary. Float gebruikt 32-bits waarden met enkele precisie. Int8 gebruikt 8-bits gehele getallen met teken van -128 tot 127, terwijl uint8 8-bits waarden zonder teken van 0 tot 255 gebruikt. Binary en ubinary slaan gekwantiseerde waarden van één bit op in gepakte 8-bits elementen, respectievelijk in containers met en zonder teken.
Bitverpakking verandert de lengte van de geretourneerde lijst: de gids beschrijft één gepakt element voor elke acht logische embeddingdimensies. Een formaatbewuste vergelijking is dus iets anders dan de gepakte bytes als gewone drijvende-kommacoördinaten behandelen. Bewaar het gekozen type bij de vector en gebruik dezelfde representatie voor geïndexeerde code en de zoekvraag.
De parameterdocumentatie geeft een standaarddimensie van 1.536 en een maximum van 3.072. Dimensies zijn op relevantie geordend en de maker beschrijft het behouden van het eerste gekozen aantal als manier om de representatiegrootte te selecteren. Kies de dimensie consistent voor de opgeslagen verzameling en nieuwe zoekvragen. Een kortere of gekwantiseerde representatie verandert opslag- en vergelijkingsgedrag; zij vergroot de invoercontext niet en maakt het model niet tot een codegenerator.
Door informatieopvraging ondersteund programmeren
De eerste toepassing uit de release is het ophalen van context voor codeaanvulling, bewerking of uitleg. Bereid betekenisvolle code-eenheden voor en bewaar de repositoryrevisie en bronidentifiers. Een vraag over hoe een bepaalde fout wordt afgehandeld kan verwante functies ophalen, die de toepassing vervolgens samen met het daadwerkelijke wijzigingsverzoek aan een programmeermodel levert.
Een praktisch resultaat is een gerangschikte verzameling bronfragmenten met bestandspaden, symbolen en de inhoud die nodig is om hun gedrag te begrijpen. De opgehaalde fragmenten kunnen door een ontwikkelaar worden geopend of aan een assistent worden doorgegeven. Codestral Embed voert de representatiestap uit; een afzonderlijke component selecteert de resultaten en een generatiemodel schrijft eventuele uitleg of voorgestelde code.
Semantisch zoeken en gelijkenis
De maker beschrijft codezoeken met natuurlijke-taal- of codezoekvragen. Een ontwikkelaar kan om de implementatie van gedrag vragen, ook wanneer de functienaam van de bewoordingen van het verzoek verschilt. Neem het gedrag en de voorwaarden op die de beoogde implementatie onderscheiden; een algemene vraag over een volledig subsysteem kan verwant materiaal ophalen zonder de specifieke vraag op te lossen.
De release beschrijft ook het vinden van bijna-dubbele of functioneel vergelijkbare code ondanks lexicale verschillen. Zulke resultaten kunnen helpen een herbruikbare implementatie te vinden of code voor verdere beoordeling te identificeren. Gelijkenis in de embeddingruimte is een signaal om de bron te onderzoeken; zij stelt niet vast dat twee fragmenten voor elke invoer identiek gedrag hebben.
Clustering, analyse en vergelijking
Code-embeddings kunnen worden gebruikt om code op functionaliteit of structuur te groeperen en de samenstelling van een repository te onderzoeken. Houd de oorspronkelijke fragmenten en identifiers beschikbaar, zodat een persoon of een latere toepassingsstap een groep kan interpreteren. Een cluster is een op representaties gebaseerde groepering, geen automatisch geverifieerde architectuurbeschrijving.
De voorbeelden van de maker met drijvende-kommavectoren gebruiken naar eenheidslengte genormaliseerde embeddings, waarvoor cosinusgelijkenis, inproduct en Euclidische afstand consistente rangschikkingen geven. Gekwantiseerde en bitverpakte uitvoer moeten hun eigen formaatverwerking behouden in plaats van een aanname over ruwe drijvende-kommacoördinaten over te nemen. Het gepubliceerde eindpunt behoudt ook invoerindices, wat de koppeling tussen elke vector en het bronitem helpt bewaren.
Editie en praktische grenzen
De exacte modelpagina noemt embedding- en batchworkflows met een 8k-contextlabel, terwijl de release de waarde van 8.192 tokens geeft. Behoud de benoemde 2505-editie, gekozen uitvoerdimensie en type in de volledige workflow voor verzameling en zoekvragen. Dit is codegerichte vectoruitvoer, onderscheiden van tekstaanvulling door Codestral en van het Mistral-Embed-tekstmodel met vaste dimensies.
Bereid code-eenheden voor die het relevante gedrag bevatten, bewaar hun bronlocaties en formuleer de te vinden vraag. Het bruikbare artefact is een opvraagbare representatie gekoppeld aan daadwerkelijke code, die de volgende uitleg-, bewerkings- of ontwikkelaarsbeoordelingsstap ondersteunt zonder die stap zelf uit te voeren.
Ailoot Ultra · Embeddings POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Aan de slag
Codestral Embed 2505 representeert code en zoekvragen in natuurlijke taal als vectoren voor repositoryzoeken en contextopvraging door programmeerassistenten. De maker documenteert een context van 8.192 tokens, configureerbare dimensies tot 3.072 en uitvoerformaten met drijvende-kommagetallen, gehele getallen of bitverpakking.
- Toegestane invoer
- Tekst · token_ids
- Resultaten
- embedding
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Invoertypen
text,token_ids- Uitvoertypen
embedding- Context
- 8.192 tokens
- Uitvoerformaat
- json
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten mistralai/codestral-embed-2505 | Standaard— |
Veldinput | Typestring|string[]|integer[]|integer[][] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 Voorwaarden: Niet-lege homogene batch. Token-ID’s zijn niet-negatieve gehele getallen. Invoerbudget: Maximum: 8.192 · Teksteenheid: UTF8-bytes · Tokeneenheid: elementen van de token-array | Standaard— |
Veldencoding_format | Typestring | VereisteOptioneel | Waarden en limieten float | Standaardfloat |
Velddimensions | Typeinteger | VereisteNiet ondersteund | Waarden en limieten Minimum: 1 | Standaard— |
Velduser | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de exacte betekenis bij de upstreamprovider verschilt per model. | Standaard— |
Veldsession_id | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de exacte betekenis bij de upstreamprovider verschilt per model. | Standaard— |
Veldtrace | Typejson_value | VereisteOptioneel | Waarden en limieten Voorwaarden: De bron staat dit JSON-metadataveld toe; de exacte betekenis bij de upstreamprovider verschilt per model. | Standaard— |
Veldprovider | Typeobject | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options geweigerd | Standaard— |
Combinaties van invoermaterialen
text_to_embedding
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input |
Parameterinput_shapes | Contractstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Contractfloat |
Parameterdimensions_override | Contractfalse |
Parametermax_input_budget_units | Contract8192 |
Parametermultimodal_objects | Contractfalse |
Parametermaterial_types | Contracttext, token_ids |
Levenscyclus: synchronous_json
Bewaar elke vectorindex en dimensie.
Een multimodale modelnaam houdt niet in dat afbeeldingsobjecten op dit specifieke pad zijn toegestaan.
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Standaardtarief Wanneer de snelle modus is geselecteerd
- Flexmodus
- Standaardtarief Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Standaardtarief Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Ailoot-tarieven
Prijzen per configuratie
| Configuratie | Tariefstaffel | Kosten |
|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Kosten Invoer · Invoertokens $0.0003 / 1K tokens Uitvoer · Uitvoertokens $0 / 1K tokens Invoer · Cache lezen — / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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)
Resultaten ophalen en opslaan
Ailoot Ultra · Embeddings
json
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar elke vector met zijn index. Het aantal vectoren moet gelijk zijn aan het aantal invoeritems; de dimensies moeten consistent zijn.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Er wordt geen endpoint voor embeddingtaken geïntroduceerd.
Antwoordvelden
| Veld | Type |
|---|---|
Veldobject | Typestring |
Veldmodel | Typestring |
Velddata[].index | Typeinteger |
Velddata[].embedding | Typefinite float[] |
Veldusage | Typeobject |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra mistralai/codestral-embed-2505
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Mistral: Codestral Embed 2505
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Welke velden gebruikt het verzoek?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Welke limieten gelden?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(UTF8-bytes);input.min_items:1