Zusammenfassung (Audio)
Keine Audio-Zusammenfassung für diese Lektion.
Studiennotizen
📝 Lernnotizen: Implementierung eines Code-Prüfers (Code Grader)
🎯 Ziel des Code-Prüfers
- Überprüfung des Modellausgangs, um sicherzustellen, dass er nur reinen Code (Python, JSON oder RegEx) liefert, ohne Erklärungen.
- Validierung der Syntax des erzeugten Codes.
🛠️ Funktionsweise der Syntaxvalidierung
- Hilfsfunktionen: Es werden drei Funktionen definiert: validateJSON, validatePython und validateRegEx.
- Validierungsprozess:
- Der Code wird versucht, als JSON geparst, als Python Abstract Syntax Tree (AST) geladen oder als regulärer Ausdruck kompiliert.
- Erfolg: Bei erfolgreichem Parsen/Kompilieren wird ein voller Score von 10 vergeben.
- Fehler: Bei einem Parsing-Fehler wird ein Score von 0 vergeben.
💾 Daten und Testfälle
- Format-Schlüssel: Der Testdatensatz muss einen format-Schlüssel enthalten, der den erwarteten Output-Typ angibt (z. B. "Python", "JSON", "RegEx").
- Automatisierung: Dieser Schlüssel wird idealerweise über das Prompt-Design des Datensatzgenerators hinzugefügt, um große Testmengen zu erstellen.
⚙️ Implementierungsschritte
- Hinzufügen der Validierungsfunktionen: Implementierung von validateJSON, validatePython und validateRegEx.
- Aktualisierung des Datensatzes: Hinzufügen des format-Schlüssels zu den Testfällen.
- Prompt-Optimierung (Prompt Engineering):
- Der Prompt wird angepasst, um das Modell strikt auf die Ausgabe von Python, JSON oder RegEx zu beschränken.
- Anweisungen verhindern jegliche Kommentare oder Erklärungen.
- Verwendung eines assistant message und eines stop sequence (z. B. drei Backticks) zur Steuerung des Ausgabeformats.
- Score-Zusammenführung:
- Der finale Score wird als Durchschnitt aus dem model score und dem syntax score berechnet.
- Formel: Score → (Model Score + Syntax Score) / 2.
💡 Fazit
- Der Code-Prüfer stellt sicher, dass die Modelle nicht nur die Aufgabe lösen, sondern auch das korrekte Format und die Syntax einhalten.
- Die kontinuierliche Optimierung des Prompts ist entscheidend für die Verbesserung der Gesamtbewertung.
Takeaways
- Der Code-Prüfer stellt sicher, dass der Modellausgang reiner Code (Python, JSON, RegEx) ist und die Syntax korrekt ist.
- Die Validierung erfolgt durch spezifische Funktionen (z. B. JSON-Parser, Python AST), die bei erfolgreichem Parsen einen Score von 10 vergeben.
- Testdatensätze müssen einen format-Schlüssel enthalten, der den erwarteten Output-Typ definiert.
- Die Prompt-Optimierung ist entscheidend, um das Modell strikt auf Code zu beschränken und jegliche Erklärungen zu verhindern.
- Der finale Score wird als Durchschnitt aus dem Model Score und dem Syntax Score berechnet.
Lernkarten 8 Karten
Frage
zum Aufdecken klicken · ←/→
Antwort
zum Zurückdrehen klicken
Wissensüberprüfung 0 Fragen
No quiz for this lesson yet.