[REFACTORED] Usar prompt de archivo rates.prompt para consultas de tarifas
- Leer el prompt desde el archivo rates.prompt en lugar de tenerlo hardcoded - Traducir tipos de programadores a sus equivalentes en inglés - Adaptar sistema de prompts para trabajar con textos en inglés - Mejorar instrucciones al modelo para obtener solo valores numéricos - Agregar manejo de errores si el archivo del prompt no existe 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
2aa0ad44d3
commit
7b01fbf6ee
1 changed files with 32 additions and 22 deletions
|
@ -164,7 +164,7 @@ def query_perplexity(prompt, model="sonar"):
|
||||||
"messages": [
|
"messages": [
|
||||||
{
|
{
|
||||||
"role": "system",
|
"role": "system",
|
||||||
"content": "You are a helpful assistant that provides accurate salary information for developers worldwide. Respond only with numeric values in USD with 2 decimal places."
|
"content": "You are a helpful assistant that provides accurate salary information for developers worldwide. Respond only with numeric values in USD with 2 decimal places. Do not include any text, currency symbols, or other characters."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"role": "user",
|
"role": "user",
|
||||||
|
@ -503,32 +503,42 @@ def update_rate_files():
|
||||||
def generate_prompt_base(programmer_type):
|
def generate_prompt_base(programmer_type):
|
||||||
"""
|
"""
|
||||||
Genera un prompt para consultar la tarifa base por hora para un tipo de programador.
|
Genera un prompt para consultar la tarifa base por hora para un tipo de programador.
|
||||||
|
Utiliza el prompt definido en el archivo rates.prompt.
|
||||||
"""
|
"""
|
||||||
|
# Mapa para traducir tipos de programador a términos en inglés
|
||||||
programmer_map = {
|
programmer_map = {
|
||||||
'bash': 'programador de scripts Bash/Shell',
|
'bash': 'Bash/Shell',
|
||||||
'python': 'desarrollador Python',
|
'python': 'Python',
|
||||||
'fullstack': 'desarrollador Full Stack',
|
'fullstack': 'Full Stack',
|
||||||
'frontend': 'desarrollador Frontend',
|
'frontend': 'Frontend',
|
||||||
'backend': 'desarrollador Backend',
|
'backend': 'Backend',
|
||||||
'devops': 'ingeniero DevOps',
|
'devops': 'DevOps',
|
||||||
'mobile': 'desarrollador de aplicaciones móviles',
|
'mobile': 'Mobile App',
|
||||||
'java': 'desarrollador Java',
|
'java': 'Java',
|
||||||
'php': 'desarrollador PHP',
|
'php': 'PHP',
|
||||||
'ruby': 'desarrollador Ruby',
|
'ruby': 'Ruby',
|
||||||
'dotnet': 'desarrollador .NET',
|
'dotnet': '.NET',
|
||||||
'data': 'científico de datos',
|
'data': 'Data Science',
|
||||||
'ml': 'ingeniero de Machine Learning',
|
'ml': 'Machine Learning',
|
||||||
'cloud': 'arquitecto Cloud',
|
'cloud': 'Cloud',
|
||||||
'odoo': 'desarrollador Odoo'
|
'odoo': 'Odoo'
|
||||||
}
|
}
|
||||||
|
|
||||||
programmer_description = programmer_map.get(programmer_type, f'desarrollador {programmer_type}')
|
programmer_description = programmer_map.get(programmer_type, programmer_type)
|
||||||
|
|
||||||
# Usamos el año actual para la consulta principal
|
# Cargar el prompt desde el archivo
|
||||||
current_year = time.strftime("%Y")
|
prompt_template = ""
|
||||||
prompt = f"""¿Cuál es la tarifa POR HORA promedio mundial en dólares estadounidenses (USD) para un {programmer_description} en {current_year}?
|
prompt_file = CONFIG_DIR / 'rates.prompt'
|
||||||
|
|
||||||
IMPORTANTE: Responde ÚNICAMENTE con el valor numérico con dos decimales. Es ESENCIAL que sea el valor POR HORA."""
|
try:
|
||||||
|
with open(prompt_file, 'r', encoding='utf-8') as f:
|
||||||
|
prompt_template = f.read().strip()
|
||||||
|
except FileNotFoundError:
|
||||||
|
# Si no se encuentra el archivo, usar un prompt predeterminado
|
||||||
|
prompt_template = "What is the average hourly rate in USD for a [developer type] developer, expressed as a numerical value with two decimal places?"
|
||||||
|
|
||||||
|
# Reemplazar [developer type] con el tipo de programador específico
|
||||||
|
prompt = prompt_template.replace('[developer type]', programmer_description)
|
||||||
|
|
||||||
return prompt
|
return prompt
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue