--- license: cc-by-nc-4.0 language: - multilingual base_model: - Qwen/Qwen3-0.6B-Base tags: - feature-extraction - mteb - sentence-transformers library_name: transformers ---

Jina AI: Your Search Foundation, Supercharged!

### **jina-embeddings-v5-text-small-clustering**: Clustering-Targeted Embedding Distillation [Blog](https://picsum.photos/200/300) | [Technical Report](https://picsum.photos/200/300) | [Jina API](https://jina.ai/embeddings) | [EIS](https://www.elastic.co/docs/explore-analyze/elastic-inference/eis) ### Model Overview `jina-embeddings-v5-text-small-clustering` is a compact, high-performance text embedding model designed for clustering. It is part of the **jina-embeddings-v5-text** model family, which also includes [jina-embeddings-v5-text-nano](https://huggingface.co/jinaai/jina-embeddings-v5-text-nano), a smaller model for more resource-constrained use cases. Trained using a novel approach that combines distillation with task-specific contrastive losses, `jina-embeddings-v5-text-small-clustering` outperforms existing state-of-the-art models of similar size across diverse embedding benchmarks. | Feature | Value | | --- | --- | | Parameters | 677M | | Supported Tasks | `clustering`| | Max Sequence Length | 32768 | | Embedding Dimension | 1024 | | Matryoshka Dimensions | 32, 64, 128, 256, 512, 768, 1024 | | Pooling Strategy | Last-token pooling | | Base Model | Qwen/Qwen3-0.6B-Base | ### Training and Evaluation For training details and evaluation results, see our [technical report](https://picsum.photos/200/300). ### Usage
Requirements The following Python packages are required: - `transformers>=5.1.0` - `torch>=2.8.0` - `peft>=0.15.2` - `vllm>=0.15.1` ### Optional / Recommended - **flash-attention**: Installing [flash-attention](https://github.com/Dao-AILab/flash-attention) is recommended for improved inference speed and efficiency, but not mandatory. - **sentence-transformers**: If you want to use the model via the `sentence-transformers` interface, install this package as well.
via vLLM ```python from vllm import LLM # Initialize model name = "jinaai/jina-embeddings-v5-text-small-clustering" model = LLM( model=name, dtype="float16", runner="pooling", pooler_config=PoolerConfig(seq_pooling_type="LAST", normalize=True) ) # Create text prompts document1 = "Overview of climate change impacts on coastal cities" document1_prompt = f"Document: {document1}" document2 = "The impacts of climate change on large cities" document2_prompt = f"Document: {document2}" # Encode all prompts prompts = [document1_prompt, document2_prompt] outputs = model.encode(prompts, pooling_task="embed") embed_document1 = outputs[0].outputs.data embed_document2 = outputs[1].outputs.data ```
via llama.cpp (GGUF) After installing llama.cpp one can run llama-server to host the embedding model as OpenAI API compatible HTTP server with the respective model version: ```sh llama-server -hf jinaai/jina-embeddings-v5-text-small-clustering:F16 --embedding --pooling last -ub 32768 ``` Client: ``` curl -X POST "http://127.0.0.1:8080/v1/embeddings" \ -H "Content-Type: application/json" \ -d '{ "input": [ "Document: A beautiful sunset over the beach", "Document: Un beau coucher de soleil sur la plage", "Document: 海滩上美丽的日落", "Document: 浜辺に沈む美しい夕日", "Document: Golden sunlight melts into the horizon, painting waves in warm amber and rose, while the sky whispers goodnight to the quiet, endless sea." ] }' ```
### License The model is licensed under CC BY-NC 4.0. For commercial use, please [contact us](sales@jina.ai). ### Citation If you find `jina-embeddings-v5-text-small-clustering` useful in your research, please cite the following paper: [will be published soon]