{"id":126461,"url":"https://github.com/metawake/awesome-text-embeddings","name":"awesome-text-embeddings","description":"A curated list of text embedding models, benchmarks, and tools for semantic search, retrieval, and classification.","projects_count":100,"last_synced_at":"2026-10-18T13:00:24.329Z","repository":{"id":332855750,"uuid":"1135225953","full_name":"metawake/awesome-text-embeddings","owner":"metawake","description":"A curated list of text embedding models, benchmarks, and tools for semantic search, retrieval, and classification.","archived":false,"fork":false,"pushed_at":"2026-01-15T21:01:19.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-09-29T02:43:22.972Z","etag":null,"topics":["awesome","awesome-list","embeddings","machine-learning","mteb","nlp","rag","retrieval","retrieval-augmented-generation","semantic-search","sentence-embeddings","text-embeddings","vector-search"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metawake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-15T20:12:38.000Z","updated_at":"2026-01-15T21:01:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"986fa96d-4d2a-45e1-afee-f91eae6cab7e","html_url":"https://github.com/metawake/awesome-text-embeddings","commit_stats":null,"previous_names":["metawake/awesome-text-embeddings"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/metawake/awesome-text-embeddings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metawake%2Fawesome-text-embeddings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metawake%2Fawesome-text-embeddings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metawake%2Fawesome-text-embeddings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metawake%2Fawesome-text-embeddings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metawake","download_url":"https://codeload.github.com/metawake/awesome-text-embeddings/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metawake%2Fawesome-text-embeddings/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38337753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2026-04-04T03:11:13.084Z","updated_at":"2026-10-18T13:00:24.329Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["License","Resources","Tools \u0026 Evaluation","Quick Picks","Benchmarks \u0026 Leaderboards","General Purpose","Specialized","Related Lists","Horizon","Rerankers"],"sub_categories":["Tutorials","Papers","Benchmarking \u0026 Comparison","Multimodal Embeddings","Open Source","Multilingual","Local Inference","Fine-tuning","Unified Generation + Embedding","LLM-Based Embeddings","Code Embeddings","Domain-Specific","API Services","Late Chunking","Long-Context"],"readme":"# Awesome Text Embeddings [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\n\u003e An opinionated buyer's guide for text embeddings in production — RAG, search, classification.\n\nText embeddings convert text into dense vectors for semantic search, retrieval, clustering, and classification. This list helps you choose the right embedding model for your use case.\n\n**Last reviewed: January 2025** · [Suggest an update](CONTRIBUTING.md)\n\n## Quick Picks\n\nJust want a recommendation? Start here:\n\n| Use Case | Model | Why |\n|----------|-------|-----|\n| **Best overall (API)** | [text-embedding-3-large](https://platform.openai.com/docs/guides/embeddings) | Highest quality, 8k context, adjustable dims |\n| **Best overall (open)** | [NV-Embed-v2](https://huggingface.co/nvidia/NV-Embed-v2) | MTEB #1, 32k context ⚠️ CC-BY-NC |\n| **Best budget** | [text-embedding-3-small](https://platform.openai.com/docs/guides/embeddings) | $0.02/1M tokens, still good quality |\n| **Best local/private** | [nomic-embed-text-v2-moe](https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe) | MoE architecture, multilingual, GGUF available |\n| **Best multilingual** | [multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large) | 100+ languages, MIT license |\n| **Best for code** | [voyage-code-2](https://docs.voyageai.com/docs/embeddings) | Purpose-built, 16k context |\n\n\u003e ⚠️ = Non-commercial license. Check before using in production.\n\n---\n\n## Contents\n\n- [Quick Picks](#quick-picks)\n- [How to Choose](#how-to-choose)\n- [Common Gotchas](#common-gotchas)\n- [General Purpose](#general-purpose)\n  - [Open Source](#open-source)\n  - [API Services](#api-services)\n- [Specialized](#specialized)\n  - [Multilingual](#multilingual)\n  - [Code Embeddings](#code-embeddings)\n  - [Long-Context](#long-context)\n  - [Domain-Specific](#domain-specific)\n- [Rerankers](#rerankers)\n- [Horizon](#horizon)\n- [Benchmarks \u0026 Leaderboards](#benchmarks--leaderboards)\n- [Tools \u0026 Evaluation](#tools--evaluation)\n- [Resources](#resources)\n  - [Papers](#papers)\n  - [Tutorials](#tutorials)\n- [Related Lists](#related-lists)\n\n---\n\n## How to Choose\n\n| Question | Recommendation |\n|----------|----------------|\n| Need best quality, don't mind API costs? | OpenAI `text-embedding-3-large` or Cohere `embed-v3` |\n| Want open source, good quality? | `gte-large-en-v1.5` or `bge-large-en-v1.5` |\n| Need multilingual? | `multilingual-e5-large` or Cohere `embed-multilingual-v3` |\n| Working with code? | `voyage-code-2` |\n| Have very long documents? | `jina-embeddings-v2-base-en` (8k) or `NV-Embed-v2` (32k) |\n| Running locally/edge? | `nomic-embed-text-v2-moe` or `v1.5` (GGUF available) |\n| Need on-prem / data privacy? | Open source models only — see [Open Source](#open-source) section |\n\n**Key tradeoffs:**\n\n- **Dimensions**: Higher = more expressive but more storage/compute. 768-1024 is the sweet spot for most use cases.\n- **Context length**: Most models max at 512 tokens; some go to 8k+. Longer = fewer chunks needed.\n- **Open vs API**: Open = privacy, cost control, on-prem; API = simplicity, no infrastructure.\n- **Quality vs speed**: Larger models score higher on benchmarks but have higher latency.\n\n---\n\n## Common Gotchas\n\nThings that bite engineers in production:\n\n| Issue | What to watch for |\n|-------|-------------------|\n| **Query/passage prefixes** | E5 models require `query:` and `passage:` prefixes. Without them, quality drops significantly. Check model cards. |\n| **Normalization** | Some models output normalized vectors (use cosine), others don't (use dot product). Mixing these breaks similarity scores. |\n| **Matryoshka dimensions** | Models like OpenAI's and Nomic's support truncating dimensions (e.g., 3072→256). You must re-normalize after truncation. |\n| **License traps** | CC-BY-NC (NV-Embed-v2, SFR-Embedding) = no commercial use. Check before deploying. |\n| **Context overflow** | Tokens beyond max length are silently truncated. For long docs, chunk first or use long-context models. |\n| **Embedding drift** | API providers may update models silently. Pin versions or re-embed periodically if using managed APIs. |\n\n---\n\n## General Purpose\n\n### Open Source\n\n| Model | Provider | Dims | Max Tokens | MTEB Avg | License | Notes |\n|-------|----------|------|------------|----------|---------|-------|\n| [NV-Embed-v2](https://huggingface.co/nvidia/NV-Embed-v2) | NVIDIA | 4096 | 32768 | 72.3 | CC-BY-NC-4.0 | Current MTEB #1, very long context |\n| [Llama-Embed-Nemotron-8B](https://huggingface.co/nvidia/llama-embed-nemotron-8b-v1) | NVIDIA | 4096 | 8192 | 69.6 | Llama 3.1 | Open weights, MMTEB leader, multilingual |\n| [stella-en-1.5B-v5](https://huggingface.co/NovaSearch/stella-en-1.5B-v5) | NovaSearch | 1024 | 512 | 66.9 | MIT | Strong quality, moderate size |\n| [gte-large-en-v1.5](https://huggingface.co/Alibaba-NLP/gte-large-en-v1.5) | Alibaba | 1024 | 8192 | 65.4 | Apache 2.0 | Long context, top tier |\n| [mxbai-embed-large-v1](https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1) | Mixedbread | 1024 | 512 | 64.7 | Apache 2.0 | Strong MTEB performer |\n| [snowflake-arctic-embed-l](https://huggingface.co/Snowflake/snowflake-arctic-embed-l) | Snowflake | 1024 | 512 | 64.5 | Apache 2.0 | Strong retrieval |\n| [bge-large-en-v1.5](https://huggingface.co/BAAI/bge-large-en-v1.5) | BAAI | 1024 | 512 | 64.2 | MIT | Widely adopted, battle-tested |\n| [gte-base-en-v1.5](https://huggingface.co/Alibaba-NLP/gte-base-en-v1.5) | Alibaba | 768 | 8192 | 64.1 | Apache 2.0 | Smaller + long context |\n| [SFR-Embedding-2_R](https://huggingface.co/Salesforce/SFR-Embedding-2_R) | Salesforce | 4096 | 8192 | 67.5 | CC-BY-NC-4.0 | Strong retrieval, long context |\n| [bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) | BAAI | 768 | 512 | 63.5 | MIT | Good speed/quality balance |\n| [nomic-embed-text-v2-moe](https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe) | Nomic | 768 | 8192 | 65.8 | Apache 2.0 | MoE, multilingual, Matryoshka dims |\n| [nomic-embed-text-v1.5](https://huggingface.co/nomic-ai/nomic-embed-text-v1.5) | Nomic | 768 | 8192 | 62.3 | Apache 2.0 | Lighter option, GGUF for local |\n| [e5-large-v2](https://huggingface.co/intfloat/e5-large-v2) | Microsoft | 1024 | 512 | 62.2 | MIT | Requires \"query:\" prefix |\n| [e5-base-v2](https://huggingface.co/intfloat/e5-base-v2) | Microsoft | 768 | 512 | 61.5 | MIT | Smaller variant |\n\n### API Services\n\n| Model | Provider | Dims | Max Tokens | Pricing (per 1M tokens) | Notes |\n|-------|----------|------|------------|-------------------------|-------|\n| [text-embedding-3-large](https://platform.openai.com/docs/guides/embeddings) | OpenAI | 3072 | 8191 | $0.13 | Best quality, adjustable dims (Matryoshka) |\n| [gemini-embedding-001](https://ai.google.dev/gemini-api/docs/embeddings) | Google | 3072 | 8192 | $0.00 (free tier) | MTEB leader, task-type parameter |\n| [voyage-large-2](https://docs.voyageai.com/docs/embeddings) | Voyage AI | 1536 | 16000 | $0.12 | Longest context |\n| [embed-english-v3.0](https://docs.cohere.com/docs/embeddings) | Cohere | 1024 | 512 | $0.10 | Strong retrieval |\n| [embed-large-v1](https://www.mixedbread.ai/docs/embeddings) | Mixedbread | 1024 | 512 | $0.05 | Good quality/price |\n| [embedding-001](https://cloud.google.com/vertex-ai/docs/generative-ai/embeddings/get-text-embeddings) | Google | 768 | 2048 | $0.025 | Vertex AI |\n| [text-embedding-3-small](https://platform.openai.com/docs/guides/embeddings) | OpenAI | 1536 | 8191 | $0.02 | Best budget option |\n| [jina-embeddings-v2-base-en](https://jina.ai/embeddings/) | Jina AI | 768 | 8192 | $0.02 | Open weights also available |\n\n---\n\n## Specialized\n\n### Multilingual\n\n| Model | Provider | Dims | Languages | Max Tokens | Notes |\n|-------|----------|------|-----------|------------|-------|\n| [bge-m3](https://huggingface.co/BAAI/bge-m3) | BAAI | 1024 | 100+ | 8192 | Hybrid dense+sparse, long context |\n| [multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large) | Microsoft | 1024 | 100+ | 512 | Best open multilingual |\n| [EmbeddingGemma-300M](https://huggingface.co/google/embeddinggemma-300m) | Google | 768 | 100+ | 2048 | Top multilingual under 500M params, Matryoshka dims |\n| [multilingual-e5-base](https://huggingface.co/intfloat/multilingual-e5-base) | Microsoft | 768 | 100+ | 512 | Smaller variant |\n| [embed-multilingual-v3.0](https://docs.cohere.com/docs/embeddings) | Cohere | 1024 | 100+ | 512 | API, strong quality |\n| [paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2) | SBERT | 768 | 50+ | 512 | Sentence-transformers |\n\n### Code Embeddings\n\n| Model | Provider | Dims | Languages | Notes |\n|-------|----------|------|-----------|-------|\n| [voyage-code-2](https://docs.voyageai.com/docs/embeddings) | Voyage AI | 1536 | 20+ | Best code retrieval, 16k context |\n| [StarEncoder](https://huggingface.co/bigcode/starencoder) | BigCode | 768 | 80+ | StarCoder-based, open source |\n| [codebert-base](https://huggingface.co/microsoft/codebert-base) | Microsoft | 768 | 6 | Open source, smaller |\n| [code-search-ada-002](https://platform.openai.com/docs/guides/embeddings) | OpenAI | 1536 | Multiple | Legacy but still used |\n\n### Long-Context\n\nModels supporting 4k+ tokens — useful for embedding full documents without chunking.\n\n| Model | Provider | Dims | Max Tokens | Notes |\n|-------|----------|------|------------|-------|\n| [NV-Embed-v2](https://huggingface.co/nvidia/NV-Embed-v2) | NVIDIA | 4096 | 32768 | Longest context (open), MTEB #1 |\n| [voyage-large-2](https://docs.voyageai.com/docs/embeddings) | Voyage AI | 1536 | 16000 | Longest context (API) |\n| [gte-large-en-v1.5](https://huggingface.co/Alibaba-NLP/gte-large-en-v1.5) | Alibaba | 1024 | 8192 | Top quality (open) |\n| [jina-embeddings-v2-base-en](https://huggingface.co/jinaai/jina-embeddings-v2-base-en) | Jina AI | 768 | 8192 | Open + API available |\n| [nomic-embed-text-v2-moe](https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe) | Nomic | 768 | 8192 | MoE, multilingual, GGUF available |\n| [text-embedding-3-large](https://platform.openai.com/docs/guides/embeddings) | OpenAI | 3072 | 8191 | Adjustable dimensions |\n| [bge-m3](https://huggingface.co/BAAI/bge-m3) | BAAI | 1024 | 8192 | Also multilingual |\n\n### Domain-Specific\n\n| Model | Provider | Domain | Dims | Notes |\n|-------|----------|--------|------|-------|\n| [legal-bert-base-uncased](https://huggingface.co/nlpaueb/legal-bert-base-uncased) | NLP@AUEb | Legal | 768 | Trained on legal corpora |\n| [PubMedBERT](https://huggingface.co/microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract) | Microsoft | Biomedical | 768 | PubMed abstracts |\n| [SciBERT](https://huggingface.co/allenai/scibert_scivocab_uncased) | Allen AI | Scientific | 768 | Scientific papers |\n| [finbert](https://huggingface.co/yiyanghkust/finbert-tone) | FinBERT | Finance | 768 | Financial sentiment |\n\n---\n\n## Rerankers\n\nRerankers improve retrieval quality by rescoring initial results. Use after embedding-based retrieval.\n\n| Model | Provider | Type | Notes |\n|-------|----------|------|-------|\n| [rerank-english-v3.0](https://docs.cohere.com/docs/rerank) | Cohere | API | Production-ready, easy to integrate |\n| [rerank-multilingual-v3.0](https://docs.cohere.com/docs/rerank) | Cohere | API | 100+ languages |\n| [bge-reranker-v2-m3](https://huggingface.co/BAAI/bge-reranker-v2-m3) | BAAI | Open | Multilingual, pairs with BGE embeddings |\n| [bge-reranker-large](https://huggingface.co/BAAI/bge-reranker-large) | BAAI | Open | English-focused, strong quality |\n| [ms-marco-MiniLM-L-12-v2](https://huggingface.co/cross-encoder/ms-marco-MiniLM-L-12-v2) | SBERT | Open | Lightweight, fast |\n| [jina-reranker-v2-base-multilingual](https://huggingface.co/jinaai/jina-reranker-v2-base-multilingual) | Jina AI | Open | 100+ languages, 1k context |\n| [mxbai-rerank-large-v1](https://huggingface.co/mixedbread-ai/mxbai-rerank-large-v1) | Mixedbread | Open | Strong quality |\n\n**When to use a reranker:**\n- You have more than ~20 candidates from initial retrieval\n- Quality matters more than latency\n- Your embedding model's ranking isn't precise enough\n\n---\n\n## Horizon\n\n🔭 Emerging approaches worth watching. These represent paradigm shifts or new capabilities that may reshape best practices.\n\n### Unified Generation + Embedding\n\n| Model | What's New | Link |\n|-------|-----------|------|\n| **GritLM** | Single model does both text generation AND embeddings. No need for separate models. 7B params, competitive on MTEB while also being a capable LLM. | [Paper](https://arxiv.org/abs/2402.09906) ・ [HuggingFace](https://huggingface.co/GritLM/GritLM-7B) |\n\n### Late Chunking\n\nTraditional approach: chunk documents → embed each chunk independently.\n\n**Late chunking**: embed the full document first (using long-context model), then extract chunk representations that retain document context. Reduces information loss at chunk boundaries.\n\n| Resource | Description | Link |\n|----------|-------------|------|\n| **Jina Late Chunking** | Original technique explanation + implementation | [Blog](https://jina.ai/news/late-chunking-in-long-context-embedding-models/) |\n| **Contextual Retrieval** | Anthropic's related approach using LLMs to add context | [Blog](https://www.anthropic.com/news/contextual-retrieval) |\n\n### LLM-Based Embeddings\n\nUsing decoder-only LLMs as embedding models—often by pooling hidden states or clever prompting.\n\n| Approach | What's New | Link |\n|----------|-----------|------|\n| **Echo Embeddings** | Repeat input text to simulate bidirectional attention in autoregressive LLMs. Simple trick, strong results. | [Paper (ICLR 2025)](https://arxiv.org/abs/2402.15449) |\n| **LLM2Vec** | Convert any decoder LLM into an embedding model via bidirectional attention + masked next token prediction. | [Paper](https://arxiv.org/abs/2404.05961) ・ [GitHub](https://github.com/McGill-NLP/llm2vec) |\n\n### Multimodal Embeddings\n\nEmbedding models that handle both text and images together—useful for document retrieval with figures, screenshots, slides.\n\n| Model | What's New | Link |\n|-------|-----------|------|\n| **Voyage Multimodal-3** | Interleaved text + images. Strong on PDFs, slides, screenshots. | [Docs](https://docs.voyageai.com/docs/multimodal-embeddings) |\n| **Jina CLIP v2** | Open source text-image embeddings, 8k text context | [HuggingFace](https://huggingface.co/jinaai/jina-clip-v2) |\n\n---\n\n## Benchmarks \u0026 Leaderboards\n\n| Benchmark | What it measures | Best for | Link |\n|-----------|------------------|----------|------|\n| **MTEB** | 8 task types (retrieval, classification, clustering, etc.) across 58 datasets, 112 languages | Overall embedding quality comparison | [Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) |\n| **BEIR** | Zero-shot retrieval across 18 diverse datasets | Retrieval-focused evaluation | [GitHub](https://github.com/beir-cellar/beir) |\n| **MIRACL** | Multilingual retrieval across 18 languages | Non-English retrieval | [GitHub](https://github.com/project-miracl/miracl) |\n| **C-MTEB** | Chinese-specific embedding tasks | Chinese language models | [Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) |\n\n**Note:** MTEB scores are useful for comparison but don't always predict real-world performance. Test on your own data with tools like [ragtune](#tools--evaluation).\n\n---\n\n## Tools \u0026 Evaluation\n\n### Benchmarking \u0026 Comparison\n\n| Tool | Description | Link |\n|------|-------------|------|\n| **ragtune** | CLI for benchmarking RAG retrieval quality. Compare embedding models on your queries and documents. | [GitHub](https://github.com/user/ragtune) |\n| **RAGatouille** | Easy-to-use ColBERT retrieval. Late interaction for better precision than dense embeddings. | [GitHub](https://github.com/bclavie/RAGatouille) |\n| **MTEB** | Official benchmark toolkit for evaluating embeddings on standard tasks | [GitHub](https://github.com/embeddings-benchmark/mteb) |\n| **sentence-transformers** | Framework for using, comparing, and training embeddings | [GitHub](https://github.com/UKPLab/sentence-transformers) |\n| **Embeddings Projector** | Visualize high-dimensional embeddings in 2D/3D | [TensorFlow](https://projector.tensorflow.org/) |\n\n### Fine-tuning\n\n| Tool | Description | Link |\n|------|-------------|------|\n| **sentence-transformers** | Training custom embedding models with contrastive learning | [Docs](https://www.sbert.net/docs/training/overview.html) |\n| **FlagEmbedding** | BAAI's toolkit for fine-tuning BGE models | [GitHub](https://github.com/FlagOpen/FlagEmbedding) |\n| **uniem** | Unified embedding model training framework | [GitHub](https://github.com/wangyuxinwhy/uniem) |\n\n### Local Inference\n\n| Tool | Description | Link |\n|------|-------------|------|\n| **FastEmbed** | Fast, lightweight embedding inference by Qdrant | [GitHub](https://github.com/qdrant/fastembed) |\n| **Infinity** | High-throughput embedding server, OpenAI-compatible API | [GitHub](https://github.com/michaelfeil/infinity) |\n| **Model2Vec** | Distill sentence transformers to static embeddings — 500x faster, 50x smaller | [GitHub](https://github.com/MinishLab/model2vec) |\n| **Ollama** | Run embedding models locally (GGUF format) | [Ollama](https://ollama.ai/) |\n| **llama.cpp** | C++ inference for quantized models | [GitHub](https://github.com/ggerganov/llama.cpp) |\n| **TEI** | Hugging Face's Text Embeddings Inference server | [GitHub](https://github.com/huggingface/text-embeddings-inference) |\n\n---\n\n## Resources\n\n### Papers\n\n**Foundational:**\n- [Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks](https://arxiv.org/abs/1908.10084) (2019) — Started modern sentence embeddings\n- [MTEB: Massive Text Embedding Benchmark](https://arxiv.org/abs/2210.07316) (2022) — The standard benchmark\n- [Text and Code Embeddings by Contrastive Pre-Training](https://arxiv.org/abs/2201.10005) (2022) — OpenAI's approach\n\n**Recent advances:**\n- [Improving Text Embeddings with Large Language Models](https://arxiv.org/abs/2401.00368) (2024) — LLM-based embedding training (E5-mistral)\n- [BGE M3-Embedding](https://arxiv.org/abs/2402.03216) (2024) — Multi-lingual, multi-functionality, multi-granularity\n- [Matryoshka Representation Learning](https://arxiv.org/abs/2205.13147) (2022) — Flexible dimension embeddings\n- [NV-Embed: Improved Techniques for Training LLMs as Generalist Embedding Models](https://arxiv.org/abs/2405.17428) (2024) — NVIDIA's approach\n- [Jina Embeddings 2: 8192-Token General-Purpose Text Embeddings](https://arxiv.org/abs/2310.19923) (2023) — Long-context embeddings\n\n**Understanding embeddings:**\n- [Text Embeddings Reveal (Almost) As Much As Text](https://arxiv.org/abs/2310.06816) (2023) — Privacy implications\n- [BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation](https://arxiv.org/abs/2104.08663) (2021) — Retrieval benchmark\n\n### Tutorials\n\n- [Sentence-Transformers Documentation](https://www.sbert.net/) — Comprehensive embedding guide\n- [Hugging Face NLP Course](https://huggingface.co/learn/nlp-course) — Includes embedding fundamentals\n- [Choosing an Embedding Model](https://www.pinecone.io/learn/series/rag/embedding-models/) — Pinecone's practical guide\n- [Cohere Embed Guide](https://docs.cohere.com/docs/embeddings) — Good API-focused tutorial\n\n---\n\n## Related Lists\n\nFor adjacent topics, see these curated lists:\n\n- [awesome-vector-databases](https://github.com/dangkhoasdc/awesome-vector-database) — Vector storage and retrieval\n- [awesome-rag](https://github.com/coree/awesome-rag) — Retrieval-augmented generation\n- [awesome-semantic-search](https://github.com/Agrover112/awesome-semantic-search) — Semantic search resources\n- [awesome-local-ai](https://github.com/janhq/awesome-local-ai) — Local AI inference\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on adding new models or tools.\n\n---\n\n## License\n\n[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, the authors have waived all copyright and related rights to this work.\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/metawake%2Fawesome-text-embeddings/projects"}