Rerank results
Reranking is used as part of a two-stage vector retrieval process to improve the quality of results. You first query an index for a given number of relevant results, and then you send the query and results to a reranking model. The reranking model scores the results based on their semantic relevance to the query and returns a new, more accurate ranking. This approach is one of the simplest methods for improving quality in retrieval augmented generation (RAG) pipelines.
Pinecone provides hosted reranking models so it’s easy to manage two-stage vector retrieval on a single platform. You can use a hosted model to rerank results as an integrated part of a query, or you can use a hosted model or external model to rerank results as a standalone operation.
Integrated reranking
To rerank initial results as an integrated part of a query, without any extra steps, use the search
operation with the rerank
parameter, including the hosted reranking model you want to use, the number of reranked results to return, and the fields to use for reranking, if different than the main query.
For example, the following code searches for the 3 records most semantically related to a query text and uses the hosted bge-reranker-v2-m3
model to rerank the results and return only the 2 most relevant documents:
The response looks as follows. For each hit, the _score
represents the relevance of a document to the query, normalized between 0 and 1, with scores closer to 1 indicating higher relevance.
Standalone reranking
To rerank initial results as a standalone operation, use the rerank
operation with the hosted reranking model you want to use, the query results and the query, the number of ranked results to return, the field to use for reranking, and any other model-specific parameters.
For example, the following code uses the hosted bge-reranker-v2-m3
model to rerank the values of the documents.chunk_text
fields based on their relevance to the query and return only the 2 most relevant documents, along with their score:
The response looks as follows. For each hit, the _score represents the relevance of a document to the query, normalized between 0 and 1, with scores closer to 1 indicating higher relevance.
Reranking models
Pinecone hosts several reranking models so it’s easy to manage two-stage vector retrieval on a single platform. You can use a hosted model to rerank results as an integrated part of a query, or you can use a hosted model to rerank results as a standalone operation.
The following reranking models are hosted by Pinecone.
To understand how cost is calculated for reranking, see Understanding cost.