Descargar modelos GGUF desde Hugging Face e importarlos en Ollama

Cuando un modelo no tiene una versión lista para Ollama, puedes descargar primero el archivo GGUF desde Hugging Face e importarlo a Ollama mediante un Modelfile.

Si cierto modelo no tiene una versión preparada en la biblioteca oficial de Ollama, o si quieres usar un archivo GGUF específico de Hugging Face, puedes descargarlo manualmente e importarlo después en Ollama.

Paso 1: descargar el archivo GGUF desde Hugging Face

Primero busca en Hugging Face el archivo GGUF correspondiente al modelo objetivo. Normalmente verás varias versiones cuantizadas, por ejemplo:

  • Q4_K_M
  • Q5_K_M
  • Q8_0

Qué versión elegir depende de tu VRAM, memoria y del equilibrio que quieras entre velocidad y calidad. Después de descargarlo, coloca el archivo .gguf en un directorio fijo para referenciarlo directamente en el Modelfile.

Paso 2: escribir el Modelfile

Crea un archivo Modelfile en el mismo directorio que el modelo. La forma mínima es:

1
FROM ./model.gguf

Si el nombre del archivo es distinto, cámbialo por el nombre real, por ejemplo:

1
FROM ./gemma-3-12b-it-q4_k_m.gguf

Si solo quieres ponerlo en marcha primero, normalmente esta línea FROM basta.

Paso 3: importar a Ollama

Después ejecuta:

1
ollama create myModelName -f Modelfile
  • myModelName es el nombre local del modelo que quieres usar dentro de Ollama
  • -f Modelfile indica que se crea el modelo desde este archivo de configuración

Cuando la creación termine correctamente, ese archivo GGUF se convertirá en un modelo local que puede llamarse directamente.

Paso 4: ejecutar el modelo

Después de crearlo, ejecútalo directamente:

1
ollama run myModelName

A partir de ahí, su uso es básicamente igual al de un modelo descargado con ollama pull.

Cómo ver el Modelfile de un modelo existente

Si no estás seguro de cómo escribir el Modelfile, puedes mirar directamente la configuración de un modelo existente:

1
ollama show --modelfile llama3.2

Este comando imprimirá el contenido del Modelfile de llama3.2, útil como referencia:

  • Cómo debería escribirse FROM
  • Cómo se organizan la plantilla y el system prompt
  • Cómo se declaran los parámetros

Cuándo conviene esta ruta

Estos escenarios son adecuados para importar manualmente desde Hugging Face:

  • La biblioteca oficial de Ollama todavía no tiene el modelo que necesitas
  • Quieres usar una versión cuantizada concreta
  • Ya descargaste manualmente el archivo GGUF
  • Quieres controlar con más detalle la forma de empaquetar el modelo

Si ya existe una versión oficial lista, usar pull suele ser más sencillo; pero cuando necesitas una cuantización específica o empaquetado personalizado, GGUF + Modelfile es más flexible.

Precauciones habituales

  • La ruta después de FROM debe coincidir con la ubicación real del archivo .gguf.
  • Si el nombre de archivo contiene espacios o caracteres especiales, se recomienda renombrarlo a algo más simple.
  • Las distintas cuantizaciones GGUF influyen mucho en memoria y velocidad; importarlo con éxito no significa que vaya a ejecutarse con fluidez.
  • Si el modelo es de chat, normalmente tendrás que ajustar después la plantilla de prompt según su formato para obtener resultados más estables.

Descargar, verificar y validar la importación

llama-cli -hf y la importación de Ollama son flujos distintos: el primero descarga y ejecuta un GGUF directamente desde Hugging Face; el segundo registra un GGUF local mediante un Modelfile.

1
2
hf download <repo> <model-file.gguf> --local-dir ./models
llama-cli -hf <owner>/<repository> -n 32 -p "Reply with exactly: ok"

Registra el repositorio, el nombre completo, la cuantización, el tamaño y, si el autor lo publica, el SHA256:

1
sha256sum ./models/model.gguf

En Windows:

1
Get-FileHash -Algorithm SHA256 -LiteralPath '.\models\model.gguf'

La ruta relativa de FROM se resuelve desde el directorio del Modelfile. Tras crear el modelo, comprueba el registro y ejecuta una petición real:

1
2
3
4
5
6
7
ollama list
ollama show myModelName
curl http://127.0.0.1:11434/api/generate -d '{
  "model": "myModelName",
  "prompt": "Reply with exactly: ok",
  "stream": false
}'

Recuperarse de un fallo de importación

  • no such file or directory: revisa el directorio, el nombre y la ruta de FROM.
  • invalid file magic: puede ser una descarga incompleta, un puntero Git LFS o una página HTML de error.
  • Se crea pero responde mal: inspecciona chat template, stop tokens y contexto con ollama show --modelfile myModelName.
  • Nombre incorrecto: ejecuta ollama rm myModelName, corrige el Modelfile y vuelve a crear el modelo.
1
2
file ./model.gguf
head -c 4 ./model.gguf

Un archivo válido comienza con el magic GGUF. Conserva la descarga original hasta completar una inferencia mínima.

Conclusión

Descargar un archivo GGUF desde Hugging Face e importarlo en Ollama no es complicado. Prepara el archivo del modelo, escribe un Modelfile mínimo y ejecuta ollama create; con eso puedes conectar modelos GGUF de terceros a Ollama.