Skip to content
BotServBotServ
OllamaModelfileSystem PromptParameterPersonalizar modelo

Ollama Modelfiles

Crea modelos Ollama personalizados con Modelfiles. System Prompts, parámetros, adaptadores y ejemplos.

S

schutzgeist

3 min read
Ollama Modelfiles

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ámetroDescripción
temperatureCreatividad, de 0 a 1.
top_pNucleus sampling, de 0 a 1.
top_kNúmero de tokens top-k.
num_predictNúmero máximo de tokens.
num_ctxLongitud del contexto.
repeat_penaltyPenalización de repetición.
seedSemilla 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 pull primero.
  • Contexto demasiado grande: Ralentiza o causa fallos.
  • Parámetros incorrectos: num_ctx a 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

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

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.

Volver al blog
Share:

Entradas relacionadas