Dinesh310 commited on
Commit
dd31a47
·
verified ·
1 Parent(s): 1b7129e

Update src/vectorstore/vectorstore.py

Browse files
Files changed (1) hide show
  1. src/vectorstore/vectorstore.py +52 -50
src/vectorstore/vectorstore.py CHANGED
@@ -1,51 +1,53 @@
1
- """Vector store module for document embedding and retrieval"""
2
-
3
- from typing import List
4
- from langchain_community.vectorstores import FAISS
5
- from langchain_openai import OpenAIEmbeddings
6
- from langchain.schema import Document
7
-
8
- class VectorStore:
9
- """Manages vector store operations"""
10
-
11
- def __init__(self):
12
- """Initialize vector store with OpenAI embeddings"""
13
- self.embedding = OpenAIEmbeddings()
14
- self.vectorstore = None
15
- self.retriever = None
16
-
17
- def create_vectorstore(self, documents: List[Document]):
18
- """
19
- Create vector store from documents
20
-
21
- Args:
22
- documents: List of documents to embed
23
- """
24
- self.vectorstore = FAISS.from_documents(documents, self.embedding)
25
- self.retriever = self.vectorstore.as_retriever()
26
-
27
- def get_retriever(self):
28
- """
29
- Get the retriever instance
30
-
31
- Returns:
32
- Retriever instance
33
- """
34
- if self.retriever is None:
35
- raise ValueError("Vector store not initialized. Call create_vectorstore first.")
36
- return self.retriever
37
-
38
- def retrieve(self, query: str, k: int = 4) -> List[Document]:
39
- """
40
- Retrieve relevant documents for a query
41
-
42
- Args:
43
- query: Search query
44
- k: Number of documents to retrieve
45
-
46
- Returns:
47
- List of relevant documents
48
- """
49
- if self.retriever is None:
50
- raise ValueError("Vector store not initialized. Call create_vectorstore first.")
 
 
51
  return self.retriever.invoke(query)
 
1
+ """Vector store module for document embedding and retrieval"""
2
+
3
+ from typing import List
4
+ from langchain_community.vectorstores import FAISS
5
+ from langchain_openai import OpenAIEmbeddings
6
+ # from langchain.schema import Document
7
+ from langchain_core.documents import Document
8
+
9
+
10
+ class VectorStore:
11
+ """Manages vector store operations"""
12
+
13
+ def __init__(self):
14
+ """Initialize vector store with OpenAI embeddings"""
15
+ self.embedding = OpenAIEmbeddings()
16
+ self.vectorstore = None
17
+ self.retriever = None
18
+
19
+ def create_vectorstore(self, documents: List[Document]):
20
+ """
21
+ Create vector store from documents
22
+
23
+ Args:
24
+ documents: List of documents to embed
25
+ """
26
+ self.vectorstore = FAISS.from_documents(documents, self.embedding)
27
+ self.retriever = self.vectorstore.as_retriever()
28
+
29
+ def get_retriever(self):
30
+ """
31
+ Get the retriever instance
32
+
33
+ Returns:
34
+ Retriever instance
35
+ """
36
+ if self.retriever is None:
37
+ raise ValueError("Vector store not initialized. Call create_vectorstore first.")
38
+ return self.retriever
39
+
40
+ def retrieve(self, query: str, k: int = 4) -> List[Document]:
41
+ """
42
+ Retrieve relevant documents for a query
43
+
44
+ Args:
45
+ query: Search query
46
+ k: Number of documents to retrieve
47
+
48
+ Returns:
49
+ List of relevant documents
50
+ """
51
+ if self.retriever is None:
52
+ raise ValueError("Vector store not initialized. Call create_vectorstore first.")
53
  return self.retriever.invoke(query)