Primeros Pasos con Ollama
Introducción
Ollama es la forma más simple de ejecutar Modelos de Lenguaje Grandes (LLM) localmente. Piénsalo como "Docker para LLMs" — maneja la descarga de modelos, el almacenamiento y la inferencia con una interfaz de línea de comandos limpia. Sin configuraciones complejas, sin dolores de cabeza por dependencias — un comando para instalar y un comando para empezar a chatear.
En este módulo, aprenderás a:
- Instalar Ollama en tu dispositivo Jetson
- Descargar y ejecutar tu primer LLM
- Explorar diferentes modelos y sus capacidades
- Configurar una interfaz de chat basada en web usando Open WebUI


¿Por qué Ollama?
| Característica | Descripción |
|---|---|
| Instalación en una línea | Comando único para comenzar |
| Gestión automática de modelos | Descarga y gestiona automáticamente archivos de modelos |
| Comandos simples | ollama run nombremodelo para comenzar a chatear |
| REST API | Servidor HTTP integrado para integración |
| Múltiples modelos | Ejecutar diferentes modelos en paralelo |
| Compatible con OpenAI | API compatible con la interfaz de OpenAI |
Requisitos del Sistema
Antes de instalar Ollama, asegúrate de que tu dispositivo Jetson cumpla estos requisitos:
| Requisito | Mínimo | Recomendado |
|---|---|---|
| JetPack | 5.1+ | 6.0+ |
| RAM | 8GB | 16GB+ |
| Almacenamiento | 10GB libre | 50GB+ (para múltiples modelos) |
| Swap | 8GB | 16GB |
Usuarios por primera vez: Si aún no has configurado espacio swap en tu Jetson, consulta Capítulo 3: Configuración de Swap
Instalando Ollama
Método 1: Instalación Directa (Recomendado)
Abre una terminal en tu dispositivo Jetson y ejecuta:
# Descargar e instalar Ollama
curl -fsSL https://ollama.com/install.sh | shEl script de instalación:
- Detectará tu arquitectura de sistema (ARM64)
- Descargará el binario apropiado de Ollama
- Configurará el servicio systemd
- Verificará la instalación
Verificar la Instalación
# Verificar versión de Ollama
ollama --version
# Verificar si el servicio está ejecutándose
systemctl status ollamaTu Primera Interacción con LLM
Ahora ejecutemos tu primer LLM. Ollama descargará automáticamente el modelo en la primera ejecución.
Puedes encontrar los modelos soportados por Ollama aquí. Selecciona el modelo que deseas desplegar en tu dispositivo.
Ejecutar un Modelo
# Por ejemplo
ollama run qwen3.5:2bUna vez descargado, verás un prompt de chat:
What is NVIDIA Jetson?Comandos de Chat Útiles
| Comando | Descripción |
|---|---|
/? | Mostrar ayuda |
/bye | Salir de la conversación |
Ctrl+D | Salir de la conversación |
/clear | Limpiar historial de conversación |
/history | Mostrar historial de conversación |
Explorando Diferentes Modelos
Modelos de Lenguaje de Visión (Multimodal)
# Qwen3.5 - Entender imágenes y texto
ollama run qwen3.5:2b
#Puedes especificar una imagen y dejar que describa el contenido dentro de la imagen.
What can you see in /home/seeed/test.jpg
Usando la REST API
Ollama ejecuta un servidor HTTP local en el puerto 11434, facilitando la integración con otras aplicaciones.
Enviar una Solicitud de Chat
# Generación de texto simple
curl http://localhost:11434/api/generate -d '{
"model": "qwen3.5:2b",
"prompt": "What is edge computing?",
"stream": false
}'
Integración con Python
import requests
def chat_with_ollama(prompt, model="qwen3.5:2b"):
"""Enviar un prompt a Ollama y obtener una respuesta."""
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()["response"]
# Ejemplo de uso
response = chat_with_ollama("Write a simple Python function to calculate factorial")
print(response)API Compatible con OpenAI
# instalar sdk de openai
pip install openaiOllama proporciona un endpoint compatible con OpenAI, permitiéndote usar bibliotecas de cliente OpenAI existentes:
from openai import OpenAI
# Conectar a Ollama local
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="not-needed" # Ollama no requiere una clave API
)
response = client.chat.completions.create(
model="qwen3.5:4b",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing in simple terms."}
]
)
print(response.choices[0].message.content)VLM encuentra objetos en imagen
pip install ollama
git clone https://github.com/Seeed-Projects/reComputer-Jetson-for-Beginners
cd reComputer-Jetson-for-Beginners/5-Offline-Large-Model-Development/code
python vlm_object_detector.pyespera un minuto y puedes ver el resultado en la carpeta img

