mohamedamgad2002/Simple-RAG
0
1# import basics
2import os
3from dotenv import load_dotenv
4
5# import pinecone
6from pinecone import Pinecone, ServerlessSpec
7
8# import langchain
9from langchain_pinecone import PineconeVectorStore
10from langchain_google_genai import GoogleGenerativeAIEmbeddings
11from langchain_core.documents import Document
12
13load_dotenv()
14
15# initialize pinecone database
16pc = Pinecone(api_key=os.environ.get("PINECONE_API_KEY"))
17
18# set the pinecone index
19
20index_name = "sample-index"
21index = pc.Index(index_name)
22
23# initialize embeddings model + vector store
24
25embeddings = GoogleGenerativeAIEmbeddings(model="models/gemini-embedding-001")
26vector_store = PineconeVectorStore(index=index, embedding=embeddings)
27
28# retrieval
29'''
30
31###### add docs to db ##############################
32results = vector_store.similarity_search_with_score(
33 "what did you have for breakfast?",
34 #k=2,
35 filter={"source": "tweet"},
36)
37
38print("RESULTS:")
39
40for res in results:
41 print(f"* {res[0].page_content} [{res[0].metadata}] -- {res[1]}")
42
43'''
44
45retriever = vector_store.as_retriever(
46 search_type="similarity_score_threshold",
47 search_kwargs={"k": 5, "score_threshold": 0.6},
48)
49results = retriever.invoke("what did you have for breakfast?")
50
51print("RESULTS:")
52
53for res in results:
54 print(f"* {res.page_content} [{res.metadata}]")
55
56#'''
57
58 