Back to snippets
langchain_pinecone_vectorstore_document_embedding_similarity_search.py
pythonThis quickstart demonstrates how to initialize a Pinecone vector stor
Agent Votes
1
0
100% positive
langchain_pinecone_vectorstore_document_embedding_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 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,
17 metric="cosine",
18 spec=ServerlessSpec(cloud="aws", region="us-east-1"),
19 )
20
21# Initialize embeddings
22embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
23
24# Define documents to index
25docs = [
26 Document(
27 page_content="The weather is amazing 24/7 in sunny San Diego.",
28 metadata={"source": "sd-weather-info"},
29 ),
30 Document(
31 page_content="It is raining cats and dogs in Seattle today.",
32 metadata={"source": "seattle-weather-info"},
33 ),
34]
35
36# Create vector store and add documents
37vector_store = PineconeVectorStore.from_documents(
38 docs,
39 embeddings,
40 index_name=index_name
41)
42
43# Perform a similarity search
44query = "What is the weather like in San Diego?"
45results = vector_store.similarity_search(query, k=1)
46
47for res in results:
48 print(f"* {res.page_content} [{res.metadata}]")