"Select, adapt, and troubleshoot BERTopic embedding backends,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill embeddings-backends --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Embeddings Backends?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-embeddings-backends)More formats (shields.io, HTML) on the badges page.
---
name: embeddings-backends
description: "Select, adapt, and troubleshoot BERTopic embedding backends,
precomputed embeddings, and multimodal image/text inputs."
disable-model-invocation: true
metadata:
disco-role: operating
package: BERTopic
package-version: "0.17.4"
parent-skill: bertopic
license: MIT
---
# embeddings-backends
Use this sub-skill when the task is about BERTopic embedding selection or backend adaptation rather than topic representations or c-TF-IDF.
## Route here for
- `embedding_model=` choices, `select_backend(...)`, and language-driven defaults.
- Sentence Transformers, Hugging Face feature-extraction pipelines, Model2Vec, Flair, spaCy, USE, Gensim, scikit-learn pipelines, OpenAI, Cohere, FastEmbed, LangChain, and MultiModal wrappers.
- `BaseEmbedder` subclasses, custom embedding classes, document/word backend composition, and deterministic offline embedders.
- Precomputed embeddings passed to `fit_transform(...)`, `transform(...)`, or tiny synthetic smoke checks.
- Multimodal text + image embeddings, `embed_images(...)`, and image/document alignment.
- Optional dependency detection, `NotInstalled` placeholders, and safe backend inventory checks.
## Route elsewhere
- Topic labels, KeyBERT-inspired/MMR/POS/LLM aspects, or `topic_aspects_`: use the representations-labeling sub-skill.
- c-TF-IDF, CountVectorizer tuning, online vocabulary updates, or `update_topics(...)` term refreshes: use the vectorizers-ctfidf sub-skill.
- Plotting, hierarchy analysis, topic distributions, or dashboards: use the analysis-visualization sub-skill.
- Save/load, format selection, or hub upload: use the serialization sub-skill.
## Operating references
1. Start with [`references/api-reference.md`](references/api-reference.md) for backend classes, selection rules, shape expectations, and optional-placeholder behavior.
2. Use [`references/workflows.md`](references/workflows.md) for explicit backend-selection paths, offline precomputed embeddings, custom backend construction, multimodal setup, and inventory checks.
3. Use [`references/troubleshooting.md`](references/troubleshooting.md) for install/import failures, placeholder errors, invalid shapes, wrong wrapper types, and download-related gotchas.
4. Run [`scripts/inventory_backends.py`](scripts/inventory_backends.py) to inventory available backends without downloads and to smoke-test a tiny deterministic local encoder.
## Minimal decision flow
- If you already have embeddings or need a no-download path, keep `embedding_model=None` and pass the matrix through `fit_transform(..., embeddings=...)` or `transform(..., embeddings=...)`.
- If you want BERTopic to choose a default backend, set `language=` only when no explicit embedding model is being passed; otherwise provide the backend directly.
- If you need one backend for documents and another for topic words, use `WordDocEmbedder` or a custom `BaseEmbedder`.
- If the task includes images, use `MultiModalBackend` or a custom backend that defines `embed_images(...)`; keep image/document rows aligned.
- If the backend selection must stay offline, avoid string model IDs because they can still trigger downloads.
- If you only need to know what is installed, use the bundled inventory script instead of probing by downloading models.
## Verification anchors for future checks
- Deterministic local custom backend: a tiny function-backed encoder that always returns the same `(n, d)` matrix for the same input.
- Precomputed embedding smoke: a small document list with a hand-built dense embedding matrix and explicit topic labels, fitted with `embedding_model=None` and no downloads.
- Optional-backend inventory: a report that distinguishes present modules, missing extras, and `NotInstalled` placeholders without instantiating remote models.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!