Pinecone Rerank
This notebook shows how to use PineconeRerank for two-stage vector retrieval reranking using Pinecone's hosted reranking API as demonstrated in
langchain_pinecone/libs/pinecone/rerank.py
.
Setup
Install the langchain-pinecone
package.
%pip install -qU "langchain-pinecone"
Credentials
Set your Pinecone API key to use the reranking API.
import os
from getpass import getpass
os.environ["PINECONE_API_KEY"] = os.getenv("PINECONE_API_KEY") or getpass(
"Enter your Pinecone API key: "
)
Instantiation
Use PineconeRerank
to rerank a list of documents by relevance to a query.
from langchain_core.documents import Document
from langchain_pinecone import PineconeRerank
# Initialize reranker
reranker = PineconeRerank(model="bge-reranker-v2-m3")
# Sample documents
documents = [
Document(page_content="Paris is the capital of France."),
Document(page_content="Berlin is the capital of Germany."),
Document(page_content="The Eiffel Tower is in Paris."),
]
# Rerank documents
query = "What is the capital of France?"
reranked_docs = reranker.compress_documents(documents, query)
# Print results
for doc in reranked_docs:
score = doc.metadata.get("relevance_score")
print(f"Score: {score:.4f} | Content: {doc.page_content}")
API Reference:Document | PineconeRerank
/Users/jakit/customers/aurelio/langchain-pinecone/libs/pinecone/.venv/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
``````output
Score: 0.9998 | Content: Paris is the capital of France.
Score: 0.1950 | Content: The Eiffel Tower is in Paris.
Score: 0.0042 | Content: Berlin is the capital of Germany.