Descripción general
jina-code-embeddings-0.5b es un modelo de embeddings de código de 494M parámetros que mapea código de programación y consultas en lenguaje natural a un espacio semántico compartido de 896 dimensiones. Admite ventanas de contexto de 32K tokens, lo que permite la recuperación de funciones completas y de múltiples archivos, y usa aprendizaje de representaciones Matryoshka para una dimensionalidad flexible (64–896). Alcanza un rendimiento state-of-the-art en recuperación de código para su tamaño, superando a modelos con el triple de parámetros.
Métodos
El modelo se construye sobre un backbone transformer autoregresivo preentrenado en corpora de lenguaje natural y código. En lugar del agrupamiento bidireccional usado por los modelos de embedding tradicionales, extrae embeddings mediante Last-Token-Pooling desde la posición final de la secuencia. Esto es un hallazgo arquitectónico clave: la atención causal del modelo autoregresivo atiende de forma natural a todo el contexto de entrada, y el objetivo de preentrenamiento de generación de código produce representaciones semánticas ricas que se transfieren bien a la recuperación. El entrenamiento usa una receta de dos etapas: (1) preentrenamiento contrastivo en pares código-texto a gran escala (descripciones en lenguaje natural emparejadas con implementaciones de código) y (2) ajuste fino supervisado en conjuntos de datos de recuperación de código curados, con minería de negativos difíciles. La longitud de contexto de 32K se habilita mediante embeddings de posición rotacionales con una frecuencia base ajustada.
Rendimiento
El modelo alcanza un promedio general del 78,41 % y un promedio MTEB Code del 78,72 % en los benchmarks estándar de recuperación de código. Puntuaciones destacadas: 96,77 % en HumanEval, 89,01 % en MBPP, 98,31 % en WikiSQL, 99,70 % en CodeChefXLang, 90,37 % en CodeTransOceanContest (código a código), 85,73 % en COIR-CodeSearchNet (NL2Code), 95,98 % en Doc2Code y 91,04 % en StackOverflowQA. Supera a Qwen3-Embedding-0,6B y a modelos mayores, incluidos jina-embeddings-v4 (74,11 %) y gemini-embedding-001 (77,38 %), en tareas específicas de código. Con 494M parámetros, supera a varios modelos de 3 a 5 veces su tamaño, demostrando que el enfoque de backbone autoregresivo ofrece alta calidad semántica por parámetro.
Guía
Use siempre los prefijos de instrucción específicos por tarea adecuados: nl2code para búsqueda de lenguaje natural a código, code2code para similitud código a código, code2nl para código a lenguaje natural, techqa para preguntas y respuestas técnicas y code2completion para completado de código. Para bases de código grandes, implemente segmentación (chunking) en límites de función o de clase para permanecer dentro del límite de 32K tokens. La truncación Matryoshka a 128 o 256 dimensiones es adecuada para indexación de alto rendimiento; use las 896 dimensiones completas al re-ordenar (re-ranking) los mejores candidatos. Use similitud de coseno para comparar embeddings. El tamaño de lote óptimo es 512 y la longitud de secuencia, 512 tokens. El modelo está optimizado para Python, JavaScript, Java, PHP, Go y Ruby, pero admite más de 30 idiomas. En pipelines de RAG sobre código, combine jina-reranker-v3.5 como segunda etapa para maximizar la precisión en los 50 mejores candidatos.



