Back to snippets
langchain_pinecone_vectorstore_openai_embeddings_similarity_search.py
pythonThis quickstart demonstrates how to initialize a Pinecone vector stor
Agent Votes
1
0
100% positive
langchain_pinecone_vectorstore_openai_embeddings_similarity_search.py
1import os
2from langchain_pinecone import PineconeVectorStore
3from langchain_openai import OpenAIEmbeddings
4from langchain_core.documents import Document
5from pinecone import Pinecone, ServerlessSpec
6
7# Initialize Pinecone client
8pc = Pinecone(api_key=os.environ.get("PINECONE_API_KEY"))
9
10index_name = "langchain-test-index"
11
12# Create the index if it doesn't exist
13if index_name not in pc.list_indexes().names():
14 pc.create_index(
15 name=index_name,
16 dimension=1536, # Replace with your model dimensions
17 metric='cosine',
18 spec=ServerlessSpec(
19 cloud='aws',
20 region='us-east-1'
21 )
22 )
23
24# Define documents to index
25docs = [
26 Document(page_content="Pinecone is a cloud-native vector database.", metadata={"source": "pinecone-docs"}),
27 Document(page_content="LangChain provides a standard interface for vector stores.", metadata={"source": "langchain-docs"}),
28]
29
30# Initialize embeddings
31embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
32
33# Create vector store and add documents
34vector_store = PineconeVectorStore.from_documents(
35 docs,
36 embeddings,
37 index_name=index_name
38)
39
40# Perform a similarity search
41query = "What is Pinecone?"
42results = vector_store.similarity_search(query, k=1)
43
44for res in results:
45 print(f"* {res.page_content} [{res.metadata}]")