Mistral: Codestral Embed 2505
Codestral Embed 2505 rappresenta codice e query in linguaggio naturale come vettori per ricerca nei repository e recupero degli assistenti di programmazione. Il produttore documenta un contesto di 8192 token, dimensioni configurabili fino a 3072 e formati di output a virgola mobile, interi o con bit compattati.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Codestral Embed 2505 è il modello di embedding di Mistral AI specializzato nel recupero di codice. Riceve testo contenente codice sorgente o una query sul codice in linguaggio naturale e restituisce vettori numerici. Il produttore lo propone per ricerca nei repository, recupero di contesto per assistenti di programmazione, analisi di similarità e duplicati, e raggruppamento del codice per funzionalità o struttura. Il suo identificatore di release fisso è codestral-embed-2505.
Input e rappresentazione
Un input di codice può essere una funzione, un frammento sorgente correlato o un’altra unità significativa di un repository. Una query in linguaggio naturale può descrivere il comportamento da trovare anziché nominare il simbolo esatto. L’embedding rappresenta quell’input per il confronto; il modello non genera una nuova implementazione e non esegue il codice ricevuto.
La release ufficiale documenta un contesto completo di input di 8192 token. Per il recupero, il produttore raccomanda segmenti di circa 3000 caratteri con 1000 caratteri di sovrapposizione, osservando che segmenti più grandi possono peggiorare il recupero. Sono raccomandazioni di preparazione per la ricerca, non un limite in token di 3000 caratteri. Mantieni file, simbolo e posizione nella fonte associati a ogni elemento preparato, affinché l’applicazione possa restituire il codice pertinente dopo la ricerca.
Precisione e dimensioni dell’output
La guida di embedding del codice documenta i tipi di output float, int8, uint8, binary e ubinary. Float usa valori a precisione singola di 32 bit. Int8 usa interi con segno a 8 bit da -128 a 127, mentre uint8 usa valori senza segno a 8 bit da 0 a 255. Binary e ubinary memorizzano valori quantizzati a singolo bit in elementi compattati a 8 bit, usando contenitori rispettivamente con e senza segno.
La rappresentazione con bit compattati cambia la lunghezza dell’elenco restituito: la guida descrive un elemento compattato ogni otto dimensioni logiche di embedding. Un confronto consapevole del formato è quindi diverso dal trattare i byte compattati come normali coordinate a virgola mobile. Preserva il tipo scelto insieme al vettore e usa la stessa rappresentazione per il codice indicizzato e la sua query.
La documentazione dei parametri indica una dimensione predefinita di 1536 e un massimo di 3072. Le dimensioni sono ordinate per pertinenza e il produttore descrive il mantenimento del numero scelto di prime dimensioni come un modo per selezionare la dimensione della rappresentazione. Scegli la dimensione in modo coerente per la raccolta memorizzata e le nuove query. Una rappresentazione più corta o quantizzata cambia il comportamento di memorizzazione e confronto; non aumenta il contesto di input e non trasforma il modello in un generatore di codice.
Programmazione aumentata dal recupero
Il primo caso d’uso della release è recuperare contesto per completamento, modifica o spiegazione del codice. Prepara unità di codice significative e conserva la revisione del repository e gli identificatori delle fonti. Una domanda su come viene gestito un particolare errore può recuperare funzioni correlate, che l’applicazione fornisce poi a un modello di programmazione insieme alla richiesta effettiva di modifica.
Un risultato concreto è un insieme ordinato di frammenti sorgenti con percorsi di file, simboli e il contenuto necessario per comprenderne il comportamento. I frammenti recuperati possono essere aperti da uno sviluppatore o passati a un assistente. Codestral Embed esegue il passaggio di rappresentazione; un componente separato seleziona i risultati e un modello generativo scrive la spiegazione o il codice proposto.
Ricerca semantica e similarità
Il produttore descrive la ricerca nel codice con query in linguaggio naturale o codice. Uno sviluppatore può chiedere l’implementazione di un comportamento anche quando il nome della funzione differisce dalla formulazione della richiesta. Includi comportamento e condizioni che distinguono l’implementazione desiderata; una query generale su un intero sottosistema può recuperare materiale correlato senza risolvere la domanda specifica.
La release descrive anche la ricerca di codice quasi duplicato o funzionalmente simile nonostante differenze lessicali. Tali risultati possono aiutare a trovare un’implementazione riutilizzabile o identificare codice che richiede ulteriori verifiche. La similarità nello spazio di embedding è un segnale per esaminare il sorgente; non stabilisce che due frammenti abbiano comportamento identico per ogni input.
Clustering, analisi e confronto
Gli embedding di codice possono essere usati per raggruppare codice per funzionalità o struttura ed esaminare la composizione di un repository. Mantieni disponibili i frammenti originali e gli identificatori, affinché un gruppo possa essere interpretato da una persona o da una fase applicativa successiva. Un cluster è un raggruppamento basato sulla rappresentazione, non una descrizione dell’architettura verificata automaticamente.
Gli esempi di vettori a virgola mobile del produttore usano embedding normalizzati a norma unitaria, per i quali similarità del coseno, prodotto scalare e distanza euclidea danno ordinamenti coerenti. Gli output quantizzati e con bit compattati dovrebbero conservare la propria gestione del formato, anziché ereditare un’ipotesi sulle coordinate grezze a virgola mobile. L’endpoint pubblicato conserva inoltre gli indici di input, aiutando a mantenere il collegamento tra ogni vettore e il suo elemento di origine.
Edizione e confini pratici
La pagina esatta del modello elenca flussi di embedding e batch con un’indicazione di contesto di 8k, mentre la release fornisce il valore di 8192 token. Preserva l’edizione denominata 2505, la dimensione di output scelta e il tipo lungo l’intero flusso della raccolta e delle query. È output vettoriale orientato al codice, distinto dal completamento testuale di Codestral e dal modello testuale Mistral Embed a dimensione fissa.
Prepara unità di codice che contengano il comportamento pertinente, mantieni le posizioni nelle fonti e formula la domanda a cui la ricerca deve rispondere. L’artefatto utile è una rappresentazione recuperabile collegata a codice effettivo, che supporta il successivo passaggio di spiegazione, modifica o verifica da parte dello sviluppatore senza eseguirlo direttamente.
Ailoot Ultra · Embedding POST /v1/embeddings mistralai/codestral-embed-2505
mistralai/codestral-embed-2505
mistralai/codestral-embed-2505Introduzione
Codestral Embed 2505 rappresenta codice e query in linguaggio naturale come vettori per ricerca nei repository e recupero degli assistenti di programmazione. Il produttore documenta un contesto di 8192 token, dimensioni configurabili fino a 3072 e formati di output a virgola mobile, interi o con bit compattati.
- Input accettati
- Testo · token_ids
- Risultati
- embedding
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Embedding POST /v1/embeddings
- Tipi di input
text,token_ids- Tipi di output
embedding- Contesto
- 8192 tokens
- Formato di output
- json
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti mistralai/codestral-embed-2505 | Predefinito— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 Condizioni: Batch omogeneo non vuoto. Gli ID dei token sono numeri interi non negativi. Budget di input: Massimo: 8192 · Unità di testo: byte UTF8 · Unità di token: elementi dell’array di token | Predefinito— |
Campoencoding_format | Tipostring | RequisitoFacoltativo | Valori e limiti float | Predefinitofloat |
Campodimensions | Tipointeger | RequisitoNon supportato | Valori e limiti Minimo: 1 | Predefinito— |
Campouser | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Camposession_id | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Campotrace | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Campoprovider | Tipoobject | RequisitoFacoltativo | Valori e limiti Condizioni: provider.options rifiutato | Predefinito— |
Combinazioni di materiali in input
text_to_embedding
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, input |
Parametroinput_shapes | Contrattostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametroencoding_format | Contrattofloat |
Parametrodimensions_override | Contrattofalse |
Parametromax_input_budget_units | Contratto8192 |
Parametromultimodal_objects | Contrattofalse |
Parametromaterial_types | Contrattotext, token_ids |
Ciclo di vita: synchronous_json
Conserva l'indice e la dimensione di ogni vettore.
Il nome del modello multimodale non consente oggetti immagine su questo percorso specifico.
Tariffe
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Tariffa standard Quando è selezionata la modalità rapida
- Modalità flex
- Tariffa standard Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe Ailoot
Prezzi per configurazione
| Configurazione | Listino delle tariffe | Costo |
|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo Input · Token in input $0.0003 / 1K token Output · Token in output $0 / 1K token Input · Lettura dalla cache — / 1K token Input · Scrittura nella cache — / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Embedding
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)
Ricevi e salva i risultati
Ailoot Ultra · Embedding
json
Conserva tutti i risultati completati
Conserva ogni risposta, file e parte di contenuto restituiti per intero.
Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.
Se occorre verificare la risposta originale
Non viene introdotto alcun endpoint per i job di embedding.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra mistralai/codestral-embed-2505
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · Mistral: Codestral Embed 2505
- Quali input e risultati sono disponibili?
POST /v1/embeddings·mistralai/codestral-embed-2505:text,token_ids→embedding- Quali campi usa la richiesta?
POST /v1/embeddings·mistralai/codestral-embed-2505:model,input,encoding_format,provider- Quali limiti si applicano?
POST /v1/embeddings·mistralai/codestral-embed-2505:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1