The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Data & research · SKILL.md

splade

splade

Route SPLADE sparse retrieval tasks across Hydra pipelines, HF training/reranking, model/data APIs, and export/pruning/evaluation workflows.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: splade description: "Route SPLADE sparse retrieval tasks across Hydra pipelines, HF training/reranking, model/data APIs, and export/pruning/evaluation workflows." disable-model-invocation: true metadata: disco-role: operating license: NOASSERTION

SPLADE Repo Skill

Use this skill when a user asks about the SPLADE Python repository: sparse lexical retrieval with masked-language-model expansion, classic Hydra train/index/retrieve workflows, HuggingFace Trainer variants, reranking, Anserini export, static pruning, BEIR/PISA evaluation planning, or SPLADE data/API troubleshooting.

First Decision

  • Choose sub-skills/hydra-pipelines/SKILL.md for classic python -m splade.* workflows: all, train, index, retrieve, evaluate, flops, and create_anserini command construction.
  • Choose sub-skills/hf-training-reranking/SKILL.md for python -m splade.hf_train, python -m splade.hf_train_reranker, python -m splade.rerank, multiple hard negatives, dense/DPR variants, and reranker workflows.
  • Choose sub-skills/model-data-api/SKILL.md for programmatic model/data/index APIs, SPLADE representation behavior, toy-data validation, and no-download API inspection.
  • Choose sub-skills/pruning-export-evaluation/SKILL.md for Anserini export files, static pruning helpers, BEIR/PISA planning, Pyserini/Java/PISA prerequisites, and evaluation dependency troubleshooting.

Public Install Baseline

  • For a local SPLADE checkout, install the package with python -m pip install -e . from the checkout root.
  • For a fresh public install, use python -m pip install git+https://github.com/naver/splade.git and then add workflow-specific dependencies such as PyTorch, Hydra/OmegaConf, pytrec-eval, Pyserini, Java, or PISA only when the selected route needs them.
  • Prefer Python 3.8 or 3.9-era ML environments for historical SPLADE compatibility; newer environments may need Hydra/OmegaConf adjustments described in references/troubleshooting.md.

Core Package Facts

  • Distribution metadata uses package name SPLADE and import package splade; the repo version is 2.1.
  • The installed metadata declares transformers==4.18.0 and omegaconf==2.1.2, but current source uses some Hydra decorators with version_base="1.2"; see references/troubleshooting.md before diagnosing Hydra import errors.
  • Classic training/index/retrieval relies on Hydra config files under conf/ and typically needs config.checkpoint_dir, config.index_dir, and config.out_dir overrides because defaults leave them as ???.
  • Evaluation and reranking paths import pytrec_eval; full metric execution may require building pytrec-eval and external trec_eval sources.
  • Realistic training, indexing, BEIR, Anserini, and PISA runs may require GPUs, large model/data downloads, Java/Pyserini, PISA binaries, or long runtimes; do not launch them unless the user approves those costs.

Safe Starting Checks

  • Validate that SPLADE imports before deeper work: python -c "import splade; print('ok')".
  • Inspect command templates instead of running jobs: python sub-skills/hydra-pipelines/scripts/splade_hydra_command_builder.py --help.
  • Inspect HF command templates: python sub-skills/hf-training-reranking/scripts/splade_hf_command_builder.py --help.
  • Validate small SPLADE-style fixtures: python sub-skills/model-data-api/scripts/validate_splade_toy_data.py <dataset-root>.
  • Prune self-contained Anserini-style JSONL fixtures with sub-skills/pruning-export-evaluation/scripts/prune_doc_index.py or prune_quantile.py.

Shared References

  • Read references/repo-provenance.md to check the source commit, dirty state, version, and evidence baseline before deciding whether this skill is stale.
  • Read references/troubleshooting.md for cross-cutting install/import, Hydra/OmegaConf, optional dependency, data/download, and hardware failures.
  • Read references/repo-routing-metadata.json only when updating DisCo routing metadata.

Routing Patterns

User asks forRead
"Run SPLADE on toy data", "train/index/retrieve", "Hydra override", "checkpoint config missing"sub-skills/hydra-pipelines/SKILL.md
"HF Trainer", "hard negatives", "DPR/dense", "rerank a run", "RankT5/monoT5"sub-skills/hf-training-reranking/SKILL.md
"What are the model signatures?", "validate raw.tsv/qrels", "content_id KeyError", "offline inference API"sub-skills/model-data-api/SKILL.md
"create Anserini docs", "prune SPLADE index", "BEIR", "PISA", "pyserini/trec_eval"sub-skills/pruning-export-evaluation/SKILL.md

Workflow Guardrails

  • Do not point users to original repo docs, notebooks, shell scripts, or source files as runtime dependencies; use this skill's bundled references and scripts.
  • Command-builder scripts print commands only; review placeholders and resource requirements before running generated commands.
  • Treat native SPLADE examples/tests as verification candidates, not automatic runtime steps.
  • Prefer safe --help, schema validation, and tiny-fixture checks before GPU training, downloads, BEIR, Anserini, or PISA execution.
Saved skills