| 13 | contents: str |
| 14 | |
| 15 | class KnowledgeBase: |
| 16 | def __init__(self): |
| 17 | config = Config() |
| 18 | sqlite_path = config.get_sqlite_db() |
| 19 | self.engine = create_engine(f"sqlite:///{sqlite_path}") |
| 20 | SQLModel.metadata.create_all(self.engine) |
| 21 | |
| 22 | def add_knowledge(self, tag: str, contents: str): |
| 23 | knowledge = Knowledge(tag=tag, contents=contents) |
| 24 | with Session(self.engine) as session: |
| 25 | session.add(knowledge) |
| 26 | session.commit() |
| 27 | |
| 28 | def get_knowledge(self, tag: str) -> str: |
| 29 | with Session(self.engine) as session: |
| 30 | knowledge = session.query(Knowledge).filter(Knowledge.tag == tag).first() |
| 31 | if knowledge: |
| 32 | return knowledge.contents |
| 33 | return None |