[ADDED] Implementar configuración de temperatura desde archivo rate_temperature.ai
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
604786ad5f
commit
0efd6cf2b8
1 changed files with 27 additions and 2 deletions
|
@ -87,8 +87,9 @@ BASE_DIR = Path(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|||
CONFIG_DIR = BASE_DIR / 'bin' / 'config'
|
||||
RATES_DIR = CONFIG_DIR / 'rates' # Nueva ubicación para archivos de tarifas
|
||||
|
||||
# Archivo de configuración para el modelo de IA
|
||||
# Archivos de configuración para la API de Perplexity
|
||||
MODEL_CONFIG_FILE = CONFIG_DIR / 'rate_model.ai'
|
||||
TEMPERATURE_CONFIG_FILE = CONFIG_DIR / 'rate_temperature.ai'
|
||||
|
||||
def get_ai_model():
|
||||
"""Obtener el modelo de IA configurado."""
|
||||
|
@ -104,6 +105,28 @@ def get_ai_model():
|
|||
# Usar 'sonar' como modelo predeterminado (el más adecuado para la API de Perplexity)
|
||||
return "sonar"
|
||||
|
||||
def get_ai_temperature():
|
||||
"""Obtener la temperatura configurada para la API de Perplexity."""
|
||||
try:
|
||||
with open(TEMPERATURE_CONFIG_FILE, 'r', encoding='utf-8') as f:
|
||||
temp_str = f.read().strip()
|
||||
# Si hay un valor específico configurado, intentar convertirlo a float
|
||||
if temp_str and temp_str.strip():
|
||||
try:
|
||||
temp = float(temp_str)
|
||||
# Validar que está en el rango correcto (0.0 a 1.0)
|
||||
if 0.0 <= temp <= 1.0:
|
||||
return temp
|
||||
else:
|
||||
logger.warning(f"Temperatura fuera de rango en {TEMPERATURE_CONFIG_FILE}: {temp}. Usando valor predeterminado 0.3.")
|
||||
except ValueError:
|
||||
logger.warning(f"Valor no numérico en {TEMPERATURE_CONFIG_FILE}: {temp_str}. Usando valor predeterminado 0.3.")
|
||||
except FileNotFoundError:
|
||||
logger.info(f"Archivo de configuración {TEMPERATURE_CONFIG_FILE} no encontrado. Usando temperatura predeterminada 0.3.")
|
||||
|
||||
# Usar 0.3 como temperatura predeterminada
|
||||
return 0.3
|
||||
|
||||
def get_perplexity_api_key():
|
||||
"""Obtener la clave API de Perplexity desde una variable de entorno o archivo."""
|
||||
# Intentar obtener la clave de la variable de entorno
|
||||
|
@ -151,6 +174,7 @@ def get_perplexity_api_key():
|
|||
def query_perplexity(prompt, model="sonar"):
|
||||
"""Realizar una consulta a la API de Perplexity."""
|
||||
api_key = get_perplexity_api_key()
|
||||
temperature = get_ai_temperature() # Obtener temperatura configurada
|
||||
|
||||
url = "https://api.perplexity.ai/chat/completions"
|
||||
headers = {
|
||||
|
@ -172,11 +196,12 @@ def query_perplexity(prompt, model="sonar"):
|
|||
}
|
||||
],
|
||||
"max_tokens": 100,
|
||||
"temperature": 0.2 # Usar temperatura baja para respuestas más consistentes
|
||||
"temperature": temperature # Usar temperatura configurada para respuestas
|
||||
}
|
||||
|
||||
try:
|
||||
logger.info(f"Enviando consulta a Perplexity usando modelo: {model}")
|
||||
logger.info(f"Temperatura configurada: {temperature}")
|
||||
logger.info(f"Prompt: {prompt}")
|
||||
|
||||
response = requests.post(url, headers=headers, json=data)
|
||||
|
|
Loading…
Reference in a new issue