Panoramica
jina-code-embeddings-1.5b è un modello di embedding del codice da 1,5B parametri che mappa il codice di programmazione e le query in linguaggio naturale in uno spazio semantico condiviso di 1536 dimensioni. Supporta finestre di contesto di 32K token, abilitando la retrieval su file interi e contesti di codice multi-file. Raggiunge prestazioni state-of-the-art nella retrieval del codice, superando significativamente la sua variante 0,5B e modelli dedicati di retrieval del codice nettamente più grandi.
Metodi
Il modello è basato su un backbone transformer autoregressivo pre-addestrato su corpora di linguaggio naturale e codice, sfruttando l'obiettivo di pre-addestramento per la generazione di codice per produrre rappresentazioni semantiche ricche. Estrae gli embedding tramite Last-Token-Pooling dalla posizione finale della sequenza — l'attenzione causale del modello autoregressivo si concentra naturalmente sull'intero contesto di input, e l'obiettivo di generazione di codice produce rappresentazioni che catturano sia la struttura sintattica sia la semantica funzionale. L'addestramento usa una ricetta in due fasi: (1) pre-addestramento contrastivo su coppie codice-testo su larga scala, (2) fine-tuning supervisionato su dataset di retrieval del codice curati, con mining di negativi difficili. La lunghezza di contesto di 32K è abilitata tramite embedding posizionali rotazionali con frequenza di base calibrata. L'apprendimento delle rappresentazioni Matryoshka consente la troncatura delle dimensioni da 1536 a 128.
Prestazione
Il modello raggiunge una media generale del 79,04% e una media MTEB Code del 78,94%, stabilendo nuovi benchmark per la sua classe di parametri. Punteggi degni di nota: 98,41% su HumanEval, 90,13% su MBPP, 98,02% su WikiSQL, 99,44% su CodeChefXLang, 92,54% su CodeTransOceanContest (codice-a-codice), 86,45% su COIR-CodeSearchNet (NL2Code), 96,34% su Doc2Code, 92,37% su StackOverflowQA e 86,33% su SWE-Bench (contro l'83,00% della variante 0,5B). Supera le alternative più grandi e mostra miglioramenti coerenti rispetto alla variante 0,5B, in particolare sui task complessi multi-file e cross-repository.
Orientamento
Impiega strategicamente i prefissi di istruzione in base alle esigenze di retrieval: nl2code, code2code, code2nl, techqa, code2completion. Mantieni la coerenza su tutta la pipeline — usa lo stesso tipo di prefisso per query e documenti in uno scenario di retrieval dato. La capacità potenziata di 1,5B è ideale per scenari complessi che coinvolgono più paradigmi di programmazione e codebase estese. Profila i casi d'uso per determinare la dimensione Matryoshka ottimale che bilanci qualità e risorse; 256–512 dimensioni è un buon punto di partenza per l'indicizzazione, 1536 per il re-ranking. Usa batch size 256 per l'allineamento con l'addestramento in produzione. Il modello è eccellente per le ricerche cross-repository e cross-linguaggio, data la performance di 99,44% su CodeChefXLang. Implementalo come componente principale di retrieval nei sistemi RAG, abbinato a jina-reranker-v3.5 per la precisione sui top-50 candidati. Usa la similarità coseno per il confronto degli embedding. Ottimale per deployment enterprise che richiedono sia prestazioni sia efficienza con latenza inferiore al secondo.


