Modelfile
Ein Modelfile beschreibt ein abgeleitetes Modell: ein Basismodell plus die Fragen, die es immer stellen soll, und optional eine neu angepasste Kalibrierung, eine festgelegte Genauigkeit, eine Lizenz und eine Beschreibung. Baue es mit ollaya create und führe es danach allein mit einem Zustand über seinen Namen aus.
ollaya create triage -f Modelfile
ollaya run triage "I was charged twice for my subscription this month."
Beispiel
# 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
Anweisungen
| Anweisung | Erforderlich | Wert |
|---|---|---|
FROM |
ja | Das Basismodell, z. B. laya:en, oder ein Router wie laya |
QUESTIONS |
nein | Die eingebauten Fragen: dasselbe Objekt wie questions in der API |
CALIBRATION |
nein | Temperaturen, die die des Basismodells ersetzen |
PARAMETER |
nein | precision fp16 oder precision fp32, um einen Graphen festzulegen |
DESCRIPTION |
nein | Eine Zeile, angezeigt von ollaya show und /v1/models |
LICENSE |
nein | Lizenztext für das abgeleitete Modell |
- Syntax. Anweisungen sind unabhängig von der Groß-/Kleinschreibung;
#beginnt eine Kommentarzeile. - Werte.
QUESTIONS,CALIBRATIONundLICENSEnehmen einen Pfad relativ zum Modelfile (~/funktioniert), Inline-JSON in einer Zeile oder einen Block zwischen"""über mehrere Zeilen. - Unbekannte Eingabe. Jede andere Anweisung oder jeder andere Parameter ist ein Fehler.
- Herunterladen.
ollaya createlädt zuerstFROMherunter, wenn es nicht auf diesem Rechner vorhanden ist.
Alles, was du auslässt, wird vom Basismodell geerbt. Wenn eine Anfrage eigene questions mitschickt, ersetzen sie für diese Anfrage die eingebauten.
FROM
Das Modell, auf dem aufgebaut wird. Ein Router funktioniert ebenfalls; das abgeleitete Modell leitet dann wie sein Basismodell weiter:
FROM laya
QUESTIONS
Die Fragen, die das Modell stellt, wenn eine Anfrage keine mitbringt; validiert wie eine Entscheidungsanfrage (1–256 Fragen):
QUESTIONS ./questions.json
CALIBRATION
Wahrscheinlichkeiten sind nur dann für Schwellenwerte nützlich, wenn sie kalibriert sind. Ollaya kalibriert mit Temperaturskalierung: Logits werden durch eine Temperatur je Fragetyp und Anzahl der Optionen geteilt. CALIBRATION ersetzt die Temperaturen des Basismodells durch solche, die auf deinen eigenen gelabelten Daten neu angepasst wurden:
{
"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 enthält einen Fallback je Fragetyp (choice, score, noul). Die Schlüssel von temperature_by_options sind <type>:<2|3-5|6-10|11+>, nach der Anzahl der Optionen der Frage.
PARAMETER
Der einzige Parameter ist precision. Ein nacktes Modell trägt einen fp16- und einen fp32-Graphen und wählt beim Laden einen (fp16 auf einer CUDA-GPU, fp32 auf der CPU). PARAMETER precision fp32 legt den fp32-Graphen überall fest, etwa um exakt zu einer fp32-Referenz zu passen.
PARAMETER precision fp32
DESCRIPTION
DESCRIPTION Support ticket triage
LICENSE
Der mit dem Modell ausgelieferte Lizenztext, angezeigt von ollaya show --license. Wenn du auf einem Apache-2.0-Modell wie Laya aufbaust, behalte dessen Lizenz und Namensnennung.