Mistral: Codestral Embed 2505
Codestral Embed 2505 representerar kod och frågor på naturligt språk som vektorer för kodarkivssökning och informationssökning åt kodassistenter. Tillverkaren dokumenterar en kontext på 8192 token, konfigurerbara dimensioner upp till 3072 och flyttals-, heltals- eller bitpackade resultatformat.
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 Embed 2505 är Mistral AI:s inbäddningsmodell specialiserad för kodsökning. Den tar emot text med källkod eller en kodfråga på naturligt språk och returnerar numeriska vektorer. Tillverkaren positionerar den för sökning i kodarkiv, kontexthämtning åt kodassistenter, likhets- och dubblettanalys samt gruppering av kod efter funktionalitet eller struktur. Dess fasta utgivningsidentifierare är codestral-embed-2505.
Indata och representation
Kodindata kan vara en funktion, ett relaterat källfragment eller en annan meningsfull enhet i ett kodarkiv. En fråga på naturligt språk kan beskriva beteendet som ska hittas i stället för att ange den exakta symbolen. Inbäddningen representerar indata för jämförelse; modellen genererar inte en ny implementation eller kör koden den tar emot.
Den officiella utgåvan dokumenterar en full indatakontext på 8192 token. För sökning rekommenderar tillverkaren delar på ungefär 3000 tecken med 1000 teckens överlappning och påpekar att större delar kan försämra sökningen. Detta är rekommendationer för sökförberedelse, inte en tokengräns på 3000 tecken. Håll fil, symbol och källplats kopplade till varje förberett objekt så att applikationen kan returnera relevant kod efter sökning.
Resultatprecision och dimensioner
Kodinbäddningsguiden dokumenterar resultattyperna float, int8, uint8, binary och ubinary. Float använder 32-bitars värden med enkelprecision. Int8 använder 8-bitars heltal med tecken från -128 till 127, medan uint8 använder 8-bitars värden utan tecken från 0 till 255. Binary och ubinary lagrar kvantiserade enbitsvärden i packade 8-bitars element, med behållare med respektive utan tecken.
Bitpackad representation ändrar den returnerade listans längd: Guiden beskriver ett packat element för varje grupp om åtta logiska inbäddningsdimensioner. En formatmedveten jämförelse skiljer sig därför från att behandla packade byte som vanliga flyttalskoordinater. Behåll den valda typen tillsammans med vektorn och använd samma representation för indexerad kod och dess fråga.
Parameterdokumentationen anger en standarddimension på 1536 och ett maximum på 3072. Dimensionerna är ordnade efter relevans och tillverkaren beskriver att behålla det första valda antalet som ett sätt att välja representationsstorlek. Välj dimensionen konsekvent för den lagrade samlingen och nya frågor. En kortare eller kvantiserad representation ändrar lagrings- och jämförelsebeteendet; den ökar inte indatakontexten eller gör modellen till en kodgenerator.
Kodning med hämtad kontext
Utgåvans första användningsfall är att hämta kontext för kodkomplettering, redigering eller förklaring. Förbered meningsfulla kodenheter och behåll kodarkivets revision och källidentifierarna. En fråga om hur ett visst fel hanteras kan hämta relaterade funktioner som applikationen sedan ger till en kodmodell tillsammans med den faktiska ändringsbegäran.
Ett praktiskt resultat är en rangordnad uppsättning källutdrag med filsökvägar, symboler och innehållet som behövs för att förstå deras beteende. Utdragen kan öppnas av en utvecklare eller ges till en assistent. Codestral Embed utför representationssteget; en separat komponent väljer resultaten och en genereringsmodell skriver förklaringen eller kodförslaget.
Semantisk sökning och likhet
Tillverkaren beskriver kodsökning med frågor på naturligt språk eller i kod. En utvecklare kan fråga efter implementationen av ett beteende även när funktionsnamnet skiljer sig från begärans ordalydelse. Ta med beteendet och villkoren som särskiljer den avsedda implementationen; en generell fråga om ett helt delsystem kan hämta relaterat material utan att lösa den specifika frågan.
Utgåvan beskriver också att hitta nästan duplicerad eller funktionellt liknande kod trots lexikala skillnader. Sådana resultat kan hjälpa till att hitta en återanvändbar implementation eller identifiera kod som behöver ytterligare granskning. Likhet i inbäddningsrummet är en signal att granska källan; den fastställer inte att två fragment har identiskt beteende för alla indata.
Klustring, analys och jämförelse
Kodinbäddningar kan användas för att gruppera kod efter funktionalitet eller struktur och granska ett kodarkivs sammansättning. Håll originalutdragen och identifierarna tillgängliga så att en grupp kan tolkas av en person eller ett senare applikationssteg. Ett kluster är en representationsbaserad gruppering, inte en automatiskt verifierad arkitekturbeskrivning.
Tillverkarens flyttalsvektorexempel använder enhetsnormaliserade inbäddningar, för vilka cosinuslikhet, skalärprodukt och euklidiskt avstånd ger konsekventa rangordningar. Kvantiserat och bitpackat resultat bör behålla sin egen formathantering i stället för att ärva ett antagande om råa flyttalskoordinater. Den publicerade slutpunkten behåller också indataindex, vilket hjälper till att bevara kopplingen mellan varje vektor och dess källobjekt.
Utgåva och praktiska gränser
Den exakta modellsidan listar inbäddnings- och batcharbetsflöden med en kontextetikett på 8k, medan utgivningsinformationen anger 8192 token. Bevara den namngivna 2505-utgåvan, vald resultatdimension och typ genom hela samlings- och frågearbetsflödet. Detta är kodorienterat vektorresultat, åtskilt från Codestrals textkomplettering och den fastdimensionella textmodellen Mistral Embed.
Förbered kodenheter som bär det relevanta beteendet, behåll deras källplatser och formulera frågan som material ska hittas för. Den användbara artefakten är en sökbar representation kopplad till faktisk kod, som stöder nästa förklarings-, redigerings- eller utvecklargranskningssteg utan att själv utföra det.
Ailoot Ultra · Embeddings POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Start
Codestral Embed 2505 representerar kod och frågor på naturligt språk som vektorer för kodarkivssökning och informationssökning åt kodassistenter. Tillverkaren dokumenterar en kontext på 8192 token, konfigurerbara dimensioner upp till 3072 och flyttals-, heltals- eller bitpackade resultatformat.
- Godkända indata
- Text · token_ids
- Resultat
- embedding
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Embeddings POST /v1/embeddings
- Indatatyper
text,token_ids- Utdatatyper
embedding- Kontext
- 8 192 tokens
- Utdataformat
- json
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser mistralai/codestral-embed-2505 | Standard— |
Fältinput | Typstring|string[]|integer[]|integer[][] | KravObligatoriskt | Värden & gränser Minsta antal objekt: 1 Villkor: En homogen batch som inte är tom. Token-ID:n är heltal som är större än eller lika med noll. Indatabudget: Maximum: 8 192 · Textenhet: UTF8-byte · Tokenenhet: element i en tokenarray | Standard— |
Fältencoding_format | Typstring | KravValfritt | Värden & gränser float | Standardfloat |
Fältdimensions | Typinteger | KravStöds inte | Värden & gränser Minimum: 1 | Standard— |
Fältuser | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fältsession_id | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fälttrace | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fältprovider | Typobject | KravValfritt | Värden & gränser Villkor: provider.options avvisades | Standard— |
Kombinationer av indatamaterial
text_to_embedding
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, input |
Parameterinput_shapes | Avtalstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Avtalfloat |
Parameterdimensions_override | Avtalfalse |
Parametermax_input_budget_units | Avtal8192 |
Parametermultimodal_objects | Avtalfalse |
Parametermaterial_types | Avtaltext, token_ids |
Livscykel: synchronous_json
Behåll varje vektorindex och dimension.
Att modellen har ett multimodalt namn innebär inte att bildobjekt tillåts på just denna anropsväg.
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Standardpris När snabbt läge är valt
- Flex-läge
- Standardpris När läget flex är valt
- Högsta resonemangsnivå
- Standardpris När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
| Konfiguration | Prislista | Avgift |
|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken $0.0003 / 1K token Utdata · Utdatatoken $0 / 1K token Indata · Cacheläsning — / 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 · 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)
Ta emot och spara resultat
Ailoot Ultra · Embeddings
json
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll varje vektor tillsammans med dess index. Antalet vektorer måste vara lika med antalet indataobjekt; dimensionerna måste vara konsekventa.
Om det ursprungliga svaret behöver kontrolleras
Ingen endpoint för inbäddningsjobb införs.
Svarsfält
| Fält | Typ |
|---|---|
Fältobject | Typstring |
Fältmodel | Typstring |
Fältdata[].index | Typinteger |
Fältdata[].embedding | Typfinite float[] |
Fältusage | Typobject |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Alias
Modellalias
Ailoot Ultra mistralai/codestral-embed-2505
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · Mistral: Codestral Embed 2505
- Vilka indata och resultat finns?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Vilka fält använder begäran?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Vilka gränser gäller?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(UTF8-byte);input.min_items:1