Pinecone
Pinecone is a vector database with broad functionality.
Installation and Setupโ
Install the Python SDK:
pip install langchain-pinecone
Vector storeโ
There exists a wrapper around Pinecone indexes, allowing you to use it as a vectorstore, whether for semantic search or example selection.
from langchain_pinecone import PineconeVectorStore
For a more detailed walkthrough of the Pinecone vectorstore, see this notebook
Sparse Vector storeโ
LangChain's PineconeSparseVectorStore
enables sparse retrieval using Pinecone's sparse English model. It maps text to sparse vectors and supports adding documents and similarity search.
from langchain_pinecone import PineconeSparseVectorStore
# Initialize sparse vector store
vector_store = PineconeSparseVectorStore(
index=my_index,
embedding_model="pinecone-sparse-english-v0"
)
# Add documents
vector_store.add_documents(documents)
# Query
results = vector_store.similarity_search("your query", k=3)
For a more detailed walkthrough, see the Pinecone Sparse Vector Store notebook.
Sparse Embeddingโ
LangChain's PineconeSparseEmbeddings
provides sparse embedding generation using Pinecone's pinecone-sparse-english-v0
model.
from langchain_pinecone.embeddings import PineconeSparseEmbeddings
# Initialize sparse embeddings
sparse_embeddings = PineconeSparseEmbeddings(
model="pinecone-sparse-english-v0"
)
# Embed a single query (returns SparseValues)
query_embedding = sparse_embeddings.embed_query("sample text")
# Embed multiple documents (returns list of SparseValues)
docs = ["Document 1 content", "Document 2 content"]
doc_embeddings = sparse_embeddings.embed_documents(docs)
For more detailed usage, see the Pinecone Sparse Embeddings notebook.
Retrieversโ
Pinecone Hybrid Searchโ
pip install pinecone pinecone-text
from langchain_community.retrievers import (
PineconeHybridSearchRetriever,
)
For more detailed information, see this notebook.
Self Query retrieverโ
Pinecone vector store can be used as a retriever for self-querying.
For more detailed information, see this notebook.