31 lines
917 B
Python
31 lines
917 B
Python
from abc import ABC, abstractmethod
|
|
|
|
class ModeloABC(ABC):
|
|
"""
|
|
Clase base para definir la interfaz de un modelo conversacional.
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
model: str,
|
|
temperature: float = 0.7,
|
|
top_p: float = 1.0,
|
|
top_k: int = None,
|
|
frecuencia_penalizacion: float = 0.0,
|
|
num_tokens_maximos: int = 512
|
|
):
|
|
self.model = model
|
|
self.temperature = temperature
|
|
self.top_p = top_p
|
|
self.top_k = top_k
|
|
self.frecuencia_penalizacion = frecuencia_penalizacion
|
|
self.num_tokens_maximos = num_tokens_maximos
|
|
|
|
@abstractmethod
|
|
async def responder(self, prompt: str, system_prompt: str = "", **kwargs) -> str:
|
|
"""
|
|
Devuelve una respuesta a partir de un prompt y configuración del modelo.
|
|
Este método debe implementarse de forma asíncrona en las subclases.
|
|
"""
|
|
pass
|