Update app.py
Browse files
app.py
CHANGED
@@ -232,6 +232,26 @@ class ImageAnalyzer:
|
|
232 |
except Exception as e:
|
233 |
logger.error(f"Heatmap generation error: {e}")
|
234 |
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
|
236 |
class EnhancedRAGSystem(RAGSystem):
|
237 |
"""Enhanced RAG system with additional features"""
|
|
|
232 |
except Exception as e:
|
233 |
logger.error(f"Heatmap generation error: {e}")
|
234 |
return None
|
235 |
+
class RAGSystem:
|
236 |
+
"""Basic RAG System for storing and retrieving documents."""
|
237 |
+
def __init__(self):
|
238 |
+
self.embedding_model = SentenceTransformer(config["model_settings"]["sentence_transformer"])
|
239 |
+
self.vector_store = faiss.IndexFlatL2(384) # 384-dim for MiniLM embeddings
|
240 |
+
self.knowledge_base = []
|
241 |
+
|
242 |
+
def add_documents(self, docs: List[str]):
|
243 |
+
"""Add documents to the vector store."""
|
244 |
+
embeddings = self.embedding_model.encode(docs)
|
245 |
+
self.vector_store.add(np.array(embeddings).astype('float32'))
|
246 |
+
for doc in docs:
|
247 |
+
self.knowledge_base.append({"text": doc})
|
248 |
+
|
249 |
+
def search(self, query: str, k: int = 3):
|
250 |
+
"""Retrieve similar documents for the query."""
|
251 |
+
query_embedding = self.embedding_model.encode([query])
|
252 |
+
D, I = self.vector_store.search(np.array(query_embedding).astype('float32'), k)
|
253 |
+
return [self.knowledge_base[i]["text"] for i in I[0]]
|
254 |
+
|
255 |
|
256 |
class EnhancedRAGSystem(RAGSystem):
|
257 |
"""Enhanced RAG system with additional features"""
|