Back to blog
    ¿Explotando los Costos de IA de tu App en Replit? Reemplaza OpenAI con un Modelo Local Ajustado
    replitai-costslocal-modelfine-tuningopenaisegment:vibecoder

    ¿Explotando los Costos de IA de tu App en Replit? Reemplaza OpenAI con un Modelo Local Ajustado

    El despliegue siempre activo de Replit y su fácil integración de IA crean un problema específico de costos de API. Así puedes reemplazar OpenAI con un modelo local ajustado y reducir los costos a tarifa fija.

    EErtas Team·

    Los agentes de IA de Replit hacen que sea peligrosamente fácil agregar funciones potenciadas por OpenAI. Describes lo que quieres, el agente escribe el código, y tu app tiene IA. El problema es que el costo de esa IA no aparece en tu factura de Replit — aparece en tu dashboard de OpenAI, subiendo silenciosamente cada semana a medida que tu app consigue más usuarios.

    Replit tiene un problema específico de costos de IA que otras plataformas no tienen: despliegues siempre activos.

    El Stack de IA de Replit

    La mayoría de las apps de Replit con funciones de IA integran OpenAI a través de uno de dos patrones:

    El patrón de llamada directa a la API (más común):

    import openai
    
    client = openai.OpenAI(api_key=os.environ["OPENAI_API_KEY"])
    
    def get_ai_response(user_input):
        response = client.chat.completions.create(
            model="gpt-4o-mini",
            messages=[{"role": "user", "content": user_input}]
        )
        return response.choices[0].message.content
    

    El patrón de plantilla de IA de Replit: Algunas plantillas de Replit incluyen integraciones de OpenAI preconfiguradas. Si usaste una de estas, tu app está haciendo llamadas API sin que tú veas explícitamente la implementación.

    Ambos patrones tienen el mismo problema de escalado: cada solicitud de usuario que toca una función de IA cuesta dinero.

    Números Reales de Costos a Diferentes Escalas

    Para una app típica de Replit con función de chat o generación con IA:

    UsuariosSolicitudes IA/DíaTokens DiariosCosto Mensual OpenAI
    50150105,000~$1.50
    200600420,000~$6
    5001,5001,050,000~$15
    1,0003,0002,100,000~$30
    3,0009,0006,300,000~$90
    10,00030,00021,000,000~$300

    Estos números asumen gpt-4o-mini a 700 tokens por solicitud. Cambia a gpt-4o y multiplica por 15-20x.

    El Problema Específico de Replit: Despliegues Siempre Activos

    Esto es lo que hace diferente a Replit de otras plataformas: los Deployments de Replit están siempre activos. Tu app se ejecuta 24/7, incluso cuando no hay usuarios activos.

    Esto crea una exposición a costos de IA que otras plataformas no tienen:

    Tareas programadas haciendo llamadas API: Si tu app de Replit tiene tareas schedule o tipo cron que llaman a OpenAI (resúmenes diarios, enriquecimiento periódico de datos, procesamiento en segundo plano), esas se ejecutan sin importar la actividad de los usuarios.

    Manejadores de webhooks: Si tu app recibe webhooks (eventos de Stripe, hooks de GitHub, callbacks de servicios de terceros), y estos disparan procesamiento de IA, cada webhook es una llamada API que pagas.

    Watchers de base de datos / loops de polling: Algunas apps de Replit hacen polling a APIs externas o monitorean bases de datos en segundo plano. Si este polling dispara procesamiento de IA en datos nuevos, los costos se acumulan sin interacción de usuarios.

    Inicialización de sesión: Algunas funciones de IA se inicializan al cargar la app o al iniciar sesión, haciendo llamadas API antes de cualquier interacción del usuario.

    Antes de arreglar el problema de escala, audita tu app de Replit para llamadas de IA en segundo plano. Usa el dashboard de uso de OpenAI para ver si tus costos correlacionan con la actividad de usuarios (lineal = impulsado por usuarios) o tienen un costo base incluso sin usuarios (no-cero = llamadas en segundo plano).

    La Alternativa del Modelo Local

    La solución es la misma que en cualquier otra plataforma: ajustar un modelo pequeño en tu dominio, ejecutarlo localmente, enrutar solicitudes a tu propio VPS en lugar de OpenAI.

    Para apps de Replit, la arquitectura se ve así:

    App de Replit (frontend + lógica)
             ↓
        Solicitud HTTP
             ↓
    VPS Externo (Hetzner $14-26/mes)
      └── Ollama sirviendo GGUF ajustado
             ↓
        Respuesta de vuelta a la app de Replit
    

    Tu app de Replit hace solicitudes HTTP a una URL externa (tu VPS). El VPS ejecuta Ollama, que sirve tu modelo ajustado. Esto funciona porque:

    1. Las apps de Replit pueden hacer solicitudes HTTP salientes a cualquier URL
    2. Ollama sirve una API compatible con OpenAI
    3. Tu código existente del SDK de OpenAI funciona sin cambios actualizando el base_url

    Arquitectura: App de Replit + VPS Ollama Externo

    Configurando el VPS (Hetzner CX32, ~$14/mes):

    # Instalar Ollama
    curl -fsSL https://ollama.com/install.sh | sh
    
    # Obtener modelo base o crear desde GGUF ajustado
    cat > Modelfile << 'EOF'
    FROM /path/to/your-fine-tuned-model.gguf
    SYSTEM "You are a helpful assistant specialized in [your domain]."
    EOF
    
    ollama create my-app-model -f Modelfile
    
    # Iniciar Ollama (escucha en puerto 11434 por defecto)
    # Para acceso externo, configurar OLLAMA_HOST=0.0.0.0
    OLLAMA_HOST=0.0.0.0 ollama serve
    

    Actualizando el código de tu app de Replit:

    # Antes:
    client = openai.OpenAI(api_key=os.environ["OPENAI_API_KEY"])
    
    # Después:
    client = openai.OpenAI(
        api_key="not-required",
        base_url=f"http://{os.environ['OLLAMA_VPS_IP']}:11434/v1"
    )
    
    # Todo lo demás en tu código permanece igual
    response = client.chat.completions.create(
        model="my-app-model",  # nombre de tu modelo en Ollama
        messages=[{"role": "user", "content": user_input}]
    )
    

    Almacena la IP de tu VPS como un Secret de Replit (OLLAMA_VPS_IP). Nunca hardcodees IPs.

    Nota de seguridad: Agrega una verificación simple de API key con nginx si tu VPS es público. De lo contrario, cualquiera con la IP puede usar tu modelo.

    Fine-Tuning para Tu Caso de Uso en Replit

    Para obtener el modelo ajustado que ejecutarás en el VPS:

    1. Exporta 400-800 pares de entrada/salida de tus logs existentes de API de OpenAI (Replit registra toda la salida del entorno; tu app también puede estar registrando respuestas en una base de datos)
    2. Formatea como JSONL
    3. Sube a Ertas, selecciona Qwen 2.5 7B, entrena
    4. Descarga GGUF, sube a tu VPS, carga en Ollama

    Para apps de Replit, tareas comunes de fine-tuning:

    • Chat/Q&A en contenido de dominio: Entrena con pares de (pregunta, respuesta) de tus logs
    • Generación de contenido: Entrena con pares de (prompt, output) donde los outputs fueron aceptados/usados
    • Clasificación/enrutamiento: Entrena con pares de (entrada, categoría) con categorías correctas verificadas

    Costo Después de la Migración

    Usuarios (MAU)Mensual OpenAI (gpt-4o-mini)Mensual (Ertas + VPS)
    500~$15$40.50
    1,000~$30$40.50
    5,000~$150$40.50
    20,000~$600$40.50-66.50

    El punto de equilibrio contra gpt-4o-mini es alrededor de 1,500-2,000 MAU para uso típico. Contra gpt-4o, el punto de equilibrio es menos de 200 MAU.

    La estructura de costo fijo también elimina el problema de llamadas en segundo plano: tu app de Replit siempre activa puede llamar a tu VPS de Ollama siempre activo sin costo adicional por llamada.


    Ship AI that runs on your users' devices.

    Ertas early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Lectura Adicional

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Keep reading