Spaces:
Runtime error
Runtime error
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()) | |