import json from pathlib import Path class KnowledgeBase: def __init__(self, storage_path="kb.json"): self.storage_path = Path(storage_path) if not self.storage_path.exists(): self._save({}) self.data = self._load() def _load(self): with self.storage_path.open("r") as f: return json.load(f) def _save(self, data): with self.storage_path.open("w") as f: json.dump(data, f, indent=2) def get(self, topic): return self.data.get(topic.lower(), "❓ No entry found.") def set(self, topic, content): self.data[topic.lower()] = content self._save(self.data) return f"✅ Knowledge added for topic: '{topic}'" def search(self, query): return {k: v for k, v in self.data.items() if query.lower() in k or query.lower() in v} def list_topics(self): return list(self.data.keys())