From 0cdce03879e10c6de32bd18bcc95a40ccda6aaef Mon Sep 17 00:00:00 2001 From: Adam Wilson Date: Thu, 12 Jun 2025 20:23:31 -0600 Subject: [PATCH] abstracts and fakes --- .../adapters/llm/abstract_language_model.py | 7 +++++++ .../abstract_language_model_response_service.py | 7 +++++++ .../fake_language_model_response_service.py | 11 +++++++++++ 3 files changed, 25 insertions(+) create mode 100644 src/text_generation/adapters/llm/abstract_language_model.py create mode 100644 src/text_generation/services/language_models/abstract_language_model_response_service.py create mode 100644 src/text_generation/services/language_models/fake_language_model_response_service.py diff --git a/src/text_generation/adapters/llm/abstract_language_model.py b/src/text_generation/adapters/llm/abstract_language_model.py new file mode 100644 index 000000000..e986243e9 --- /dev/null +++ b/src/text_generation/adapters/llm/abstract_language_model.py @@ -0,0 +1,7 @@ +import abc + + +class AbstractLanguageModel(abc.ABC): + @abc.abstractmethod + def invoke(self, user_prompt: str) -> str: + raise NotImplementedError \ No newline at end of file diff --git a/src/text_generation/services/language_models/abstract_language_model_response_service.py b/src/text_generation/services/language_models/abstract_language_model_response_service.py new file mode 100644 index 000000000..7d3a6fbbf --- /dev/null +++ b/src/text_generation/services/language_models/abstract_language_model_response_service.py @@ -0,0 +1,7 @@ +import abc + + +class AbstractLanguageModelResponseService(abc.ABC): + @abc.abstractmethod + def invoke(self, user_prompt: str) -> str: + raise NotImplementedError \ No newline at end of file diff --git a/src/text_generation/services/language_models/fake_language_model_response_service.py b/src/text_generation/services/language_models/fake_language_model_response_service.py new file mode 100644 index 000000000..330e901a0 --- /dev/null +++ b/src/text_generation/services/language_models/fake_language_model_response_service.py @@ -0,0 +1,11 @@ +from src.text_generation.services.language_models.abstract_language_model_response_service import AbstractLanguageModelResponseService + + +class FakeLanguageModelResponseService(AbstractLanguageModelResponseService): + + def invoke(self, user_prompt: str) -> str: + + if not user_prompt: + raise ValueError(f"Parameter 'user_prompt' cannot be empty or None") + + return "fake language model response" \ No newline at end of file