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"""
|