Tag: Ollama

  • Mejor modelo LLM local en 2026: ranking y configuración

    Mejor modelo LLM local en 2026: ranking y configuración

    Hace unos meses un developer de la comunidad me preguntó algo que parecía sencillo: "Bezael, ¿qué modelo instalo en local?". Me tardé más en responder de lo que debería porque la respuesta honesta no es un nombre — es una pregunta de vuelta: ¿para qué?

    Un modelo LLM local es un modelo de lenguaje que corre enteramente en tu máquina, sin enviar datos a servidores externos ni depender de una API de pago. Elegir el mejor modelo LLM local en junio de 2026 depende de si escribes código, procesas documentos largos, necesitas razonamiento complejo o simplemente quieres un asistente offline que no te cueste un euro al mes. En 2026 la calidad de los modelos open source ha cerrado la brecha con los modelos cloud de forma dramática — y en este ranking te doy mis recomendaciones concretas con configuración paso a paso.


    Por qué correr modelos en local en 2026

    La razón número uno ya no es el coste. Es el control.

    Cuando mandas un prompt a OpenAI, Anthropic o Google estás mandando tus datos a un servidor externo bajo sus términos de servicio. Para prototipado personal eso no importa. Pero si trabajas con código propietario de un cliente, documentos legales, datos médicos o cualquier información sensible, eso es un problema real — contractual y a veces legal.

    Los modelos en local resuelven eso de raíz: los datos nunca salen de tu máquina.

    Además hay dos casos de uso donde local gana sin discusión:

    Iteración sin fricción. Durante el prototipado puedo hacer mil llamadas al día probando prompts, ajustando pipelines, explorando comportamientos del modelo. Con una API de pago eso se acumula. En local, es gratis. En los proyectos que construyo en el curso de Construye con IA, usamos modelos locales para todo el desarrollo y solo movemos llamadas críticas a cloud cuando el producto llega a producción con usuarios reales.

    Disponibilidad total. Sin límites de rate. Sin outages del proveedor. Sin latencia de red. Si construyes herramientas de developer experience internas, un servidor con Ollama es más predecible que cualquier API externa.


    Las herramientas de runtime: Ollama primero, el resto después

    Antes de hablar de modelos, necesitas una herramienta para correrlos. Hay tres opciones principales en 2026.

    Ollama — el estándar para developers

    Ollama es la herramienta que uso y la que recomiendo sin reservas si eres developer. Es una CLI + servidor HTTP que gestiona la descarga, cuantización y ejecución de modelos como si fueran imágenes Docker. Un comando para descargar, otro para correr, y una API REST disponible en localhost:11434 lista para integrar en cualquier stack.

    Lo que lo hace especialmente útil: su API es compatible con el formato de OpenAI. Eso significa que puedes apuntar tu código existente a Ollama cambiando solo la baseURL.

    LM Studio — para exploración visual

    LM Studio es la alternativa con UI. Tiene un explorador de modelos, un chat visual y un servidor local compatible con OpenAI. Ideal para probar modelos sin escribir una línea de código o para mostrarlos a stakeholders. No es mi herramienta principal de trabajo, pero la uso para comparar modelos rápidamente.

    llama.cpp — para control máximo

    llama.cpp es el motor que hay debajo de Ollama. Si necesitas control granular sobre la cuantización, el número de capas que van a GPU, o quieres empaquetar un modelo en una aplicación nativa, llama.cpp es el camino. Tiene una curva de entrada más alta pero es el runtime más eficiente disponible.

    Para el 90% de los casos: Ollama. Es lo que cubre el resto de este post.


    Requisitos de hardware: la realidad sin marketing

    Antes de descargar nada, necesitas saber qué puede correr tu máquina.

    La variable crítica es la RAM disponible (RAM del sistema o VRAM de GPU). Un modelo cuantizado a Q4 ocupa aproximadamente 0.5 GB por cada mil millones de parámetros más un margen de contexto. Un modelo de 8B a Q4_K_M necesita unos 5-6 GB.

    Tu hardware Qué puedes correr Velocidad esperada
    8 GB RAM, sin GPU dedicada Modelos 3B–4B (Q4) Lento pero funcional (~3-5 tok/s)
    16 GB RAM / 8 GB VRAM Modelos 7B–8B (Q4) Buena para uso diario (~15-30 tok/s)
    32 GB RAM / 12-16 GB VRAM Modelos 13B–14B (Q4) Muy buena (~20-40 tok/s)
    64 GB RAM / 24 GB VRAM Modelos hasta 32B (Q4) Excelente
    Apple Silicon M2/M3 16GB Modelos hasta 13B (Q4) Muy buena (memoria unificada)
    Apple Silicon M3 Max 48GB+ Modelos 34B–70B (Q4) Sorprendentemente buena

    Una nota sobre Apple Silicon: la memoria unificada cambia el juego. Un MacBook Pro M3 Pro con 36 GB puede correr un modelo de 30B con una velocidad que en una PC requeriría una GPU de cuatro mil euros.

    Si tienes una NVIDIA RTX 3090 o 4090 (24 GB VRAM), puedes correr modelos de hasta 30B enteramente en GPU, lo que es la experiencia de inferencia más rápida que vas a tener en local.


    El mejor modelo LLM local para cada caso (junio 2026): mis recomendaciones reales

    Aquí está mi opinión directa. No es la lista más larga — es la más útil.

    Para código: Qwen3 8B — el que instalo primero

    Qwen3 de Alibaba es el modelo de código open source más sólido disponible en local a día de hoy. La variante de 8B parámetros supera a modelos mucho más grandes en benchmarks de programación (SWE-bench, HumanEval), y en uso real genera TypeScript, Python y código de infraestructura con una precisión que hace seis meses solo veías en GPT-4.

    Soporta más de 29 idiomas de forma nativa, tiene modo de razonamiento activable (thinking mode) y un contexto de hasta 256K tokens. Para trabajar con código de producción en local, es mi primera elección.

    ollama pull qwen3:8b
    

    Si tienes más RAM, la variante de 14B da un salto de calidad significativo:

    ollama pull qwen3:14b
    

    Para razonamiento: DeepSeek-R1 14B

    DeepSeek-R1 es el modelo de razonamiento open source por excelencia. Usa chain-of-thought interno antes de responder, lo que lo hace especialmente bueno para problemas que requieren múltiples pasos de lógica: debugging complejo, análisis de arquitectura, decisiones técnicas con trade-offs.

    La variante de 14B cabe cómodamente en una máquina con 16 GB de RAM.

    ollama pull deepseek-r1:14b
    

    Advertencia honesta: DeepSeek-R1 es más lento que Qwen3 porque piensa antes de responder. Ese thinking visible es un feature, no un bug — pero si necesitas velocidad para autocompletado de código, no es tu modelo.

    Para uso general y agentes: Llama 4 Scout

    Meta lanzó Llama 4 Scout en abril de 2026 y es una propuesta diferente: una arquitectura MoE (Mixture of Experts) con 17B parámetros activos sobre 109B totales, lo que significa que activa solo la parte del modelo que necesita para cada token. El resultado es eficiencia sin sacrificar calidad.

    Su característica más destacada es el contexto de 10 millones de tokens — literalmente puedes meterle una codebase completa en el contexto. Para tareas de análisis de proyectos grandes, revisión de PRs completos o procesamiento de documentos extensos, no hay nada comparable en local.

    Requiere unos 12-14 GB de VRAM para correr en GPU, o 24 GB de RAM para correr en CPU.

    ollama pull llama4:scout
    

    ⚠️ Licencia requerida: Llama 4 Scout necesita que aceptes la licencia de Meta en Hugging Face antes de descargarlo vía Ollama. Si el pull falla con error de autenticación, visita huggingface.co/meta-llama, acepta la licencia del modelo y vuelve a intentarlo.

    Para agentes y tool calling: Gemma 3 de Google

    Gemma 3 (marzo 2025) está diseñado específicamente para function calling y visión. Si construyes agentes que necesitan llamar herramientas, procesar imágenes o hacer structured output de forma fiable, Gemma 3 es la mejor opción local en su familia.

    La variante 27B es la que más me gusta para este caso de uso, pero la 12B ya da muy buenos resultados si tienes menos RAM disponible:

    ollama pull gemma3:12b
    # variante más potente (requiere ~20 GB)
    ollama pull gemma3:27b
    

    Para máquinas con poca RAM: Phi-4 Mini y Qwen3 4B

    Si tienes 8 GB de RAM o menos, o quieres algo que responda rápido para autocompletado, los modelos de 3B–4B son tu opción.

    Phi-4 Mini (Microsoft, 3.8B) tiene un rendimiento por encima de su tamaño en razonamiento y código. Es mi recomendación para máquinas limitadas.

    ollama pull phi4-mini
    

    Nota: Phi-4 Mini incluye thinking mode interno — produce cadenas de razonamiento antes de responder, lo que aumenta la latencia. Si necesitas velocidad para autocompletado, Qwen3 4B responde más rápido.

    Qwen3 4B es la opción cuando necesitas el mismo ADN de Qwen3 en un modelo pequeño, con modo thinking incluido:

    ollama pull qwen3:4b
    

    Tabla resumen

    Caso de uso Modelo recomendado RAM necesaria Comando
    Código (principal) Qwen3 8B 8-10 GB ollama pull qwen3:8b
    Código (mejor calidad) Qwen3 14B 10-12 GB ollama pull qwen3:14b
    Razonamiento complejo DeepSeek-R1 14B 10-12 GB ollama pull deepseek-r1:14b
    Contexto largo / análisis Llama 4 Scout 14-24 GB ollama pull llama4:scout
    Agentes y tool calling Gemma 3 12B 8-10 GB ollama pull gemma3:12b
    Máquinas con poca RAM Phi-4 Mini 4-6 GB ollama pull phi4-mini
    General rápido y ligero Qwen3 4B 4-6 GB ollama pull qwen3:4b

    Cómo configurar Ollama paso a paso

    1. Instalación

    macOS:

    brew install --cask ollama
    

    Linux:

    curl -fsSL https://ollama.com/install.sh | sh
    

    Windows:
    Descarga el instalador desde ollama.com/download. Se instala como servicio y arranca automáticamente al iniciar el sistema.

    Verifica que funciona:

    ollama --version
    

    2. Descargar y correr un modelo

    # Descargar y abrir chat interactivo
    ollama run qwen3:8b
    
    # Solo descargar (sin abrir chat)
    ollama pull qwen3:8b
    
    # Gestionar modelos
    ollama list          # modelos descargados
    ollama rm deepseek-r1:14b   # eliminar modelo
    ollama show qwen3:8b        # info del modelo
    

    3. Usar la API REST

    Cuando Ollama está corriendo, expone una API en http://localhost:11434. La ruta /v1/chat/completions es compatible con el formato de OpenAI:

    curl http://localhost:11434/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "qwen3:8b",
        "messages": [
          { "role": "user", "content": "Escribe un type guard TypeScript para User" }
        ]
      }'
    

    4. Cambiar el modelo por defecto o el puerto

    Ollama usa variables de entorno para configuración:

    # Exponer en todas las interfaces (para acceso desde red local)
    OLLAMA_HOST=0.0.0.0:11434 ollama serve
    
    # Limitar los modelos cargados en memoria
    OLLAMA_MAX_LOADED_MODELS=2 ollama serve
    
    # Especificar cuántas capas van a GPU
    OLLAMA_NUM_GPU=35 ollama serve
    

    En macOS y Linux puedes definir estas variables en /etc/systemd/system/ollama.service (Linux) o en la configuración del servicio (macOS).


    Integración con herramientas de desarrollo

    Continue.dev + VS Code — autocompletado local

    Continue.dev es la extensión que convierte VS Code en un asistente de código con Ollama como backend. Instala la extensión y modifica el archivo ~/.continue/config.yaml:

    models:
      - name: Qwen3 8B Local
        provider: ollama
        model: qwen3:8b
        roles:
          - chat
          - edit
    
      - name: Qwen3 4B Autocomplete
        provider: ollama
        model: qwen3:4b
        roles:
          - autocomplete
    
    tabAutocompleteModel:
      name: Qwen3 4B Autocomplete
      provider: ollama
      model: qwen3:4b
    

    Con esta configuración tienes chat de código y autocompletado en línea usando modelos locales, sin mandar una sola línea de código a servidores externos.

    Integración desde código TypeScript

    La API de Ollama es compatible con el SDK de OpenAI. El patrón que más uso:

    import OpenAI from "openai";
    
    const isLocal = process.env.USE_LOCAL_LLM === "true";
    
    const client = new OpenAI({
      baseURL: isLocal
        ? "http://localhost:11434/v1"
        : "https://api.openai.com/v1",
      apiKey: isLocal ? "ollama" : process.env.OPENAI_API_KEY!,
    });
    
    const model = isLocal ? "qwen3:8b" : "gpt-4o-mini";
    
    const response = await client.chat.completions.create({
      model,
      messages: [{ role: "user", content: prompt }],
    });
    

    Con USE_LOCAL_LLM=true en tu .env de desarrollo, todo el tráfico va a Ollama. En producción, cambia la variable y apunta a tu proveedor cloud. Sin tocar una línea de lógica.


    FAQ

    ¿Cuál es el mejor modelo LLM local para empezar desde cero?

    El mejor modelo LLM local de entrada es Qwen3 8B: buena calidad en código y texto, compatible con 8-10 GB de RAM, y con la misma arquitectura que los modelos grandes de la familia Qwen3. Si tu máquina tiene menos de 8 GB libres, empieza con Qwen3 4B o Phi-4 Mini.

    ¿Necesito GPU para correr modelos en local?

    No obligatoriamente, pero marca la diferencia. Sin GPU dedicada, un modelo de 7B en CPU genera entre 3 y 8 tokens por segundo, lo que es funcional pero lento. Con una GPU de 8 GB VRAM (RTX 3060 o equivalente) subes a 20-40 tok/s, que ya es una experiencia fluida. En Apple Silicon la memoria unificada hace que CPU e iGPU compartan el mismo pool de memoria, lo que los hace especialmente eficientes.

    ¿Qué diferencia hay entre Q4 y Q8 en cuantización?

    La cuantización reduce la precisión de los pesos del modelo para ahorrar memoria. Q4 usa 4 bits por peso (el formato más comprimido), Q8 usa 8 bits (más cercano al original). En la práctica, Q4_K_M retiene el 92-95% de la calidad del modelo a fp16, ocupando la mitad de memoria. Para uso en local, Q4_K_M es el punto dulce entre calidad y eficiencia. Ollama descarga Q4 por defecto.

    ¿Puedo usar Ollama en un pipeline de CI/CD?

    Sí. Ollama corre en Linux sin interfaz gráfica y tiene imagen Docker oficial. El caso de uso habitual: un runner self-hosted de GitHub Actions con Ollama instalado que ejecuta validaciones de calidad de código o generación de tests sin coste por llamada. Para proyectos donde quieras integrar esto en un flujo estructurado, en Dominicode Labs tenemos ejemplos completos de pipelines con agentes locales en producción.

    ¿Qwen3 supera a modelos de OpenAI en código?

    En benchmarks de código como SWE-bench (según datos publicados por Alibaba en el lanzamiento de Qwen3, verificables en lmarena.ai), Qwen3 72B supera a GPT-4o. La variante de 8B ya es comparable a GPT-3.5-turbo en la mayoría de tareas de código. Para cosas que GPT-4o o Claude Sonnet hacen bien —razonamiento complejo, código muy largo con dependencias sutiles— los modelos cloud siguen ganando. Pero para el 80% de las tareas diarias de un developer, Qwen3 8B en local funciona perfectamente.

    ¿Cómo comparo modelos sin descargarlos todos?

    Usa ollama.com/search para ver los modelos disponibles con sus benchmarks. Para comparativas rápidas de calidad sin instalación, lmarena.ai (antes LMSYS Chatbot Arena) tiene evaluaciones humanas actualizadas. Mi recomendación práctica: descarga el modelo, pruébalo con tres de tus casos de uso reales, y decide. Los benchmarks orientan pero el uso real es el que manda.

    ¿Llama 4 Scout es realmente mejor que Llama 3?

    Para la mayoría de tareas, sí. El salto más notorio es el contexto: Llama 3.1 tiene 128K tokens, Llama 4 Scout tiene 10 millones. Para uso como asistente de chat o código simple, Llama 3.3 70B sigue siendo una opción excelente si tienes el hardware. Para análisis de documentos grandes o proyectos completos en el contexto, Llama 4 Scout es otro nivel.


    El paso siguiente

    Tener el mejor modelo LLM local corriendo en tu máquina es el primer paso. El segundo —y donde la mayoría de developers se quedan atascados— es estructurar cómo ese modelo encaja en un producto real.

    ¿Cómo se organiza el contexto? ¿Cuándo usas local y cuándo nube? ¿Cómo construyes un agente que funcione con ambos backends? Eso es exactamente lo que cubrimos en el curso Construye con IA: De la Idea al Producto — desde la especificación hasta el despliegue, con arquitectura real y sin atajos.


    Por Bezael Pérez — Developer senior con más de 15 años de experiencia y fundador de Dominicode.

  • Cómo correr modelos de IA en local con Ollama

    Cómo correr modelos de IA en local con Ollama

    Era domingo por la noche. Tenía que probar un flujo de extracción de datos con un LLM y el presupuesto del cliente para APIs era cero. Nada aprobado, nada disponible.

    La solución: correr modelos IA en local. Instalé Ollama en diez minutos, bajé Llama 3 y terminé el prototipo antes de medianoche sin gastar un solo centavo en tokens.

    Eso es lo que te da correr modelos en local: velocidad, independencia y control total sobre lo que entra y lo que sale del modelo. Y en 2026, con los modelos open source en el estado en que están, la calidad ya no es una excusa para no hacerlo.

    Correr modelos IA en local significa ejecutar un Large Language Model directamente en tu hardware — sin enviar datos a APIs externas, sin coste por token y con latencia controlada. Herramientas como Ollama hacen que el proceso sea tan sencillo como instalar cualquier CLI.


    Por qué correr modelos en local (y cuándo importa de verdad)

    Hay cuatro razones concretas. Y van más allá del coste.

    Privacidad. Si trabajas con datos sensibles — contratos, código propietario, información médica — mandar esos datos a una API externa es un riesgo legal y contractual. Con modelos IA en local, los datos nunca salen de tu máquina.

    Latencia. Una llamada a GPT-4o tiene entre 300ms y 2 segundos de ida y vuelta dependiendo del tamaño del prompt. Un modelo local bien configurado en una máquina decente responde en milisegundos para tareas simples. Si construyes herramientas de developer experience o pipelines de CI con IA, esa diferencia importa.

    Iteración sin coste. En fases de prototipado puedes hacer miles de llamadas al día para testear prompts, ajustar pipelines y explorar comportamientos del modelo. Con una API de pago, eso se acumula rápido. En local, es gratis.

    Trabajo offline. Aviones, conexiones lentas, redes corporativas con proxies restrictivos. Un modelo local funciona siempre.


    Las dos herramientas que necesitas conocer

    Ollama — la opción de developer

    Ollama es la herramienta que más uso y la que recomiendo si eres developer. Es una CLI + servidor HTTP que gestiona la descarga, configuración y ejecución de modelos como si fueran contenedores Docker.

    Funciona en macOS, Linux y Windows. Tiene una API REST compatible con el formato de OpenAI, lo que significa que puedes usar clientes existentes con un cambio mínimo de URL. Y tiene una comunidad activa con más de 100 modelos disponibles en su registry.

    Si sabes usar Docker, Ollama te va a resultar natural inmediatamente.

    LM Studio — la opción visual

    LM Studio es la alternativa para quienes prefieren una interfaz gráfica. Permite navegar, descargar y comparar modelos con un chat visual, ideal para exploración inicial o para compartir con equipos no técnicos.

    También tiene un servidor local compatible con OpenAI. La diferencia clave: Ollama es mejor para integrar en código y scripts; LM Studio es mejor para explorar modelos de forma interactiva.

    Para este post me centro en Ollama porque es donde vive el flujo de trabajo real de un developer.


    Tutorial: instalar Ollama y correr tu primer modelo

    1. Instalación

    macOS:

    brew install --cask ollama

    Linux:

    curl -fsSL https://ollama.com/install.sh | sh

    Windows:
    Descarga el instalador desde ollama.com/download y ejecútalo. Ollama se instala como servicio y arranca automáticamente.

    Una vez instalado, verifica que funciona:

    ollama --version

    2. Descargar y correr un modelo

    # Descargar y correr Llama 3.2 (3B — ligero, ideal para empezar)
    ollama run llama3.2
    
    # Descargar sin abrir el chat
    ollama pull llama3.2
    
    # Descargar Mistral 7B
    ollama pull mistral
    
    # Descargar Gemma 3 (Google, muy eficiente)
    ollama pull gemma3
    
    # Descargar Qwen 2.5 (excelente en código)
    ollama pull qwen2.5-coder
    
    # Descargar Phi-4 (Microsoft, pequeño y capaz)
    ollama pull phi4

    Al ejecutar ollama run se abre un REPL interactivo en la terminal. Escribe tu prompt y responde como cualquier chat. Para salir: /bye.

    3. Gestionar modelos

    # Ver modelos descargados
    ollama list
    
    # Eliminar un modelo
    ollama rm mistral
    
    # Ver información de un modelo
    ollama show llama3.2

    4. Usar la API REST de Ollama

    Cuando Ollama está corriendo, expone una API en http://localhost:11434. Puedes usarla directamente con curl:

    # Generar una respuesta (completions)
    curl http://localhost:11434/api/generate \
      -H "Content-Type: application/json" \
      -d '{
        "model": "llama3.2",
        "prompt": "Explica qué es un closure en JavaScript en dos frases",
        "stream": false
      }'
    
    # Formato compatible con OpenAI (chat completions)
    curl http://localhost:11434/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "llama3.2",
        "messages": [
          { "role": "user", "content": "Qué es un closure en JavaScript?" }
        ]
      }'

    El endpoint /v1/chat/completions es compatible con el SDK oficial de OpenAI. Solo tienes que cambiar la baseURL.


    Modelos recomendados según caso de uso

    Estos son los modelos IA en local con mejor rendimiento según el hardware disponible y el caso de uso:

    Modelo Tamaño Ideal para RAM mínima
    llama3.2:3b ~2 GB Tareas simples, prototipado rápido 8 GB
    llama3.1:8b ~5 GB Razonamiento general, chat 8 GB
    mistral:7b ~4 GB Instrucciones, resumen, generación de texto 8 GB
    qwen2.5-coder:7b ~4 GB Generación y revisión de código 8 GB
    gemma3:9b ~6 GB Tareas multilingues, contexto largo 16 GB
    phi4:14b ~9 GB Razonamiento complejo, análisis 16 GB
    llama3.3:70b ~40 GB Calidad cercana a GPT-4o 64 GB
    deepseek-r1:14b ~9 GB Razonamiento con chain-of-thought 16 GB

    Para una máquina de desarrollo con 16 GB de RAM, qwen2.5-coder:7b para tareas de código y llama3.1:8b para texto general cubren el 90% de los casos.


    Local vs nube: cuándo usar cada uno

    Criterio Local (Ollama) Nube (OpenAI, Anthropic, Google)
    Coste por llamada Gratis $0.001–$0.015 por 1K tokens
    Privacidad de datos Total Depende del proveedor y contrato
    Calidad en tareas complejas Buena (modelos 7B–14B) Excelente (modelos frontier)
    Latencia (primer token) Baja en hardware potente Varía: 300ms–2s
    Escalabilidad Limitada por tu hardware Prácticamente ilimitada
    Modelos de razonamiento avanzado Limitado o1, Claude Sonnet 4, Gemini 2.5 Pro
    Setup inicial 10 minutos Registro + API key
    Trabajo offline No
    Ideal para Prototipado, privacidad, CI/CD, dev tooling Producción con usuarios reales, tareas complejas

    La regla que uso: local para desarrollar, nube para producir. Prototipa barato, valida rápido, y cuando el producto necesita escalar o resolver tareas de mayor complejidad, mueve las llamadas críticas a un modelo cloud.


    Integración con TypeScript y JavaScript

    Ollama tiene su propio cliente oficial para Node.js. Dado que expone un endpoint compatible con OpenAI, puedes usar el paquete openai directamente — sin reescribir nada en tus proyectos existentes. Después de integrar modelos IA en local en varios proyectos TypeScript, estos son los tres patrones que más uso en producción:

    Con el SDK de OpenAI (compatibilidad directa)

    import OpenAI from "openai";
    
    const client = new OpenAI({
      baseURL: "http://localhost:11434/v1",
      apiKey: "ollama", // cualquier string no vacío
    });
    
    async function ask(prompt: string): Promise<string> {
      const response = await client.chat.completions.create({
        model: "llama3.2",
        messages: [{ role: "user", content: prompt }],
      });
    
      return response.choices[0].message.content ?? "";
    }
    
    const answer = await ask("Genera un schema Zod para un usuario con nombre y email");
    console.log(answer);

    Nota: El await en nivel superior requiere ESM. Añade "type": "module" en tu package.json o usa extensión .mts.

    El prompt del ejemplo genera un schema Zod. Si quieres dominar la validación de datos con TypeScript para estos pipelines, el curso de Zod cubre exactamente ese flujo con ejemplos reales.

    Con el cliente nativo de Ollama

    import { Ollama } from "ollama";
    
    const ollama = new Ollama({ host: "http://localhost:11434" });
    
    // Respuesta completa
    const response = await ollama.chat({
      model: "qwen2.5-coder",
      messages: [
        {
          role: "user",
          content: "Escribe una función TypeScript que valide un email con regex",
        },
      ],
    });
    
    console.log(response.message.content);
    
    // Streaming
    const stream = await ollama.chat({
      model: "qwen2.5-coder",
      messages: [{ role: "user", content: "Explica el patron Repository" }],
      stream: true,
    });
    
    for await (const chunk of stream) {
      process.stdout.write(chunk.message.content);
    }

    Instala el cliente oficial:

    npm install ollama
    # o con bun
    bun add ollama

    Cambiar entre local y nube con una variable de entorno

    Este patrón es el que más uso en proyectos reales — permite alternar entre Ollama y OpenAI sin cambiar código:

    import OpenAI from "openai";
    
    const isLocal = process.env.USE_LOCAL_LLM === "true";
    
    const client = new OpenAI({
      baseURL: isLocal ? "http://localhost:11434/v1" : "https://api.openai.com/v1",
      apiKey: isLocal ? "ollama" : process.env.OPENAI_API_KEY,
    });
    
    const model = isLocal ? "llama3.2" : "gpt-4o-mini";

    Con USE_LOCAL_LLM=true en desarrollo y la variable desactivada en producción, tienes el mejor de los dos mundos sin duplicar lógica. Esta es exactamente la clase de arquitectura que trabajamos en el curso Construye con IA, donde construimos productos completos con IA desde la especificación hasta el despliegue.


    FAQ — Preguntas frecuentes sobre modelos IA en local

    ¿Qué hardware necesito para correr modelos IA en local?

    Para modelos de 7B parámetros necesitas un mínimo de 8 GB de RAM y cualquier CPU moderna (últimos 5 años). Con GPU dedicada (NVIDIA o Apple Silicon) la inferencia es entre 5x y 10x más rápida. Un MacBook Pro M2 con 16 GB corre llama3.1:8b sin problemas. Para modelos de 70B necesitas al menos 64 GB de RAM o una GPU con suficiente VRAM.

    ¿Son los modelos locales comparables a GPT-4o o Claude?

    No para tareas complejas de razonamiento multi-paso o generación de código sofisticado. Pero para clasificación, resumen, extracción de información estructurada, generación de texto simple y asistencia en código básico, modelos como qwen2.5-coder:7b o llama3.1:8b son más que suficientes. La brecha se ha reducido mucho en el último año.

    ¿Puedo usar Ollama en un servidor de CI/CD?

    Sí. Ollama funciona en Linux sin cabecera y puede correr en Docker. El caso de uso más habitual: un runner de GitHub Actions con un runner self-hosted que tiene Ollama instalado para ejecutar checks de calidad de código o validaciones automáticas sin coste por llamada.

    ¿Cuánto espacio en disco ocupan los modelos?

    Depende del modelo y la cuantización. llama3.2:3b ocupa unos 2 GB. llama3.1:8b unos 5 GB. llama3.3:70b alrededor de 40 GB. Ollama descarga versiones cuantizadas (Q4 por defecto) que reducen el tamaño a la mitad aproximadamente manteniendo el 90–95% de la calidad del modelo original.

    ¿Qué diferencia hay entre Ollama y LM Studio?

    Ollama es una herramienta CLI-first, sin interfaz gráfica, pensada para integración en scripts y aplicaciones. LM Studio tiene una UI de escritorio con chat visual, gestor de modelos y comparador integrado. Ambas exponen una API local compatible con OpenAI. Si eres developer y quieres integrar el modelo en código, Ollama. Si quieres explorar modelos visualmente o presentarlos a stakeholders, LM Studio.

    ¿Puedo hacer fine-tuning de modelos con Ollama?

    Ollama no está diseñado para fine-tuning. Su función es servir modelos, no entrenarlos. Para fine-tuning de modelos open source necesitas herramientas como Unsloth, LoRA con Hugging Face o plataformas como Together AI y Replicate. Ollama puede servir después el modelo fine-tuneado si lo exportas en formato GGUF.

    ¿Es seguro usar modelos locales en producción?

    Depende del caso. Para un servicio interno o una herramienta de developer experience, perfectamente. Para un producto con miles de usuarios concurrentes, los modelos locales tienen limitaciones de escalabilidad obvias: un solo servidor solo puede atender las peticiones que su hardware permite procesar en paralelo. En ese escenario, la nube escala horizontalmente de forma que local no puede igualar.

    ¿Cómo elijo entre los modelos disponibles en Ollama?

    Empieza con llama3.2:3b para validar el flujo de tu aplicación (descarga rápida, responde rápido). Sube a llama3.1:8b o qwen2.5-coder:7b cuando necesites mejor calidad. Si tu máquina tiene 32 GB+ de RAM, phi4:14b o gemma3:27b son excelentes opciones intermedias antes de saltar a los modelos de 70B.


    Para ir más lejos

    Si estás construyendo productos con IA — integrando modelos IA en local en pipelines completos, agentes y herramientas que lleguen a usuarios reales — el siguiente paso es estructurar esa arquitectura desde el principio.

    El post sobre CLAUDE.md: el system prompt de tu proyecto explica cómo dar contexto permanente al agente. Clean Architecture en frontend con IA muestra cómo mantener las capas limpias cuando el agente genera código. Y si te preguntas hacia dónde va todo esto profesionalmente, la guía sobre qué es un Agentic Engineer cierra el mapa.

    En Dominicode Labs encontrarás proyectos completos, recursos avanzados y una comunidad de developers que están exactamente en esa fase: construyendo con IA en producción, no en tutoriales de YouTube.


    Por Bezael Pérez — Developer senior con más de 15 años de experiencia y fundador de Dominicode.