diff --git a/llm/base.py b/llm/base.py new file mode 100644 index 0000000..d27f83a --- /dev/null +++ b/llm/base.py @@ -0,0 +1,24 @@ +from typing import List, Dict, Any, Optional + + +class LLMBase: + """ + Abstrakte Basisklasse für alle LLM-Backends (Bedrock, später evtl. lokal, etc.) + """ + + async def chat( + self, + messages: List[Dict[str, str]], + tools: Optional[List[Dict[str, Any]]] = None + ) -> Dict[str, Any]: + """ + Führt einen Chat-Request aus. + + Args: + messages: Chat History im OpenAI/Bedrock Format + tools: Optional Tool Definitionen (MCP → Bedrock konvertiert) + + Returns: + Roh-Response vom Modell (provider-spezifisch) + """ + raise NotImplementedError("chat() muss vom konkreten LLM implementiert werden") \ No newline at end of file