| from service.data_loader_service import CSVDataLoader | |
| from service.embedded_service import EmbeddingService | |
| from service.vector_store_service import VectorStoreService | |
| class KnowledgeBase: | |
| def __init__(self, csv_path: str): | |
| self.embedder = EmbeddingService() | |
| loader = CSVDataLoader(csv_path) | |
| qa_pairs = loader.load_qa_pairs() | |
| self.documents = [ | |
| f"Question: {p['question']}\nAnswer: {p['answer']}" | |
| for p in qa_pairs | |
| ] | |
| self.embeddings = self.embedder.embed(self.documents) | |
| self.vector_store = VectorStoreService( | |
| self.embeddings, | |
| self.documents | |
| ) | |