Plantilla ChatML para Qwen3.5 en Ollama

La siguiente es una plantilla completa y oficialmente comaptible con todas las capacidades de Qwen3.5 utilizando el formato ChatML dentro de un archivo Modelfile para Olllama. Esta configuración permite soportar conversaciones múltiples, invocaciones de herramientas, razonamiento en cadena (Chain-of-Thought), indicaciones del sistema y salida en streaming.

Archivo Modelfile completo (versión lista para usar)

# Modelo base (reemplazar por nombre real como qwen3.5:72b-instruct)
FROM qwen3.5:14b-instruct

# Parámetros recomendados
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER stop "<|im_end|>"
PARAMETER stop "<|im_start|>"
PARAMETER num_ctx 32768
PARAMETER num_gpu 99

# Plantilla estándar ChatML oficial de Qwen3.5
TEMPLATE """
{{- if .System }}
<|im_start|>system
{{ .System }}<|im_end|>
{{- end }}

{{- range .Messages }}
{{- if eq .Role "user" }}
<|im_start|>user
{{ .Content }}<|im_end|>
{{- end }}

{{- if eq .Role "assistant" }}
<|im_start|>assistant
{{ .Content }}<|im_end|>
{{- end }}

{{- if eq .Role "tool" }}
<|im_start|>tool
{{ .Content }}<|im_end|>
{{- end }}
{{- end }}

<|im_start|>assistant
"""

Funcionalidades clave explicadas

Rol Propósito Soporte en plantilla
system Definir contexto inicial o instrucciones generales Totalmente soportado
user Mensajes entrantes del usuario Totalmente soportado
assistant Respuestas del modelo e interacciones complejas Totalmente soportado
tool Resultados de ejecución de funciones externas Totalmente soportado
  • Formato nativo: Se usa directamente el estándar ChatML tal como fue entrenado Qwen3.5.
  • Delimitadores precisos: Las etiquetas <|im_start|> y <|im_end|> evitan salidas incorrectas.
  • Histórico preservado: Mantiene automáticamente el contexto durante diálogos largos.
  • Razonamiento visible: Incluir pasos lógicos en mensajes del rol system activa el modo CoT.
  • Llamadas a funciones: El modelo puede interactuar con APIs definidas sin cambios adicionales.
  • Contexto extenso: Hasta 32K tokens disponibles por defecto.

Instrucciones de uso

  1. Crea un nuevo archivo llamado Modelfile y pega el contenido mostrado anteriormente.
  2. Ejecuta este comando para generar tu propio modelo personalizado: ``` ollama create my-qwen35-model -f Modelfile
  3. Inicia la sesión con: ``` ollama run my-qwen35-model
    
    

Ejemplos prácticos

A. Diáloggo multivuelta con razonamiento

<|im_start|>system
Responde primero mostrando cómo llegaste a la conclusión antes de dar la respuesta final.<|im_end|>
<|im_start|>user
¿Cuánto es 4 + 6 * 2?<|im_end|>
<|im_start|>assistant
Paso 1: Multiplicamos 6 × 2 = 12  
Paso 2: Sumamos 4 + 12 = 16  
Resultado: 16<|im_end|>
<|im_start|>user
Ahora divídelo entre 2.<|im_end|>

B. Invocación de función externa

<|im_start|>system
Puedes llamar a la función get_time(location) para obtener la hora actual.<|im_end|>
<|im_start|>user
¿Qué hora es en Tokio ahora mismo?<|im_end|>
<|im_start|>assistant
<|tool_call|>[{"name": "get_time", "parameters": {"location": "Tokyo"}}]<|tool_end|><|im_end|>
<|im_start|>tool
Hora actual en Tokio: 14:25<|im_end|>
<|im_start|>assistant
Actualmente son las 14:25 horas en Tokio.<|im_end|>

Etiquetas: Qwen3.5 ollama ChatML LLM model-template

Publicado el 8-12 09:09