Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
firecrawl avatar

Sentence Transformers

  • 12 installs
  • 17 repo stars
  • Updated February 6, 2026
  • firecrawl/ai-research-skills

sentence-transformers guides 5000+ embedding models for semantic similarity, clustering, retrieval, and multimodal RAG vectorization.

Key points

  • Framework for state-of-the-art sentence, text, and image embeddings.
  • Installation and configuration patterns for sentence-transformers.
  • When-to-use guidance versus common alternatives.
  • Evidence-backed steps from the upstream SKILL.md guide.

Sentence Transformers by the numbers

  • 12 all-time installs (skills.sh)
  • Ranked #1,445 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

sentence-transformers capabilities & compatibility

Capabilities
sentence transformers quick start · sentence transformers when to use guidance · sentence transformers integration patterns
Use cases
research · orchestration
From the docs

What sentence-transformers says it does

Python framework for sentence and text embeddings using transformers.
SKILL.md
- Need high-quality embeddings for RAG
SKILL.md
npx skills add https://github.com/firecrawl/ai-research-skills --skill sentence-transformers

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs12
repo stars17
Last updatedFebruary 6, 2026
Repositoryfirecrawl/ai-research-skills

How do I use sentence-transformers correctly?

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.

Who is it for?

Teams implementing sentence-transformers workflows from the research catalog.

Skip if: Skip when requirements clearly match a different specialized stack.

When should I use this skill?

User asks about sentence-transformers, framework for state-of-the-art sentence, text, and image embeddings. provides 50.

What you get

Working sentence-transformers setup with validated configuration and next steps.

Files

SKILL.mdMarkdownGitHub ↗

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

Metrics:

  • 15,700+ GitHub stars
  • 5000+ pre-trained models
  • 100+ languages supported
  • Based on PyTorch/Transformers

Use alternatives instead:

  • OpenAI Embeddings: Need API-based, highest quality
  • Instructor: Task-specific instructions
  • Cohere Embed: Managed service

Quick start

Installation

pip install sentence-transformers

Basic usage

from sentence_transformers import SentenceTransformer

# Load model
model = SentenceTransformer('all-MiniLM-L6-v2')

# Generate embeddings
sentences = [
    "This is an example sentence",
    "Each sentence is converted to a vector"
]

embeddings = model.encode(sentences)
print(embeddings.shape)  # (2, 384)

# Cosine similarity
from sentence_transformers.util import cos_sim
similarity = cos_sim(embeddings[0], embeddings[1])
print(f"Similarity: {similarity.item():.4f}")

Popular models

General purpose

# Fast, good quality (384 dim)
model = SentenceTransformer('all-MiniLM-L6-v2')

# Better quality (768 dim)
model = SentenceTransformer('all-mpnet-base-v2')

# Best quality (1024 dim, slower)
model = SentenceTransformer('all-roberta-large-v1')

Multilingual

# 50+ languages
model = SentenceTransformer('paraphrase-multilingual-MiniLM-L12-v2')

# 100+ languages
model = SentenceTransformer('paraphrase-multilingual-mpnet-base-v2')

Domain-specific

# Legal domain
model = SentenceTransformer('nlpaueb/legal-bert-base-uncased')

# Scientific papers
model = SentenceTransformer('allenai/specter')

# Code
model = SentenceTransformer('microsoft/codebert-base')

Semantic search

from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer('all-MiniLM-L6-v2')

# Corpus
corpus = [
    "Python is a programming language",
    "Machine learning uses algorithms",
    "Neural networks are powerful"
]

# Encode corpus
corpus_embeddings = model.encode(corpus, convert_to_tensor=True)

# Query
query = "What is Python?"
query_embedding = model.encode(query, convert_to_tensor=True)

# Find most similar
hits = util.semantic_search(query_embedding, corpus_embeddings, top_k=3)
print(hits)

Similarity computation

# Cosine similarity
similarity = util.cos_sim(embedding1, embedding2)

# Dot product
similarity = util.dot_score(embedding1, embedding2)

# Pairwise cosine similarity
similarities = util.cos_sim(embeddings, embeddings)

Batch encoding

# Efficient batch processing
sentences = ["sentence 1", "sentence 2", ...] * 1000

embeddings = model.encode(
    sentences,
    batch_size=32,
    show_progress_bar=True,
    convert_to_tensor=False  # or True for PyTorch tensors
)

Fine-tuning

from sentence_transformers import InputExample, losses
from torch.utils.data import DataLoader

# Training data
train_examples = [
    InputExample(texts=['sentence 1', 'sentence 2'], label=0.8),
    InputExample(texts=['sentence 3', 'sentence 4'], label=0.3),
]

train_dataloader = DataLoader(train_examples, batch_size=16)

# Loss function
train_loss = losses.CosineSimilarityLoss(model)

# Train
model.fit(
    train_objectives=[(train_dataloader, train_loss)],
    epochs=10,
    warmup_steps=100
)

# Save
model.save('my-finetuned-model')

LangChain integration

from langchain_community.embeddings import HuggingFaceEmbeddings

embeddings = HuggingFaceEmbeddings(
    model_name="sentence-transformers/all-mpnet-base-v2"
)

# Use with vector stores
from langchain_chroma import Chroma

vectorstore = Chroma.from_documents(
    documents=docs,
    embedding=embeddings
)

LlamaIndex integration

from llama_index.embeddings.huggingface import HuggingFaceEmbedding

embed_model = HuggingFaceEmbedding(
    model_name="sentence-transformers/all-mpnet-base-v2"
)

from llama_index.core import Settings
Settings.embed_model = embed_model

# Use in index
index = VectorStoreIndex.from_documents(documents)

Model selection guide

ModelDimensionsSpeedQualityUse Case
all-MiniLM-L6-v2384FastGoodGeneral, prototyping
all-mpnet-base-v2768MediumBetterProduction RAG
all-roberta-large-v11024SlowBestHigh accuracy needed
paraphrase-multilingual768MediumGoodMultilingual

Best practices

1. Start with all-MiniLM-L6-v2 - Good baseline 2. Normalize embeddings - Better for cosine similarity 3. Use GPU if available - 10× faster encoding 4. Batch encoding - More efficient 5. Cache embeddings - Expensive to recompute 6. Fine-tune for domain - Improves quality 7. Test different models - Quality varies by task 8. Monitor memory - Large models need more RAM

Performance

ModelSpeed (sentences/sec)MemoryDimension
MiniLM~2000120MB384
MPNet~600420MB768
RoBERTa~3001.3GB1024

Resources

  • GitHub: https://github.com/UKPLab/sentence-transformers ⭐ 15,700+
  • Models: https://huggingface.co/sentence-transformers
  • Docs: https://www.sbert.net
  • License: Apache 2.0

Related skills

FAQ

What does sentence-transformers do?

sentence-transformers guides 5000+ embedding models for semantic similarity, clustering, retrieval, and multimodal RAG vectorization.

When should I use sentence-transformers?

User asks about sentence-transformers, framework for state-of-the-art sentence, text, and image embeddings. provides 50.

Is this skill safe to install?

Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.