Primera fase: se construyen las funciones para las primeras 12 preguntas
This commit is contained in:
78
llm/config.py
Normal file
78
llm/config.py
Normal file
@@ -0,0 +1,78 @@
|
||||
"""
|
||||
Módulo para la configuración de modelos de lenguaje.
|
||||
|
||||
Este módulo proporciona clases para manejar la configuración
|
||||
de diferentes modelos de lenguaje de manera estructurada.
|
||||
"""
|
||||
from typing import Dict, Any, Optional
|
||||
|
||||
|
||||
class LLMConfig:
|
||||
"""
|
||||
Clase para manejar la configuración de los modelos de lenguaje.
|
||||
|
||||
Esta clase encapsula todos los parámetros necesarios para crear
|
||||
un modelo de lenguaje, facilitando su gestión y reutilización.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
provider: str,
|
||||
model_name: Optional[str] = None,
|
||||
temperature: float = 0.0,
|
||||
**kwargs
|
||||
):
|
||||
"""
|
||||
Inicializa una configuración para un modelo de lenguaje.
|
||||
|
||||
Args:
|
||||
provider: Proveedor del modelo (openai, anthropic)
|
||||
model_name: Nombre del modelo específico (opcional)
|
||||
temperature: Temperatura para la generación (default: 0.0)
|
||||
**kwargs: Parámetros adicionales específicos del modelo
|
||||
"""
|
||||
self.provider = provider
|
||||
self.model_name = model_name
|
||||
self.temperature = temperature
|
||||
self.extra_params = kwargs
|
||||
|
||||
def as_dict(self) -> Dict[str, Any]:
|
||||
"""
|
||||
Convierte la configuración a un diccionario.
|
||||
|
||||
Returns:
|
||||
Diccionario con todos los parámetros de configuración
|
||||
"""
|
||||
config = {
|
||||
"temperature": self.temperature,
|
||||
}
|
||||
|
||||
# Añadir el nombre del modelo si está definido
|
||||
if self.model_name:
|
||||
config["model_name"] = self.model_name
|
||||
|
||||
# Añadir parámetros adicionales
|
||||
config.update(self.extra_params)
|
||||
|
||||
return config
|
||||
|
||||
@classmethod
|
||||
def default_openai(cls) -> 'LLMConfig':
|
||||
"""
|
||||
Crea una configuración predeterminada para OpenAI.
|
||||
|
||||
Returns:
|
||||
Configuración predeterminada para OpenAI
|
||||
"""
|
||||
return cls(provider="openai", model_name="o4-mini")
|
||||
|
||||
@classmethod
|
||||
def default_anthropic(cls) -> 'LLMConfig':
|
||||
"""
|
||||
Crea una configuración predeterminada para Anthropic.
|
||||
|
||||
Returns:
|
||||
Configuración predeterminada para Anthropic
|
||||
"""
|
||||
return cls(provider="anthropic", model_name="claude-3-5-haiku-20241022")
|
||||
|
||||
Reference in New Issue
Block a user