Spaces:
Paused
Paused
File size: 1,018 Bytes
03f1c64 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from pydantic import BaseModel
from loguru import logger
class KnowledgeDomain(BaseModel):
"""
KnowledgeDomain Class
Design:
This class acts as a base for knowledge domain classes. It's not intended to be instantiated directly,
but should be extended by other classes that provide a specific implementation for the generate_response method.
This adheres to the Open/Closed Principle (OCP) and Liskov Substitution Principle (LSP) by providing a base
class that can be extended without modification.
Intended Implementation:
Classes that extend KnowledgeDomain should provide an implementation for the generate_response method.
The generate_response method should take a question string as input and return a response string. The
specifics of how the response is generated will depend on the requirements of the subclass.
"""
def generate_response(self, question: str) -> str:
logger.info("Generating response for question: {}", question)
pass
|