mirror of
https://github.com/lightbroker/llmsecops-research.git
synced 2026-08-11 05:40:26 +02:00
refactoring LLM adapters and service layer
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
import abc
|
||||
from src.text_generation.services.language_models.abstract_language_model_response_service import AbstractLanguageModelResponseService
|
||||
from src.text_generation.adapters.llm.language_model import LanguageModel
|
||||
|
||||
class AbstractLanguageModelResponseService(abc.ABC):
|
||||
@abc.abstractmethod
|
||||
def invoke(self, user_input: str) -> str:
|
||||
raise NotImplementedError
|
||||
|
||||
class LanguageModelResponseService(AbstractLanguageModelResponseService):
|
||||
def __call__(self, *args, **kwds):
|
||||
pass
|
||||
class TextGenerationResponseService(AbstractLanguageModelResponseService):
|
||||
|
||||
def invoke(self, user_prompt: str) -> str:
|
||||
|
||||
if not user_prompt:
|
||||
raise ValueError(f"Parameter 'user_prompt' cannot be empty or None")
|
||||
|
||||
llm = LanguageModel()
|
||||
response = llm.invoke(user_prompt=user_prompt)
|
||||
return response
|
||||
Reference in New Issue
Block a user