You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. See your real ticket data
2. Run generic prompt → mediocre score
3. Tune with your data → big improvement
4. Takeaway: your data is your moat
Removed 3x duplicate headers, old button references, and
repeated explanations. 21 cells → 11 cells.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
"Generische Modelle sind Massenware — jeder kann GPT-4o nutzen. **Das Modell ist gemietet, deine Daten gehören dir.** Tuning macht den Unterschied, den kein Konkurrent kopieren kann.\n",
10
-
"\n",
11
-
"In diesem Notebook nutzen wir die **echten Ticket-Daten** aus dem Projekt (`csv/data.csv`) und zeigen:\n",
12
-
"1. Generischer Prompt auf Ticket-Daten → meh Score\n",
13
-
"2. Jetzt tunen wir mit DEINEN echten Ticket-Daten...\n",
14
-
"3. Viel besser! DEINE Daten machen den Unterschied."
15
-
]
16
-
},
17
-
{
18
-
"cell_type": "markdown",
19
-
"metadata": {},
20
-
"source": [
21
-
"## Warum Domain-Tuning?\n",
22
-
"\n",
23
9
"GPT-4o, Claude, Gemini — jeder kann diese Modelle nutzen. **Das Modell ist gemietet.** Was dich von der Konkurrenz unterscheidet, sind **deine Daten**.\n",
24
10
"\n",
25
-
"Ein generischer Prompt kennt dein Business nicht. Er weiss nicht, dass bei euch \"P1\" bedeutet, dass der CTO anruft. Er kennt eure Team-Zuständigkeiten nicht. Er versteht eure Ticket-Sprache nicht.\n",
26
-
"\n",
27
-
"In diesem Notebook zeigen wir dir:\n",
28
-
"1. Wie deine echten Ticket-Daten als Trainingsmaterial aussehen\n",
29
-
"2. Den Unterschied zwischen generisch und getuned — messbar, nicht nur gefühlt\n",
30
-
"3. Dass Domain-Tuning auf verschiedenen Modellen funktioniert\n",
31
-
"\n",
32
-
"> **Die Pointe:** Deine Daten + systematisches Tuning = dein Wettbewerbsvorteil. Das kann dir niemand kopieren.\n"
11
+
"In diesem Notebook siehst du den Unterschied:\n",
12
+
"1. Echte Ticket-Daten aus dem Projekt laden\n",
13
+
"2. Einen generischen Prompt darauf loslassen → mässiges Ergebnis\n",
14
+
"3. Mit deinen Daten tunen → deutlich besseres Ergebnis\n",
"Wir laden jetzt die echten Tickets aus dem Projekt. Das sind **keine Spielzeug-Daten** — das ist dein Business.\n",
45
+
"Wir laden echte Support-Tickets aus dem Projekt. Jedes Ticket hat:\n",
46
+
"- Eine **Zusammenfassung** (was ist das Problem?)\n",
47
+
"- Eine **Kategorie** (Network, Software, Hardware, ...)\n",
48
+
"- Eine **Priorität** (Critical, High, Medium, Low)\n",
49
+
"- Ein **zuständiges Team** (welches Team kümmert sich?)\n",
63
50
"\n",
64
-
"So werden Tickets zu Trainingsdaten: Jedes Ticket hat eine **Zusammenfassung**, eine **Kategorie**, eine **Priorität** und ein **zuständiges Team**. Daraus lernt das Modell, wie bei euch Tickets geroutet werden.\n",
65
-
"\n",
66
-
"Schau dir die ersten drei Beispiele genau an. Das sind die Daten, die das Modell \"schlauer\" machen.\n"
67
-
]
68
-
},
69
-
{
70
-
"cell_type": "markdown",
71
-
"metadata": {},
72
-
"source": [
73
-
"## 🎯 Tickets werden zu Trainingsdaten\n\nJedes Ticket hat eine Zusammenfassung, eine Kategorie, eine Priorität und ein zuständiges Team. Aus diesen Feldern lernt das Modell, neue Tickets automatisch einzuordnen.\n"
51
+
"Das Ziel: das Modell soll neue Tickets automatisch in die richtige Kategorie einsortieren, die Priorität setzen und das richtige Team zuweisen.\n"
"### 🤔 Was heisst \"generisch\" vs. \"getuned\"?\n",
97
-
"\n",
98
-
"- **Generischer Prompt:** Das Modell bekommt nur die Aufgabe: \"Route dieses Ticket.\" Es hat keine Ahnung von euren Teams, Kategorien oder Prioritäten.\n",
99
-
"- **Getuned:** Das Modell bekommt die gleiche Aufgabe, aber **mit echten Beispielen** aus eurer Vergangenheit. Es lernt: \"Ah, Netzwerk-Probleme gehen ans Team X, und wenn der CEO betroffen ist, ist es immer P1.\"\n",
100
-
"\n",
101
-
"Das Diagramm unten zeigt den Unterschied auf einen Blick.\n"
102
-
]
103
-
},
104
-
{
105
-
"cell_type": "markdown",
106
-
"metadata": {},
107
-
"source": [
108
-
"## 🔍 Generisch vs. Getuned — der Unterschied\n",
109
-
"\n",
110
-
"Links: ein generischer Prompt ohne Domain-Wissen. Rechts: der gleiche Prompt, aber mit deinen echten Ticket-Beispielen trainiert.\n",
111
-
"\n",
112
-
"Der Unterschied ist wie zwischen einem Praktikanten am ersten Tag und einem Kollegen, der seit Monaten im Team ist. Gleiche Person, aber mit **Kontext**.\n"
113
-
]
114
-
},
115
-
{
116
-
"cell_type": "markdown",
117
-
"metadata": {},
118
-
"source": [
119
-
"## Generischer Prompt vs. Domain-Tuning\n",
120
-
"\n",
121
-
"Jetzt wird's spannend: wir lassen den gleichen Task einmal mit einem generischen Prompt und einmal mit automatischem Tuning laufen. Die Daten kommen aus eurem echten Ticket-System!\n",
122
-
"\n",
123
-
"Erwartung: der generische Prompt liefert ein \"geht so\" Ergebnis. Nach dem Tuning mit deinen Daten? **Deutlich besser.**"
124
-
]
65
+
" print()\n"
66
+
],
67
+
"outputs": [],
68
+
"execution_count": null
125
69
},
126
70
{
127
71
"cell_type": "markdown",
128
72
"metadata": {},
129
73
"source": [
130
-
"## 🚀 Jetzt tunen wir!\n",
74
+
"## 2. Generischer Prompt → wie gut ist er?\n",
131
75
"\n",
132
-
"Klick auf den Button und schau, wie viel besser das Modell wird, wenn es mit deinen echten Daten trainiert wird.\n",
76
+
"Jetzt lassen wir das Modell diese Tickets klassifizieren — **ohne** Beispiele, **ohne** Domain-Wissen. Nur ein generischer Prompt: \"Klassifiziere dieses Ticket.\"\n",
133
77
"\n",
134
-
"Du siehst zwei Scores:\n",
135
-
"- **Baseline** — der generische Prompt ohne Domain-Wissen\n",
136
-
"- **Optimized** — der gleiche Prompt, aber mit deinen echten Ticket-Beispielen trainiert\n",
137
-
"\n",
138
-
"Der Unterschied ist oft erstaunlich. Wähl zuerst dein Modell und drück dann **\"Generic vs. Tuned\"**.\n"
78
+
"Die Metrik bewertet drei Felder gleichzeitig:\n",
" right={\"title\": \"Getuned mit deinen Daten\", \"items\": [\"Echte Tickets als Training\", \"Gleiches Modell\", \"Ergebnis: Deutlich besser! 🎯\"], \"icon\": \"📊\", \"color\": \"#107c10\"},\n",
152
-
" title=\"Vorher vs. Nachher: Deine Daten machen den Unterschied\")\n"
153
-
]
154
-
},
155
-
{
156
-
"cell_type": "markdown",
157
-
"metadata": {},
158
-
"source": [
159
-
"## 📊 Modell-Vergleich auf Domain-Tasks\n",
160
-
"\n",
161
-
"Wie schlagen sich verschiedene Modelle auf **deinen** Daten? Manche Modelle sind generell besser, aber mit Domain-Tuning können auch kleinere (und billigere!) Modelle überraschend gut werden.\n",
"Das ist eine wichtige Erkenntnis für die Praxis: Du brauchst nicht immer das teuerste Modell. Manchmal reicht ein günstiges Modell + gutes Tuning.\n",
"Schau dir die Ergebnisse an und überleg: Welches Modell hat das beste Preis-Leistungs-Verhältnis?\n"
166
-
]
167
-
},
168
-
{
169
-
"cell_type": "markdown",
170
-
"metadata": {},
171
-
"source": [
172
-
"## 🚀 Jetzt tunen wir!\n\nKlick auf den Button und schau, wie viel besser das Modell wird, wenn es mit deinen echten Daten trainiert. Das ist **dein Burggraben** — dieses Domain-Wissen kann kein Konkurrent kopieren.\n"
173
-
]
95
+
"print(f\"\\n👆 {result.score:.0%} — nicht schlecht, aber auch nicht gut genug für Produktion.\")\n",
96
+
"print(f\" Schau dir die Fehler an: das Modell kennt eure Teams und Kategorien nicht!\")\n"
97
+
],
98
+
"outputs": [],
99
+
"execution_count": null
174
100
},
175
101
{
176
102
"cell_type": "markdown",
177
103
"metadata": {},
178
104
"source": [
179
-
"## 🎯 Einzelne Domain-Tasks optimieren\n",
180
-
"\n",
181
-
"Hier kannst du dir einen spezifischen Task aussuchen und schauen, was die Optimierung bringt.\n",
105
+
"## 3. Domain-Tuning → der Unterschied\n",
182
106
"\n",
183
-
"Probier verschiedene Tasks durch — bei manchen ist der Unterschied grösser als bei anderen. Das liegt daran, dass manche Aufgaben mehr von Domain-Wissen profitieren als andere.\n",
107
+
"Jetzt lassen wir den Optimizer mit **deinen echten Ticket-Beispielen** trainieren. Er sucht automatisch die besten Few-Shot-Beispiele aus deinen Daten und baut einen besseren Prompt.\n",
184
108
"\n",
185
-
"**Tipp:** Vergleich den Score mit dem aus Notebook 02. Wie viel bringt Domain-Tuning zusätzlich zur Prompt-Optimierung?\n"
109
+
"Gleiches Modell, gleiche Aufgabe — aber mit Domain-Wissen.\n"
186
110
]
187
111
},
188
112
{
189
113
"cell_type": "code",
190
-
"execution_count": null,
191
114
"metadata": {},
192
-
"outputs": [],
193
115
"source": [
194
-
"print(f\"⏳ Ticket Routing: generisch vs. domain-getuned auf {MODEL}...\")\n",
116
+
"print(f\"⏳ Optimiere mit echten Ticket-Daten... (10-30 Sekunden)\\n\")\n",
" f\"Getuned mit DEINEN Daten: {result.optimized_score:.0%}. \"\n",
204
-
"\"Dieses Domain-Wissen ist DEIN Wettbewerbsvorteil.\")\n"
205
-
]
206
-
},
207
-
{
208
-
"cell_type": "markdown",
209
-
"metadata": {},
210
-
"source": [
211
-
"## 📊 Modellvergleich auf Domain-Daten\n\nGleiche Aufgabe, verschiedene Modelle — mit und ohne Tuning. Oft schlägt ein **kleines getuntes Modell** ein grosses ungetuntes!\n"
"fig = bar_comparison(\"Ticket Routing: Baseline vs. Optimiert\", scores)\n",
246
-
"fig.show()\n"
247
-
]
248
-
},
249
-
{
250
-
"cell_type": "markdown",
251
-
"metadata": {},
252
-
"source": [
253
-
"## 🚀 Jetzt tunen wir!\n\nKlick auf den Button und schau, wie viel besser das Modell wird, wenn es mit deinen echten Daten trainiert. Das ist **dein Burggraben** — dieses Domain-Wissen kann kein Konkurrent kopieren.\n"
140
+
"- **Das Modell ist gemietet** — GPT-4o kann jeder nutzen\n",
" f\"Getuned mit DEINEN Daten: {result.optimized_score:.0%}. \"\n",
153
+
"\"Das Modell ist gemietet — deine Daten sind es nicht.\")\n"
154
+
],
155
+
"outputs": [],
156
+
"execution_count": null
275
157
},
276
158
{
277
159
"cell_type": "markdown",
278
160
"metadata": {},
279
161
"source": [
280
162
"## ⏭️ Weiter geht's!\n",
281
163
"\n",
282
-
"Deine Daten + systematisches Tuning = dein Burggraben. Das Modell ist gemietet, deine Daten gehören dir. Das Tuning macht den Unterschied den kein Konkurrent kopieren kann.\n",
283
-
"\n",
284
-
"Aber können auch **Agenten** optimiert werden? Agenten, die Tools nutzen und Entscheidungen treffen? Das ist Notebook 04!\n",
164
+
"Deine Daten + Tuning = Burggraben. Aber können auch **Agenten** optimiert werden? Agenten die selbst entscheiden, welche Tools sie nutzen?\n",
285
165
"\n",
286
166
"👉 **[Weiter zu Notebook: Agenten →](04_agents.ipynb)**\n"
0 commit comments