Skip to content

Commit 637451c

Browse files
abossardCopilot
andcommitted
Add clickable links to next notebook at bottom of each
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 66a49f4 commit 637451c

5 files changed

Lines changed: 34 additions & 212 deletions

File tree

notebooks/00_introduction.ipynb

Lines changed: 24 additions & 206 deletions
Original file line numberDiff line numberDiff line change
@@ -134,13 +134,13 @@
134134
},
135135
{
136136
"cell_type": "code",
137-
"execution_count": 4,
137+
"execution_count": 3,
138138
"metadata": {},
139139
"outputs": [
140140
{
141141
"data": {
142142
"application/vnd.jupyter.widget-view+json": {
143-
"model_id": "98077833eaa643ff8aa80df562c72aea",
143+
"model_id": "6e771141476743e29c12155079404f71",
144144
"version_major": 2,
145145
"version_minor": 0
146146
},
@@ -175,9 +175,17 @@
175175
},
176176
{
177177
"cell_type": "code",
178-
"execution_count": null,
178+
"execution_count": 4,
179179
"metadata": {},
180-
"outputs": [],
180+
"outputs": [
181+
{
182+
"name": "stdout",
183+
"output_type": "stream",
184+
"text": [
185+
"🎯 Sentiment: positive\n"
186+
]
187+
}
188+
],
181189
"source": [
182190
"from dspy_tasks.data import ClassifySentiment\n",
183191
"from dspy_tasks.config import configure_dspy\n",
@@ -195,13 +203,13 @@
195203
},
196204
{
197205
"cell_type": "code",
198-
"execution_count": 8,
206+
"execution_count": 6,
199207
"metadata": {},
200208
"outputs": [
201209
{
202210
"data": {
203211
"application/vnd.jupyter.widget-view+json": {
204-
"model_id": "ead1eaa7cfff4bd5ad43009aca7f25c9",
212+
"model_id": "297db7290ecb427ea56ffbe2f6f8d418",
205213
"version_major": 2,
206214
"version_minor": 0
207215
},
@@ -215,7 +223,7 @@
215223
{
216224
"data": {
217225
"application/vnd.jupyter.widget-view+json": {
218-
"model_id": "87ba75281c98433e9c9f893d65c6b8e1",
226+
"model_id": "c32046a776e1427a8586cca9792dd6b4",
219227
"version_major": 2,
220228
"version_minor": 0
221229
},
@@ -229,7 +237,7 @@
229237
{
230238
"data": {
231239
"application/vnd.jupyter.widget-view+json": {
232-
"model_id": "e8b2656f78b54f14bc636e1461ac45c1",
240+
"model_id": "bb5bf39e313b4adc9abc7e8b0a2802f7",
233241
"version_major": 2,
234242
"version_minor": 0
235243
},
@@ -271,170 +279,9 @@
271279
},
272280
{
273281
"cell_type": "code",
274-
"execution_count": 6,
282+
"execution_count": 7,
275283
"metadata": {},
276-
"outputs": [
277-
{
278-
"data": {
279-
"text/html": [
280-
"\n",
281-
" <div style=\"background:#f3f2f1; padding:16px; margin:20px 0 12px 0; border-radius:8px\">\n",
282-
" <h2 style=\"margin:0; color:#323130\">Tier 1: Fundamentals \n",
283-
" <span style=\"font-size:0.7em; color:#ca5010\">★☆☆☆</span>\n",
284-
" </h2>\n",
285-
" <p style=\"color:#605e5c; margin:4px 0 0 0\">5 tasks</p>\n",
286-
" </div>\n",
287-
" "
288-
],
289-
"text/plain": [
290-
"<IPython.core.display.HTML object>"
291-
]
292-
},
293-
"metadata": {},
294-
"output_type": "display_data"
295-
},
296-
{
297-
"name": "stdout",
298-
"output_type": "stream",
299-
"text": [
300-
" ★☆☆☆ Sentiment Classification (Predict)\n",
301-
" Classify product reviews as positive, negative, or neutral.\n",
302-
"\n",
303-
" ★☆☆☆ Entity Extraction (Predict)\n",
304-
" Extract named entities (people, organizations, locations) from text.\n",
305-
"\n",
306-
" ★☆☆☆ Text Summarization (Predict)\n",
307-
" Summarize articles into concise 1-2 sentence summaries.\n",
308-
"\n",
309-
" ★☆☆☆ English → German Translation (Predict)\n",
310-
" Translate English text to German.\n",
311-
"\n",
312-
" ★☆☆☆ Format Compliance (Predict)\n",
313-
" Convert raw data into specific formats (ISO date, JSON, CSV, etc.).\n",
314-
"\n"
315-
]
316-
},
317-
{
318-
"data": {
319-
"text/html": [
320-
"\n",
321-
" <div style=\"background:#f3f2f1; padding:16px; margin:20px 0 12px 0; border-radius:8px\">\n",
322-
" <h2 style=\"margin:0; color:#323130\">Tier 2: Reasoning \n",
323-
" <span style=\"font-size:0.7em; color:#ca5010\">★★☆☆</span>\n",
324-
" </h2>\n",
325-
" <p style=\"color:#605e5c; margin:4px 0 0 0\">5 tasks</p>\n",
326-
" </div>\n",
327-
" "
328-
],
329-
"text/plain": [
330-
"<IPython.core.display.HTML object>"
331-
]
332-
},
333-
"metadata": {},
334-
"output_type": "display_data"
335-
},
336-
{
337-
"name": "stdout",
338-
"output_type": "stream",
339-
"text": [
340-
" ★★☆☆ Math Word Problems (ChainOfThought)\n",
341-
" Solve math word problems with numeric answers.\n",
342-
"\n",
343-
" ★★☆☆ Logical Deduction (ChainOfThought)\n",
344-
" Derive logical conclusions from a set of premises.\n",
345-
"\n",
346-
" ★★☆☆ Code Generation (ChainOfThought)\n",
347-
" Generate working Python code from natural-language descriptions.\n",
348-
"\n",
349-
" ★★☆☆ Analogy Completion (Predict)\n",
350-
" Complete analogies of the form 'A is to B as C is to ___'.\n",
351-
"\n",
352-
" ★★☆☆ Fact Verification (ChainOfThought)\n",
353-
" Verify whether a factual claim is supported, refuted, or has insufficient evidence.\n",
354-
"\n"
355-
]
356-
},
357-
{
358-
"data": {
359-
"text/html": [
360-
"\n",
361-
" <div style=\"background:#f3f2f1; padding:16px; margin:20px 0 12px 0; border-radius:8px\">\n",
362-
" <h2 style=\"margin:0; color:#323130\">Tier 3: Composition \n",
363-
" <span style=\"font-size:0.7em; color:#ca5010\">★★★☆</span>\n",
364-
" </h2>\n",
365-
" <p style=\"color:#605e5c; margin:4px 0 0 0\">5 tasks</p>\n",
366-
" </div>\n",
367-
" "
368-
],
369-
"text/plain": [
370-
"<IPython.core.display.HTML object>"
371-
]
372-
},
373-
"metadata": {},
374-
"output_type": "display_data"
375-
},
376-
{
377-
"name": "stdout",
378-
"output_type": "stream",
379-
"text": [
380-
" ★★★☆ Multi-Hop QA (ChainOfThought)\n",
381-
" Answer questions requiring 2-3 reasoning hops across a passage.\n",
382-
"\n",
383-
" ★★★☆ Ticket Classification & Routing (ChainOfThought)\n",
384-
" Classify IT support tickets by category, priority, and routing team.\n",
385-
"\n",
386-
" ★★★☆ Structured Report Generation (ChainOfThought)\n",
387-
" Generate structured reports from data points.\n",
388-
"\n",
389-
" ★★★☆ Comparative Analysis (ChainOfThought)\n",
390-
" Compare two items across multiple criteria and provide a recommendation.\n",
391-
"\n",
392-
" ★★★☆ Instruction Following with Constraints (ChainOfThought)\n",
393-
" Complete a task while satisfying multiple explicit constraints.\n",
394-
"\n"
395-
]
396-
},
397-
{
398-
"data": {
399-
"text/html": [
400-
"\n",
401-
" <div style=\"background:#f3f2f1; padding:16px; margin:20px 0 12px 0; border-radius:8px\">\n",
402-
" <h2 style=\"margin:0; color:#323130\">Tier 4: Agentic \n",
403-
" <span style=\"font-size:0.7em; color:#ca5010\">★★★★</span>\n",
404-
" </h2>\n",
405-
" <p style=\"color:#605e5c; margin:4px 0 0 0\">5 tasks</p>\n",
406-
" </div>\n",
407-
" "
408-
],
409-
"text/plain": [
410-
"<IPython.core.display.HTML object>"
411-
]
412-
},
413-
"metadata": {},
414-
"output_type": "display_data"
415-
},
416-
{
417-
"name": "stdout",
418-
"output_type": "stream",
419-
"text": [
420-
" ★★★★ Calculator Agent (ReAct)\n",
421-
" Solve math questions using a calculator tool.\n",
422-
"\n",
423-
" ★★★★ Search & Synthesize Agent (ReAct)\n",
424-
" Search the ticket knowledge base and synthesize answers.\n",
425-
"\n",
426-
" ★★★★ Multi-Tool Orchestration (ReAct)\n",
427-
" Orchestrate multiple tools to answer complex queries.\n",
428-
"\n",
429-
" ★★★★ Plan-and-Execute (ReAct)\n",
430-
" Create a plan and execute it step by step to achieve a goal.\n",
431-
"\n",
432-
" ★★★★ Self-Correcting Agent (ReAct)\n",
433-
" Complete a task, verify the result, and self-correct if needed.\n",
434-
"\n"
435-
]
436-
}
437-
],
284+
"outputs": [],
438285
"source": [
439286
"# Die Aufgaben entdeckst du Schritt für Schritt in den folgenden Notebooks."
440287
]
@@ -447,45 +294,16 @@
447294
"\n",
448295
"Du kannst ein Modell aufrufen und bekommst ein Ergebnis. **Aber woher weisst du, ob es GUT ist?**\n",
449296
"\n",
450-
"Das klären wir im nächsten Notebook: Wie man **Accuracy misst**, wo LLMs versagen, und wie du **selbst versuchst den Prompt zu verbessern**."
297+
"Das klären wir im nächsten Notebook: Wie man **Accuracy misst**, wo LLMs versagen, und wie du **selbst versuchst den Prompt zu verbessern**.",
298+
"\n\n👉 **[Weiter zu Notebook: Evaluation →](01_evaluation.ipynb)**\n"
451299
]
452300
},
453301
{
454302
"cell_type": "code",
455-
"execution_count": 7,
303+
"execution_count": null,
456304
"metadata": {},
457-
"outputs": [
458-
{
459-
"data": {
460-
"text/html": [
461-
"\n",
462-
" <div style=\"background:linear-gradient(135deg, #f0f6ff, #e8f0fe); \n",
463-
" border-left:4px solid #0078d4; padding:16px; margin:12px 0; \n",
464-
" border-radius:0 8px 8px 0\">\n",
465-
" <div style=\"font-size:1.1em; font-weight:bold; color:#0078d4; margin-bottom:4px\">\n",
466-
" 🔮 Was als Nächstes kommt\n",
467-
" </div>\n",
468-
" <div style=\"color:#323130\">Im nächsten Notebook trennen wir DATA (was du willst), CALCULATIONS (wie du misst), und ACTIONS (was mit dem LLM redet). Das ist das Fundament zuverlässiger KI-Systeme.</div>\n",
469-
" </div>\n",
470-
" "
471-
],
472-
"text/plain": [
473-
"<IPython.core.display.HTML object>"
474-
]
475-
},
476-
"metadata": {},
477-
"output_type": "display_data"
478-
}
479-
],
480-
"source": [
481-
"display_insight(\n",
482-
" \"Was als Nächstes kommt\",\n",
483-
" \"Im nächsten Notebook trennen wir DATA (was du willst), \"\n",
484-
" \"CALCULATIONS (wie du misst), und ACTIONS (was mit dem LLM redet). \"\n",
485-
" \"Das ist das Fundament zuverlässiger KI-Systeme.\",\n",
486-
" icon=\"🔮\"\n",
487-
")"
488-
]
305+
"outputs": [],
306+
"source": []
489307
}
490308
],
491309
"metadata": {
@@ -509,4 +327,4 @@
509327
},
510328
"nbformat": 4,
511329
"nbformat_minor": 4
512-
}
330+
}

notebooks/01_evaluation.ipynb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,8 @@
295295
"\n",
296296
"Du hast Metriken. Du kannst messen. Aber was, wenn der **Computer die Prompts SELBST optimieren** könnte? \n",
297297
"\n",
298-
"Stell dir vor: du schreibst die Spezifikation (was du willst + was \"gut\" heisst), und das Werkzeug findet den besten Prompt dafür. Genau wie ein Compiler! Das ist Notebook 02."
298+
"Stell dir vor: du schreibst die Spezifikation (was du willst + was \"gut\" heisst), und das Werkzeug findet den besten Prompt dafür. Genau wie ein Compiler! Das ist Notebook 02.",
299+
"\n\n👉 **[Weiter zu Notebook: Optimierung →](02_optimization.ipynb)**\n"
299300
]
300301
}
301302
],

notebooks/02_optimization.ipynb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,8 @@
231231
"\n",
232232
"Der Optimizer hat den Prompt verbessert — automatisch, messbar, reproduzierbar. Aber was passiert, wenn du **deine eigenen, echten Daten** benutzt?\n",
233233
"\n",
234-
"Im nächsten Notebook nehmen wir die echten Ticket-Daten aus dem Projekt und zeigen: **Deine Daten sind dein Burggraben.** Ein generisches Modell + deine Domain-Daten + Tuning = etwas, das kein Konkurrent kopieren kann."
234+
"Im nächsten Notebook nehmen wir die echten Ticket-Daten aus dem Projekt und zeigen: **Deine Daten sind dein Burggraben.** Ein generisches Modell + deine Domain-Daten + Tuning = etwas, das kein Konkurrent kopieren kann.",
235+
"\n\n👉 **[Weiter zu Notebook: Domain-Tuning →](03_domain_tuning.ipynb)**\n"
235236
]
236237
}
237238
],

notebooks/03_domain_tuning.ipynb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,8 @@
180180
"\n",
181181
"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",
182182
"\n",
183-
"Aber können auch **Agenten** optimiert werden? Agenten, die Tools nutzen und Entscheidungen treffen? Das ist Notebook 04!"
183+
"Aber können auch **Agenten** optimiert werden? Agenten, die Tools nutzen und Entscheidungen treffen? Das ist Notebook 04!",
184+
"\n\n👉 **[Weiter zu Notebook: Agenten →](04_agents.ipynb)**\n"
184185
]
185186
}
186187
],
@@ -205,4 +206,4 @@
205206
},
206207
"nbformat": 4,
207208
"nbformat_minor": 4
208-
}
209+
}

notebooks/04_agents.ipynb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,8 @@
200200
"3. ✅ Domain-Daten als Wettbewerbsvorteil\n",
201201
"4. ✅ Agenten-Optimierung\n",
202202
"\n",
203-
"**Zeit für das Gesamtbild und das Quiz!** → Notebook 05"
203+
"**Zeit für das Gesamtbild und das Quiz!** → Notebook 05",
204+
"\n\n👉 **[Weiter zu Notebook: Das Gesamtbild →](05_full_picture.ipynb)**\n"
204205
]
205206
}
206207
],
@@ -225,4 +226,4 @@
225226
},
226227
"nbformat": 4,
227228
"nbformat_minor": 4
228-
}
229+
}

0 commit comments

Comments
 (0)