Contenido

Ollama: Corre modelos de IA en tu máquina sin depender de la nube

Actualizado en marzo 2026: Este artículo ha sido revisado para reflejar las versiones más recientes de Ollama (v0.18.x) y los nuevos modelos disponibles, incluyendo Llama 4, Gemma 3, Phi-4, Qwen 3 y DeepSeek-R1.

¿Qué es Ollama?

Imagínate poder hablar con una inteligencia artificial como ChatGPT, pero sin internet, sin suscripciones y sin que tus datos salgan de tu máquina. Suena bien, ¿verdad? Eso es exactamente lo que te permite hacer Ollama.

Ollama es una herramienta open source que te permite descargar y correr modelos de lenguaje (LLMs) en tu propia computadora. Así de simple. Sin APIs de terceros, sin tokens que se te acaban, sin preocuparte de que alguien lea tus prompts. Todo corre en local.

Piensa en Ollama como el Docker de los modelos de IA: tú le dices qué modelo quieres, lo descarga, y lo pone a correr listo para que le hagas preguntas desde tu terminal o desde cualquier app que se conecte a su API local.


¿Por qué correr un LLM en local?

Puede que te preguntes: “Si ya existe ChatGPT, Claude, Gemini… ¿para qué complicarme la vida corriendo algo en mi máquina?”. Buena pregunta. Acá van las razones:

  • Privacidad total: tus datos nunca salen de tu computadora. Si trabajas con código propietario, documentos sensibles o datos de clientes, esto es enorme.
  • Sin costos recurrentes: no pagas por tokens ni suscripciones mensuales. Una vez descargado el modelo, es tuyo.
  • Sin internet: funciona offline. En un avión, en el metro, en un pueblo sin señal. Da igual.
  • Personalización: puedes hacer fine-tuning, crear tus propios modelos base, o ajustar parámetros como temperatura y contexto.
  • Experimentación libre: puedes probar 20 modelos diferentes sin que tu tarjeta de crédito llore.
  • Integración local: Ollama expone una API REST en localhost:11434, lo que te permite conectar tu propio código, scripts o apps directamente.

Los modelos más destacados

Ollama tiene un catálogo enorme de modelos. Acá te dejo los que más valen la pena conocer:

ModeloParámetrosPara qué es bueno
Llama 4109B (Scout) / 400B (Maverick)Lo más nuevo de Meta. Multimodal (texto + imagen), arquitectura MoE. Scout: hasta 10M de contexto, Maverick: hasta 1M
Llama 3.370BRendimiento cercano al 405B de Llama 3.1 pero mucho más ligero. 128K de contexto
Llama 3.18B / 70B / 405BEl más descargado en Ollama (+112M pulls). Excelente para conversación general, código y razonamiento
DeepSeek-R11.5B - 671BEl segundo más popular (+81M pulls). Especializado en razonamiento profundo y tareas complejas
Mistral7B / 12B (Nemo) / 24B (Small)Rápido y eficiente. Muy buen balance entre calidad y recursos
Gemma 31B / 4B / 12B / 27BDe Google. Incluye capacidades de visión y hasta 128K de contexto
Phi-414BDe Microsoft. Ideal para tareas de razonamiento con recursos moderados
Qwen 30.6B - 235BDe Alibaba. Muy bueno en múltiples idiomas y hasta 256K de contexto
CodeLlama7B / 13B / 34B / 70BEspecializado en generación y explicación de código
Tip
Puedes ver el catálogo completo en ollama.com/library. Cada modelo tiene diferentes tamaños (versiones con distinto número de parámetros), lo que te permite elegir según los recursos de tu máquina.

¿Por qué vamos a usar un modelo pequeño?

Ahora, seamos honestos. Correr un modelo de 70 mil millones de parámetros en tu laptop no es lo mismo que correrlo en un datacenter de NVIDIA con GPUs de $40,000. Aunque tengas una buena máquina (en mi caso un MacBook Pro con chip M4 Max y 36GB de RAM), hay que ser realistas con lo que podemos correr de forma fluida.

Los modelos pequeños (7B-8B parámetros) son la opción ideal para uso local porque:

  • Respuestas rápidas: generan texto casi al instante en hardware moderno.
  • Bajo consumo de memoria: un modelo de 7B ocupa ~4-5GB de RAM, dejándote espacio para el resto de tus apps.
  • Calidad sorprendente: modelos como Llama 3.1 8B o Mistral 7B son impresionantemente buenos para su tamaño. Pueden escribir código, explicar conceptos, traducir, resumir y mucho más.
  • Iteración rápida: al ser ligeros, puedes probar diferentes prompts y configuraciones sin esperar eternamente.

Para este tutorial vamos a usar Llama 3.1 de 8B parámetros, que es probablemente el mejor modelo de propósito general que puedes correr en local hoy en día.


Instalación de Ollama

macOS

La forma más fácil es con el script oficial o con Homebrew:

# Opción 1: Script oficial (también funciona en macOS)
curl -fsSL https://ollama.com/install.sh | sh

# Opción 2: Con Homebrew
brew install ollama

# Opción 3: Descarga directa desde ollama.com/download

Eso es todo. Ollama se instala como una app que corre en segundo plano.

Linux

En Linux es igual de sencillo con el script oficial:

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

Esto instala Ollama y lo configura como un servicio del sistema. Si prefieres no usar curl | sh (totalmente válido, hay que ser precavido), puedes descargar el binario manualmente desde GitHub.