Configurando Open WebUI
Open WebUI (anteriormente Ollama WebUI) proporciona una interfaz similar a ChatGPT para interactuar con tus modelos locales.
Instalación via Docker
# Descargar la imagen de Open WebUI
docker pull ghcr.io/open-webui/open-webui:main
# Crear directorio de datos
sudo mkdir -p /opt/seeed/open-webui/data
# Ejecutar el contenedor
docker run -d \
--restart always \
--name open-webui \
--network host \
-v /opt/seeed/open-webui/data:/app/backend/data \
-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
ghcr.io/open-webui/open-webui:main
# Verificar estado del contenedor
docker logs -f open-webuiAccediendo a Open WebUI
Una vez que el contenedor esté ejecutándose:
- Abre un navegador en tu Jetson (u otro dispositivo en la misma red)
- Navega a
http://localhost:8080(ohttp://<jetson-ip>:8080) - Crea una cuenta de administrador en el primer acceso
- ¡Selecciona tu modelo del menú desplegable y comienza a chatear!

Características de Open WebUI
- Gestión de Modelos: Cambiar entre diferentes modelos de Ollama
- Historial de Conversación: Guardar y buscar en historiales de chat
- Soporte Multi-usuario: Crear cuentas para diferentes usuarios
- Soporte RAG: Subir y chatear con documentos
- Generación de Imágenes: Integrar con modelos de generación de imágenes
- Sistema de Plugins: Ampliar funcionalidad con plugins de la comunidad
Consejos para Mejor Rendimiento
- Usa tamaños de modelo apropiados: Comienza con modelos 1B-3B en Jetson Orin Nano
- Aumenta el espacio swap: Añade más swap para modelos más grandes
- Cierra aplicaciones innecesarias: Libera memoria GPU
- Usa modelos cuantizados: Los modelos GGUF cuantizados (Q4_K_M) ofrecen el mejor equilibrio velocidad/calidad
- Monitorea la temperatura: Jetson puede regular térmicamente bajo carga sostenida — asegúrate de tener refrigeración adecuada
Problemas Comunes y Soluciones
Problema 1: Fallo en la Descarga del Modelo
Problema: Error: pull model manifest: Get https://registry.ollama.ai/...
Solución:
# Verificar conexión a internet
ping google.com
# Reintentar con salida detallada
OLLAMA_DEBUG=1 ollama pull llama3.2:3bProblema 2: Sin Memoria
Problema: Error: model requires more system memory (8.0 GiB) than is available (6.0 GiB)
Solución:
# Verificar memoria disponible
free -h
# Aumentar swap (si aún no está configurado)
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Usar un modelo más pequeño
ollama run qwen3.5:2bProblema 3: Tiempos de Respuesta Lentos
Problema: Generación de tokens muy lenta (< 5 tokens/segundo)
Solución:
# Usar un modelo más pequeño
ollama run qwen3.5:0.8b
# Reducir ventana de contexto
ollama run qwen3.5:0.8b --num-ctx 2048
# Asegurarse de que la GPU está siendo usada (verificar nvidia-smi durante inferencia)Problema 4: El Servicio de Ollama No Inicia
Problema: System has not been booted with systemd as init system
Solución (para entornos Docker):
# Iniciar Ollama manualmente
ollama serve &
# O ejecutar en segundo plano
nohup ollama serve > ollama.log 2>&1 &Ejercicio de Práctica
Completa estos pasos para verificar tu configuración:
- Instalar Ollama y verificar la instalación
- Ejecutar un modelo:
ollama run qwen3.5:2b - Tener una conversación: Pregúntale sobre plataformas Jetson
- Probar un modelo diferente: Cambiar a
qwen3:4b - Usar la API: Enviar una solicitud via curl
- Opcional: Configurar Open WebUI y acceder desde un navegador
Referencias
- Documentación Oficial de Ollama
- Repositorio GitHub de Ollama
- Biblioteca de Modelos de Ollama
- Documentación de Open WebUI
Siguiente: Continúa a Módulo 5.3: Ejecutando LLMs con llama.cpp para explorar inferencia de LLM ligera!