gavinzli commited on
Commit
9a73c5d
·
1 Parent(s): 82f1c93

Refactor mail and retriever modules to use the new database model; add FAISS dependency for vector storage

Browse files
app/controllers/mail.py CHANGED
@@ -15,7 +15,7 @@ from langchain_community.document_loaders import (
15
  UnstructuredImageLoader,
16
  )
17
 
18
- from models.chroma import vectorstore
19
  from models.mails import build_gmail_service
20
 
21
  SCOPES = ["https://www.googleapis.com/auth/gmail.readonly"]
 
15
  UnstructuredImageLoader,
16
  )
17
 
18
+ from models.db import vectorstore
19
  from models.mails import build_gmail_service
20
 
21
  SCOPES = ["https://www.googleapis.com/auth/gmail.readonly"]
app/models/db/__init__.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """This module is responsible for initializing the database connection and creating the necessary tables."""
2
+ import faiss
3
+ from langchain_community.vectorstores import FAISS
4
+ from langchain_community.docstore.in_memory import InMemoryDocstore
5
+ # from langchain_chroma import Chroma
6
+ from models.llm import EmbeddingsModel
7
+
8
+ embeddings = EmbeddingsModel("all-MiniLM-L6-v2")
9
+
10
+ index = faiss.IndexFlatL2(len(embeddings.embed_query("hello world")))
11
+ print(index)
12
+
13
+ vectorstore = FAISS(
14
+ embedding_function=embeddings,
15
+ index=index,
16
+ docstore=InMemoryDocstore(),
17
+ index_to_docstore_id={}
18
+ )
app/requirements.txt CHANGED
@@ -30,6 +30,7 @@ dnspython==2.7.0
30
  durationpy==0.9
31
  emoji==2.14.1
32
  eval_type_backport==0.2.2
 
33
  fastapi==0.115.11
34
  filelock==3.17.0
35
  filetype==1.2.0
 
30
  durationpy==0.9
31
  emoji==2.14.1
32
  eval_type_backport==0.2.2
33
+ faiss-cpu==1.10.0
34
  fastapi==0.115.11
35
  filelock==3.17.0
36
  filetype==1.2.0
app/retriever/__init__.py CHANGED
@@ -2,7 +2,7 @@
2
  from venv import logger
3
  from langchain_core.retrievers import BaseRetriever
4
  from langchain_core.vectorstores import VectorStoreRetriever
5
- from models.chroma import vectorstore
6
 
7
  class DocRetriever(BaseRetriever):
8
  """
 
2
  from venv import logger
3
  from langchain_core.retrievers import BaseRetriever
4
  from langchain_core.vectorstores import VectorStoreRetriever
5
+ from models.db import vectorstore
6
 
7
  class DocRetriever(BaseRetriever):
8
  """
app/token.pickle CHANGED
Binary files a/app/token.pickle and b/app/token.pickle differ