39 lines
986 B
Markdown
39 lines
986 B
Markdown
# Aufgabe 03: Chat Messages modellieren
|
|
|
|
## Ziel
|
|
|
|
Du modellierst Chat Messages als strukturierte Daten statt als String-Konkatenation.
|
|
|
|
## Warum ist das wichtig?
|
|
|
|
Tool Calling und Conversation History funktionieren nur sauber mit expliziten Rollen und Feldern.
|
|
|
|
## Voraussetzungen
|
|
|
|
- Aufgabe 01
|
|
- JSON/Serde oder Pydantic
|
|
|
|
## Theorie
|
|
|
|
Strukturierte Nachrichten verhindern Prompt-Chaos. Der Code kann validieren, kürzen, speichern und gezielt System- oder Tool-Nachrichten einfügen.
|
|
|
|
## Aufgabe
|
|
|
|
Definiere Typen für system, user, assistant und tool messages und serialisiere sie in das API-Format deines Providers.
|
|
|
|
## Akzeptanzkriterien
|
|
|
|
- Rollen sind typisiert oder validiert.
|
|
- JSON-Ausgabe entspricht dem Provider-Format.
|
|
- Ungültige Rollen werden abgefangen.
|
|
|
|
## Erweiterungen
|
|
|
|
- Schreibe Unit Tests für Serialisierung.
|
|
|
|
## Reflexionsfragen
|
|
|
|
- Warum sind Rollen besser als ein langer Prompt?
|
|
- Was muss eine Tool-Nachricht enthalten?
|
|
- Wie würdest du binäre Daten vermeiden?
|