Modelfile
Un Modelfile describe un modelo derivado: un modelo base más las preguntas que debería plantear siempre y, opcionalmente, una calibración reajustada, una precisión fijada, una licencia y una descripción. Constrúyelo con ollaya create y luego ejecútalo por su nombre con solo un estado.
ollaya create triage -f Modelfile
ollaya run triage "I was charged twice for my subscription this month."
Ejemplo
# Support ticket triage
FROM laya:en
QUESTIONS """
{
"department": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"billing": "Payments, invoices and refunds",
"technical": "Bugs, errors and outages",
"account": "Login, profile and settings"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": ["Can wait", "Needs attention this week", "Needs attention today"]
},
"refund": {
"type": "noul",
"instructions": "Does the customer ask for money back?"
}
}
"""
CALIBRATION ./calibration.json
PARAMETER precision fp32
DESCRIPTION Support ticket triage
LICENSE ./LICENSE
Instrucciones
| Instrucción | Obligatorio | Valor |
|---|---|---|
FROM |
sí | El modelo base, por ejemplo laya:en, o un router como laya |
QUESTIONS |
no | Las preguntas integradas: el mismo objeto que questions en la API |
CALIBRATION |
no | Temperaturas que reemplazan las del modelo base |
PARAMETER |
no | precision fp16 o precision fp32, para fijar un grafo |
DESCRIPTION |
no | Una línea, mostrada por ollaya show y /v1/models |
LICENSE |
no | Texto de licencia para el modelo derivado |
- Sintaxis. Las directivas no distinguen mayúsculas de minúsculas;
#inicia una línea de comentario. - Valores.
QUESTIONS,CALIBRATIONyLICENSEaceptan una ruta relativa al Modelfile (~/funciona), JSON en línea en una sola línea, o un bloque entre"""que abarca varias líneas. - Entrada desconocida. Cualquier otra directiva o parámetro es un error.
- Descarga.
ollaya createdescargaFROMprimero cuando no está en esta máquina.
Todo lo que omitas se hereda del modelo base. Cuando una solicitud envía sus propias questions, reemplazan las integradas para esa solicitud.
FROM
El modelo sobre el que construir. Un router también sirve; el modelo derivado entonces enruta como su base:
FROM laya
QUESTIONS
Las preguntas que el modelo plantea cuando una solicitud no trae ninguna; se validan como una solicitud de decisión (1–256 preguntas):
QUESTIONS ./questions.json
CALIBRATION
Las probabilidades solo son útiles para umbrales si están calibradas. Ollaya calibra con escalado de temperatura: los logits se dividen por una temperatura según el tipo de pregunta y el número de opciones. CALIBRATION reemplaza las temperaturas del modelo base por unas reajustadas con tus propios datos etiquetados:
{
"temperature": [1.6, 1.25, 1.98],
"temperature_by_options": {
"choice:2": 1.9,
"choice:3-5": 1.76,
"score:3-5": 1.25,
"noul:2": 1.98
}
}
temperature guarda un fallback por tipo de pregunta (choice, score, noul). Las claves de temperature_by_options son <type>:<2|3-5|6-10|11+>, según el número de opciones de la pregunta.
PARAMETER
El único parámetro es precision. Un modelo sin fijar lleva un grafo fp16 y uno fp32 y elige uno al cargarse (fp16 en una GPU CUDA, fp32 en la CPU). PARAMETER precision fp32 fija el grafo fp32 en todas partes, por ejemplo para coincidir exactamente con una referencia fp32.
PARAMETER precision fp32
DESCRIPTION
DESCRIPTION Support ticket triage
LICENSE
El texto de licencia que se distribuye con el modelo y que muestra ollaya show --license. Cuando construyas sobre un modelo Apache-2.0 como Laya, conserva su licencia y atribución.