Documentation

Modelfile

Un Modelfile décrit un modèle dérivé : un modèle de base plus les questions qu’il doit toujours poser, et en option une calibration réajustée, une précision figée, une licence et une description. Construis-le avec ollaya create, puis exécute-le par son nom avec un simple état.

ollaya create triage -f Modelfile
ollaya run triage "I was charged twice for my subscription this month."

Exemple

# 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

Instructions

Instruction Obligatoire Valeur
FROM oui Le modèle de base, par exemple laya:en, ou un routeur comme laya
QUESTIONS non Les questions intégrées : le même objet que questions dans l’API
CALIBRATION non Des températures qui remplacent celles du modèle de base
PARAMETER non precision fp16 ou precision fp32, pour figer un graphe
DESCRIPTION non Une ligne, affichée par ollaya show et /v1/models
LICENSE non Le texte de licence du modèle dérivé
  • Syntaxe. Les directives ne distinguent pas la casse ; # démarre une ligne de commentaire.
  • Valeurs. QUESTIONS, CALIBRATION et LICENSE acceptent un chemin relatif au Modelfile (~/ fonctionne), du JSON en ligne sur une seule ligne, ou un bloc entre """ réparti sur plusieurs lignes.
  • Entrée inconnue. Toute autre directive ou paramètre est une erreur.
  • Téléchargement. ollaya create télécharge d’abord FROM quand il n’est pas sur cette machine.

Tout ce que tu omets est hérité du modèle de base. Quand une requête envoie ses propres questions, elles remplacent celles intégrées pour cette requête.

FROM

Le modèle sur lequel construire. Un routeur fonctionne aussi ; le modèle dérivé route alors comme sa base :

FROM laya

QUESTIONS

Les questions que le modèle pose quand une requête n’en apporte aucune ; validées comme une requête de décision (1–256 questions) :

QUESTIONS ./questions.json

CALIBRATION

Les probabilités ne sont utiles pour des seuils que si elles sont calibrées. Ollaya calibre par mise à l’échelle de température : les logits sont divisés par une température par type de question et par nombre d’options. CALIBRATION remplace les températures du modèle de base par des températures réajustées sur tes propres données étiquetées :

{
  "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 contient un repli par type de question (choice, score, noul). Les clés de temperature_by_options sont <type>:<2|3-5|6-10|11+>, selon le nombre d’options de la question.

PARAMETER

Le seul paramètre est precision. Un modèle nu porte un graphe fp16 et un graphe fp32 et en choisit un au chargement (fp16 sur un GPU CUDA, fp32 sur le CPU). PARAMETER precision fp32 fige le graphe fp32 partout, par exemple pour correspondre exactement à une référence fp32.

PARAMETER precision fp32

DESCRIPTION

DESCRIPTION Support ticket triage

LICENSE

Le texte de licence livré avec le modèle et affiché par ollaya show --license. Quand tu construis sur un modèle Apache-2.0 comme Laya, conserve sa licence et son attribution.