
Sentence Transformers
Choose a sentence-transformers embedding model that fits your RAG latency, quality, and language needs before you wire up a vector store.
Install
npx skills add https://github.com/orchestra-research/ai-research-skills --skill sentence-transformersWhat is this skill?
- Tiered recommendations: all-MiniLM-L6-v2 (384-dim, ~2000 sentences/sec), mpnet-base-v2 for production RAG, roberta-large
- Multilingual coverage: MiniLM/mpnet multilingual variants (50+ languages) and LaBSE (109 languages)
- Domain-specific picks: SPECTER for papers, Legal-BERT for legal text, CodeBERT for code similarity
- Selection matrix maps task → model with dimensions, speed, and quality tradeoffs
Adoption & trust: 1 installs on skills.sh; 9.4k GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Microsoft Foundrymicrosoft/azure-skills
Azure Aimicrosoft/azure-skills
Azure Hosted Copilot Sdkmicrosoft/azure-skills
Lark Eventlarksuite/cli
Running Claude Code Via Litellm Copilotxixu-me/skills
Setup Matt Pocock Skillsmattpocock/skills
Journey fit
Primary fit
Embedding model choice is a core integration decision when solo builders add semantic search or RAG to a product. The skill is a model-selection guide for hooking text encoders into pipelines, vector DBs, and agent retrieval—not UI or generic PM work.
Common Questions / FAQ
Is Sentence Transformers safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Sentence Transformers
# Sentence Transformers Models Guide Guide to selecting and using sentence-transformers models. ## Top recommended models ### General purpose **all-MiniLM-L6-v2** (Default recommendation) - Dimensions: 384 - Speed: ~2000 sentences/sec - Quality: Good - Use: Prototyping, general tasks **all-mpnet-base-v2** (Best quality) - Dimensions: 768 - Speed: ~600 sentences/sec - Quality: Better - Use: Production RAG **all-roberta-large-v1** (Highest quality) - Dimensions: 1024 - Speed: ~300 sentences/sec - Quality: Best - Use: When accuracy critical ### Multilingual (50+ languages) **paraphrase-multilingual-MiniLM-L12-v2** - Languages: 50+ - Dimensions: 384 - Speed: Fast - Use: Multilingual semantic search **paraphrase-multilingual-mpnet-base-v2** - Languages: 50+ - Dimensions: 768 - Speed: Medium - Use: Better multilingual quality **LaBSE** (109 languages) - Languages: 109 - Dimensions: 768 - Speed: Medium - Use: Maximum language coverage ### Domain-specific **allenai/specter** (Scientific papers) - Domain: Academic papers - Use: Paper similarity, citations **nlpaueb/legal-bert-base-uncased** (Legal) - Domain: Legal documents - Use: Legal document analysis **microsoft/codebert-base** (Code) - Domain: Source code - Use: Code similarity, search ## Model selection matrix | Task | Model | Dimensions | Speed | Quality | |------|-------|------------|-------|---------| | Quick prototyping | MiniLM-L6 | 384 | Fast | Good | | Production RAG | mpnet-base | 768 | Medium | Better | | Highest accuracy | roberta-large | 1024 | Slow | Best | | Multilingual | paraphrase-multi-mpnet | 768 | Medium | Good | | Scientific papers | specter | 768 | Medium | Domain | | Legal docs | legal-bert | 768 | Medium | Domain | ## Performance benchmarks ### Speed comparison (CPU) | Model | Sentences/sec | Memory | |-------|---------------|--------| | MiniLM-L6 | 2000 | 120 MB | | MPNet-base | 600 | 420 MB | | RoBERTa-large | 300 | 1.3 GB | ### Quality comparison (STS Benchmark) | Model | Cosine Similarity | Spearman | |-------|-------------------|----------| | MiniLM-L6 | 82.4 | - | | MPNet-base | 84.1 | - | | RoBERTa-large | 85.4 | - | ## Usage examples ### Load and use model ```python from sentence_transformers import SentenceTransformer # Load model model = SentenceTransformer('all-mpnet-base-v2') # Generate embeddings sentences = ["This is a sentence", "This is another sentence"] embeddings = model.encode(sentences) ``` ### Compare different models ```python models = { 'MiniLM': 'all-MiniLM-L6-v2', 'MPNet': 'all-mpnet-base-v2', 'RoBERTa': 'all-roberta-large-v1' } for name, model_name in models.items(): model = SentenceTransformer(model_name) embeddings = model.encode(["Test sentence"]) print(f"{name}: {embeddings.shape}") ``` ## Resources - **Models**: https://huggingface.co/sentence-transformers - **Docs**: https://www.sbert.net/docs/pretrained_models.html --- name: sentence-transformers description: Framework for state-of-the-art sentence, text, and image embeddings. Provides 5000+ pre-trained models for semantic similarity, clustering, and retrieval. Supports multilingual, domain-specific, and multimodal models. Use for generating embeddings for RAG, semantic search, or similarity tasks. Best for production embedding generation. version: 1.0.0 author: Orchestra Research license: MIT tags: [Sentence Transformers, Embeddings, Semantic Similarity, RAG, Multilingual, Multimodal, Pre-Trained Models, Clustering, Semantic Search, Production] dependencies: [sentence-transformers, transformers, torch] --- # Sentence Transformers - State-of-the-Art Embeddings Python framework for sentence and text embeddings using transformers. ## When to use Sentence Transformers **Use when:** - Need high-quality embeddings for RAG - Semantic similarity and search - Text clustering and classification - Multilingual embeddings (100+ languages) - Running embeddings locally (no API) - Cost-effective alternative to OpenAI embeddings