Spaces:
Running
Running
Refactor mail and retriever modules to use the new database model; add FAISS dependency for vector storage
Browse files- app/controllers/mail.py +1 -1
- app/models/db/__init__.py +18 -0
- app/requirements.txt +1 -0
- app/retriever/__init__.py +1 -1
- app/token.pickle +0 -0
app/controllers/mail.py
CHANGED
@@ -15,7 +15,7 @@ from langchain_community.document_loaders import (
|
|
15 |
UnstructuredImageLoader,
|
16 |
)
|
17 |
|
18 |
-
from models.
|
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.
|
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
|
|