31 lines
812 B
Python
31 lines
812 B
Python
from typing import Optional
|
|
from abc import ABC, abstractmethod
|
|
|
|
from mem0.configs.llms.base import BaseLlmConfig
|
|
|
|
|
|
class LLMBase(ABC):
|
|
def __init__(self, config: Optional[BaseLlmConfig] = None):
|
|
"""Initialize a base LLM class
|
|
|
|
:param config: LLM configuration option class, defaults to None
|
|
:type config: Optional[BaseLlmConfig], optional
|
|
"""
|
|
if config is None:
|
|
self.config = BaseLlmConfig()
|
|
else:
|
|
self.config = config
|
|
|
|
@abstractmethod
|
|
def generate_response(self, messages):
|
|
"""
|
|
Generate a response based on the given messages.
|
|
|
|
Args:
|
|
messages (list): List of message dicts containing 'role' and 'content'.
|
|
|
|
Returns:
|
|
str: The generated response.
|
|
"""
|
|
pass
|