Siamo lieti di rilasciare Codestral Embed, il nostro primo modello di embedding specializzato per il codice. Offre prestazioni particolarmente elevate per i casi d'uso di retrieval su dati di codice reali.
Codestral Embed supera in modo significativo i principali embedder per codice oggi sul mercato: Voyage Code 3, Cohere Embed v4.0 e il modello di embedding large di OpenAI.
Codestral Embed può produrre embedding con dimensioni e precisioni diverse, e la figura seguente illustra i compromessi tra qualità del retrieval e costi di archiviazione. Codestral Embed con dimensione 256 e precisione int8 offre comunque prestazioni migliori di qualsiasi modello dei nostri concorrenti. Le dimensioni dei nostri embedding sono ordinate per rilevanza. Per qualsiasi dimensione target intera n, è possibile scegliere di mantenere le prime n dimensioni per ottenere un compromesso graduale tra qualità e costo.

Risultati
Di seguito mostriamo le prestazioni di Codestral Embed per diverse categorie. I dettagli dei benchmark corrispondenti a ciascuna categoria sono disponibili nella tabella della sezione “Dettagli dei benchmark”.
SWE-Bench si basa su un dataset di issue GitHub reali e sulle correzioni corrispondenti, ed è particolarmente rilevante per la generazione aumentata dal retrieval per agenti di coding. Text2Code (GitHub) contiene benchmark rilevanti per fornire contesto al completamento o alla modifica del codice. Riteniamo che queste due categorie siano particolarmente rilevanti per gli assistenti di codice.
Casi d'uso
Codestral Embed è ottimizzato per il retrieval del codice ad alte prestazioni e per la comprensione semantica. Abilita una serie di applicazioni pratiche nei workflow di sviluppo, soprattutto quando si lavora con corpora di codice su larga scala.
1. Generazione aumentata dal retrieval
Codestral Embed facilita il retrieval rapido ed efficiente del contesto per attività di completamento, modifica o spiegazione del codice. È ideale per il software engineering basato sull'AI in copiloti o framework per agenti di coding.
2. Ricerca semantica del codice
Embed consente una ricerca accurata di snippet di codice rilevanti a partire da query in linguaggio naturale o in codice. È adatto all'uso all'interno di strumenti per sviluppatori, sistemi di documentazione e copiloti.
3. Ricerca per similarità e rilevamento dei duplicati
Gli embedding del modello possono essere utilizzati per identificare segmenti di codice quasi duplicati o funzionalmente simili, anche in presenza di variazioni lessicali significative. Questo supporta casi d'uso come l'identificazione di codice riutilizzabile per evitare duplicati, o il rilevamento del riuso tramite copia-incolla per applicare le policy di licenza.
4. Clustering semantico e analytics del codice
Codestral Embed supporta il raggruppamento non supervisionato del codice in base a funzionalità o struttura. Questo è utile per analizzare la composizione dei repository, identificare pattern architetturali emergenti o alimentare sistemi automatizzati di documentazione e categorizzazione.
Disponibilità
Codestral Embed è disponibile sulla nostra API con il nome `codestral-embed-2505` al prezzo di $0,15 per milione di token. È inoltre disponibile sulla nostra API batch con uno sconto del 50%. Per deployment on-prem, La invitiamo a contattarci per mettersi in contatto con il nostro Team di AI applicata.
Consulti la nostra documentazione per iniziare e il nostro cookbook per esempi su come utilizzare Codestral Embed per il retrieval degli agenti di codice.
Parametri di chunking
Per i casi d'uso di retrieval, pur potendo utilizzare l'intera dimensione del contesto di 8192 token, spesso è più efficiente suddividere il dataset in chunk. Consigliamo di usare chunk di 3000 caratteri con una sovrapposizione di 1000 caratteri. Chunk più grandi tendono a influire negativamente sulle prestazioni del sistema di retrieval. Consulti il nostro cookbook per maggiori informazioni sul chunking.
Dettagli dei benchmark
I dettagli dei benchmark utilizzati per valutare il nostro modello sono disponibili nella tabella seguente. Riportiamo il punteggio medio per categoria e la macro-media (media dei punteggi di ciascuna categoria).
Benchmark | Descrizione | Categoria |
|---|---|---|
SWE-Bench lite | Esempi da SWE-Bench lite: dati issue GitHub reali, recuperare i file da modificare per risolvere l'issue a partire dallo stato specificato del repository. Massima rilevanza per il RAG degli agenti di codice. | swebench_lite |
CodeSearchNet Code -> Code | Dato codice reale da GitHub, recuperare il codice che appare nello stesso contesto | code2code |
CodeSearchNet doc2code | Data una docstring da codice GitHub reale, recuperare il codice corrispondente | Text2code (github) |
CommitPack | Dato un messaggio di commit da codice GitHub reale, recuperare i file modificati corrispondenti | Text2code (github) |
Spider | Recuperare codice SQL data una query | Text2SQL |
WikiSQL | Recuperare codice SQL data una query | Text2SQL |
Synthetic Text2SQL | Recuperare codice SQL data una query | Text2SQL |
DM code contests | Abbinare le descrizioni dei problemi alle soluzioni corrette per siti di competizioni di programmazione (il corpus contiene soluzioni corrette e non corrette per ciascun problema). | Text2Code (Algorithms) |
APPS | Abbinare le descrizioni dei problemi alle soluzioni per siti di competizioni di programmazione. | Text2Code (Algorithms) |
CodeChef | Abbinare le descrizioni dei problemi alle soluzioni per siti di competizioni di programmazione. | Text2Code (Algorithms) |
MBPP+ | Abbinare domande algoritmiche a soluzioni per programmi Python per lo più di base | Text2Code (Algorithms) |
DS 1000 | Abbinare domande di data science alle implementazioni | Text2Code (Data Science) |





