Cohere‘s reranking API is indeed a very neat way of improving search quality without downgrading performance.
I’m wondering if it can also improve Cohere‘s own multi-language embedding-based vector search?
There is nowadays many reasons to integrate reranking to existing symbolic and semantic search results.
— Reranking for recommenders like Metarank Labs —
User signals are not the only way to feed recommender systems. For small businesses like WooCommerce or WordPress, semantic reranking is a great alternative to the lack of historical data.
— Reranking for performance boost —
SolR, Elasticsearch, OpenSearch Project, Algolia, or Weaviate are super efficient at retrieving documents, thanks to fast BM25 (statistics) or bi-encoder sentence transformer models (semantic).
More efficient algorithms exist, like cross-encoder models, at a performance cost that can only be acceptable when used after the retrieval phase, as a second phase reranker.
— Reranking for hybrid search —
BM25 for accuracy, followed by a reranking for semantic: it looks like a nice combination.
— Reranking for infinite tuning —
Vespa.ai can go even further with its multi-phase reranking functions https://lnkd.in/e-CEtN3H that can mix and match pretty much anything that can be calculated: BM25, bi-encoder, cross-encoder, XGBoosts, and others.
WPSOLR + BM25 + bi-encoders + Reranking (soon): https://wpsolr.com