Spaces:
Sleeping
Sleeping
Vectordb ref caching
Browse files- app/utils/chat_rag.py +10 -3
app/utils/chat_rag.py
CHANGED
@@ -58,6 +58,13 @@ def get_vectordb_for_user(user_collection_name):
|
|
58 |
)
|
59 |
return vectordb
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
def pdf_to_vec(filename, user_collection_name):
|
63 |
|
@@ -121,7 +128,7 @@ def default_chain(llm, user_collection_name):
|
|
121 |
# Get Chromadb location
|
122 |
CHROMADB_LOC = os.getenv('CHROMADB_LOC')
|
123 |
|
124 |
-
vectordb =
|
125 |
sum_template = """
|
126 |
As a machine learning education specialist, our expertise is pivotal in deepening the comprehension of complex machine learning concepts for both educators and students.
|
127 |
|
@@ -206,7 +213,7 @@ def llm_infer(user_collection_name, prompt):
|
|
206 |
|
207 |
llm = load_llm() # load_llm is singleton for entire system
|
208 |
|
209 |
-
vectordb =
|
210 |
|
211 |
default_chain, router_chain, destination_chains = get_or_create_chain(user_collection_name, llm) # Now user-specific
|
212 |
|
@@ -230,7 +237,7 @@ def get_or_create_chain(user_collection_name, llm):
|
|
230 |
router_chain = chain_cache['router_chain']
|
231 |
destination_chains = chain_cache['destination_chains']
|
232 |
else:
|
233 |
-
vectordb =
|
234 |
sum_template = """
|
235 |
As a machine learning education specialist, our expertise is pivotal in deepening the comprehension of complex machine learning concepts for both educators and students.
|
236 |
|
|
|
58 |
)
|
59 |
return vectordb
|
60 |
|
61 |
+
vectordb_cache = {}
|
62 |
+
|
63 |
+
def get_vectordb_for_user_cached(user_collection_name):
|
64 |
+
if user_collection_name not in vectordb_cache:
|
65 |
+
vectordb_cache[user_collection_name] = get_vectordb_for_user(user_collection_name)
|
66 |
+
return vectordb_cache[user_collection_name]
|
67 |
+
|
68 |
|
69 |
def pdf_to_vec(filename, user_collection_name):
|
70 |
|
|
|
128 |
# Get Chromadb location
|
129 |
CHROMADB_LOC = os.getenv('CHROMADB_LOC')
|
130 |
|
131 |
+
vectordb = get_vectordb_for_user_cached(user_collection_name) # Use the dynamic vectordb based on user_id
|
132 |
sum_template = """
|
133 |
As a machine learning education specialist, our expertise is pivotal in deepening the comprehension of complex machine learning concepts for both educators and students.
|
134 |
|
|
|
213 |
|
214 |
llm = load_llm() # load_llm is singleton for entire system
|
215 |
|
216 |
+
vectordb = get_vectordb_for_user_cached(user_collection_name) # Vector collection for each us.
|
217 |
|
218 |
default_chain, router_chain, destination_chains = get_or_create_chain(user_collection_name, llm) # Now user-specific
|
219 |
|
|
|
237 |
router_chain = chain_cache['router_chain']
|
238 |
destination_chains = chain_cache['destination_chains']
|
239 |
else:
|
240 |
+
vectordb = get_vectordb_for_user_cached(user_collection_name) # User-specific vector database
|
241 |
sum_template = """
|
242 |
As a machine learning education specialist, our expertise is pivotal in deepening the comprehension of complex machine learning concepts for both educators and students.
|
243 |
|