Una vez instalado, inicia el servicio:

# Iniciar Ollama
ollama serve

Windows

Para Windows tienes tres opciones:

Opción 1: Instalador nativo

Descarga el instalador desde ollama.com/download y ejecútalo. Se instala como cualquier otra aplicación de Windows.

Opción 2: PowerShell (una línea)

Abre PowerShell como administrador y ejecuta:

irm https://ollama.com/install.ps1 | iex

Opción 3: WSL2 (recomendado para desarrolladores)

Si ya usas WSL2 (Windows Subsystem for Linux), puedes instalar Ollama dentro de tu distribución Linux exactamente como en la sección anterior:

curl -fsSL https://ollama.com/install.sh | sh
Nota para usuarios de Windows
Si tienes una GPU NVIDIA, Ollama la detectará automáticamente. Para GPUs AMD, el soporte está mejorando pero puede requerir configuración adicional.

Descargando y corriendo tu primer modelo

Una vez instalado Ollama, descargar y correr un modelo es un solo comando:

ollama run llama3.1

La primera vez, Ollama descargará el modelo (~4.9GB para la versión de 8B). Después de eso, se carga desde tu disco local. Verás algo así:

pulling manifest
pulling 8eeb52dfb3bb... 100% ▕████████████████████████████████▏ 4.9 GB
pulling 948af2743fc7... 100% ▕████████████████████████████████▏ 1.5 KB
pulling 0ba8f0e314b4... 100% ▕████████████████████████████████▏   12 KB
pulling 56bb8bd477a5... 100% ▕████████████████████████████████▏   96 B
pulling 1e0dd4591101... 100% ▕████████████████████████████████▏  485 B
verifying sha256 digest
writing manifest
success
>>>

Y ya estás dentro del chat interactivo. Así de fácil.


Comandos esenciales

Antes de ponernos a chatear, acá van los comandos que vas a usar todo el tiempo:

# Ver qué modelos tienes descargados
ollama list

# Descargar un modelo sin correrlo
ollama pull mistral

# Correr un modelo (lo descarga si no lo tienes)
ollama run llama3.1

# Eliminar un modelo que ya no necesitas
ollama rm mistral

# Ver los modelos que están corriendo ahora
ollama ps

# Ver información de un modelo
ollama show llama3.1

Ejemplo práctico: tu primer prompt

Vamos a lo bueno. Con el modelo corriendo, puedes hacer de todo. Acá te dejo un ejemplo real para que veas el poder de un LLM local:

>>> Soy desarrollador backend y necesito una función en Python que valide
... si un email es válido usando regex. Dame el código con comentarios
... explicativos y un ejemplo de uso.

Y Llama 3.1 te responderá algo como:

import re

def validar_email(email: str) -> bool:
    """
    Valida si un string tiene formato de email válido.

    Usa una expresión regular que verifica:
    - Parte local: letras, números, puntos, guiones, guiones bajos
    - Símbolo @
    - Dominio: letras, números, puntos, guiones
    - TLD: al menos 2 caracteres
    """
    patron = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
    return bool(re.match(patron, email))

# Ejemplos de uso
emails_prueba = [
    "[email protected]",       # válido
    "[email protected]", # válido
    "invalido@",                  # inválido
    "@sinusuario.com",            # inválido
    "[email protected]",           # válido
]

for email in emails_prueba:
    resultado = "válido" if validar_email(email) else "inválido"
    print(f"{email:35}{resultado}")

Nada mal para algo que corre 100% en tu máquina, ¿verdad?


Usando Ollama desde la terminal (sin chat interactivo)

También puedes usar Ollama directamente desde la línea de comandos sin entrar al modo interactivo. Esto es súper útil para scripts:

# Prompt directo
ollama run llama3.1 "Explícame qué es un API REST en 3 líneas"

# Combinado con pipes
echo "Traduce esto al inglés: Hola mundo, esto es una prueba" | ollama run llama3.1

La API REST local

Esto es donde se pone realmente interesante. Ollama expone una API REST en http://localhost:11434 que puedes usar desde cualquier lenguaje de programación:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1",
  "prompt": "¿Qué es Docker en una frase?",
  "stream": false
}'

Ollama también tiene un endpoint dedicado para chat en /api/chat, que es más natural para conversaciones con historial de mensajes:

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.1",
  "messages": [
    { "role": "user", "content": "¿Qué es Docker en una frase?" }
  ],
  "stream": false
}'

Esta API es compatible con el formato de OpenAI (en http://localhost:11434/v1/), lo que significa que muchas herramientas y librerías que ya usas con GPT-4 funcionan directamente con Ollama solo cambiando la URL base. También tiene compatibilidad experimental con el formato de Anthropic (en /api/anthropic/), aunque esta integración es más reciente y puede tener limitaciones con streaming y tool calling.


¿Qué viene después?

Ya tienes Ollama corriendo en tu máquina con un modelo potente listo para responder lo que necesites. Pero esto es solo el comienzo.

En el siguiente post vamos a llevar esto al siguiente nivel: vamos a crear una aplicación en Python que use este LLM de forma local. Vamos a construir algo práctico que puedas adaptar a tus propios proyectos, conectándonos a la API de Ollama para crear una herramienta real, no solo un chat de terminal.

Si te interesa la inteligencia artificial aplicada al desarrollo, no te lo pierdas.


Recursos útiles