Modelfiles de Ollama
Qué cubre este artículo sobre Modelfiles de Ollama
- Qué es un Modelfile y para qué sirve.
- Cómo crear modelos propios con system prompts.
- Parámetros importantes como temperatura y longitud de contexto.
- Cómo integrar modelos .gguf y adaptadores.
- Ejemplos prácticos para chat, coding y RAG.
Introducción: Modelfiles de Ollama
Los Modelfiles de Ollama son archivos de texto que describen cómo se debe cargar y comportar un modelo. Con ellos puedes crear asistentes propios, chatbots especializados o modelos para programación. Un Modelfile establece el modelo base, define system prompts, configura parámetros e incluso puede incluir archivos adicionales como adaptadores LoRA.
Este artículo muestra la estructura y proporciona ejemplos de Modelfiles típicos.
Términos clave
- Modelfile: Instrucciones para construir un modelo de Ollama.
- FROM: Modelo base sobre el que se construye el modelo.
- SYSTEM: System prompt que controla el comportamiento.
- PARAMETER: Configuraciones como temperatura o longitud de contexto.
- MESSAGE: Conversaciones de ejemplo para aprendizaje con pocos ejemplos.
- ADAPTER: Adaptadores LoRA u otros ajustes finos.
- LICENSE: Información de licencia.
Estructura básica
FROM llama3.1
SYSTEM """
Eres un asistente amable para IA local. Responde de forma precisa y en español.
"""
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
Para crear y ejecutar:
ollama create mi-asistente -f Modelfile
ollama run mi-asistente
Parámetros importantes
| Parámetro | Descripción |
|---|---|
temperature | Creatividad, de 0 a 1. |
top_p | Nucleus sampling, de 0 a 1. |
top_k | Número de tokens top-k. |
num_predict | Número máximo de tokens. |
num_ctx | Longitud del contexto. |
repeat_penalty | Penalización de repetición. |
seed | Semilla para reproducibilidad. |
Ejemplo:
PARAMETER temperature 0.5
PARAMETER top_p 0.9
PARAMETER num_ctx 8192
PARAMETER repeat_penalty 1.2
System Prompts
El system prompt describe el rol y las reglas del modelo. Tiene un gran impacto en la calidad de las respuestas.
SYSTEM """
Eres un asesor de IA experto. Responde brevemente, con precisión y proporciona ejemplos concretos.
"""
Ejemplos con pocos datos
Con MESSAGE puedes establecer conversaciones de ejemplo:
MESSAGE user "¿Qué es Docker?"
MESSAGE assistant "Docker es una plataforma para ejecutar aplicaciones en contenedores."
MESSAGE user "¿Cómo inicio un contenedor?"
MESSAGE assistant "Con el comando `docker run <image>`."
Esto ayuda al modelo a aprender el formato de respuesta deseado.
Copiar y adaptar un modelo
ollama cp llama3.1 mi-llama
Luego crea un Modelfile para mi-llama y construye un nuevo modelo a partir de él.
Usar modelos GGUF propios
Para modelos cuantizados por ti o descargados de Hugging Face:
FROM ./mi-modelo.q4_K_M.gguf
SYSTEM """
Modelo propio, ejecutado localmente.
"""
Integrar adaptadores LoRA
FROM llama3.1
ADAPTER ./mi-adaptador-lora.bin
El adaptador ajusta el comportamiento para tareas especializadas.
Ejemplo: Asistente de programación
FROM qwen2.5-coder:14b
SYSTEM """
Eres un desarrollador de software experimentado. Escribe código limpio y comentado, y explica brevemente qué hace.
"""
PARAMETER temperature 0.2
PARAMETER num_ctx 8192
Ejemplo: Asistente RAG
FROM llama3.1
SYSTEM """
Respondes preguntas exclusivamente basándote en el contexto proporcionado. Si la respuesta no está en el contexto, sé honesto al respecto.
"""
PARAMETER temperature 0.1
PARAMETER num_ctx 8192
Ejemplo: Escritura creativa
FROM llama3.1
SYSTEM """
Eres un asistente de escritura creativa. Escribe textos atractivos con un estilo bien definido.
"""
PARAMETER temperature 0.8
PARAMETER top_p 0.95
Consejos
- Mantén los system prompts breves y precisos.
- Ajusta la temperatura según la tarea.
- No establecer la longitud de contexto más alta de lo necesario.
- Proporciona ejemplos cuando necesites un formato específico de respuesta.
- Prueba los resultados e itera.
Escollos típicos
- Formato incorrecto: El Modelfile debe ser sintácticamente correcto.
- Modelo base no disponible: Ejecuta
ollama pullprimero. - Contexto demasiado grande: Ralentiza o causa fallos.
- Parámetros incorrectos:
num_ctxa veces se ignora si el modelo no lo soporta. - System prompt demasiado largo: Consume contexto valioso.
- Adaptador incompatible: LoRA debe coincidir con el modelo base.
Enlaces y recursos adicionales
- BotServ.de Comandos Ollama
- BotServ.de Ciclo de vida de modelos Ollama
- BotServ.de Rendimiento de Ollama
- BotServ.de Ollama para programación
- BotServ.de Base de conocimiento RAG
FAQ: Modelfiles de Ollama
¿Necesito un Modelfile? Solo si quieres adaptar el comportamiento o los parámetros de un modelo.
¿Puedo establecer múltiples parámetros?
Sí, puedes incluir tantas líneas PARAMETER como necesites.
¿Dónde guardo el Modelfile? En cualquier lugar del sistema de archivos, por ejemplo en el directorio del proyecto.
¿Cómo elimino un modelo creado?
Con ollama rm <nombre>.
¿Puedo compartir el modelo? Sí, exportando el modelo o documentando el Modelfile.
Fuentes y lecturas adicionales
- Ollama Modelfile Docs: https://github.com/ollama/ollama/blob/main/docs/modelfile.md
- Ollama Library: https://ollama.com/library
- GGUF Format: https://github.com/ggerganov/ggml/blob/master/docs/gguf.md
Resumen: Modelfiles de Ollama
Los Modelfiles son la forma más simple de definir modelos Ollama propios. Establecen el modelo base, el system prompt, los parámetros y ejemplos. Con solo unas pocas líneas puedes crear un asistente especializado para programación, RAG o escritura creativa. Lo importante es contar con prompts precisos, parámetros adecuados y pruebas suficientes. Dominar los Modelfiles te permite usar Ollama de forma mucho más dirigida para tus aplicaciones.


