← AI GitHub

AI GitHub

Pyserini for reproducible retrieval baselines

Run lexical and dense retrieval experiments with research-oriented tooling.

Data and RetrievalPublished 2 min read

Key Takeaways

  • Pyserini provides Python interfaces to search engines and documented collections or indexes.
  • Choose a documented prebuilt index or reproduce one from a known corpus.
  • Pick one documented benchmark and reproduce a lexical retrieval run.
  • Scores depend on the corpus version and relevance judgments.

How it works

Pyserini provides Python interfaces to search engines and documented collections or indexes. It is useful for establishing a conventional baseline before adding a model-based ranker.

What you need

Choose a documented prebuilt index or reproduce one from a known corpus. Verify its document IDs and query set before comparing your run with a reported benchmark.

What to try first

Pick one documented benchmark and reproduce a lexical retrieval run. Save queries, run outputs and evaluation settings before changing the retriever.

Evaluate a query with an exact rare term and one with a paraphrase. This shows where a lexical baseline should remain part of the comparison.

Where to look for failures

Scores depend on the corpus version and relevance judgments. Verify Java and other backend requirements for the chosen search mode.

Related Franklin pages

Keep a lexical baseline while testing learned or late-interaction retrieval. Use the same labels and input segmentation, and compare index size and search time alongside relevance.

For the full path from source documents to generated answers, start with Franklin’s glossary. Retrieval-augmented generation

Project documentation

Try it for your workflow

Explore the project’s documentation for setup and usage, or save this page to a collection for later.

Read the project documentation ↗