Warum ĂŒberhaupt Logging?
Du willst Kontrolle.
Und Du willst wissen, was Deine KI wann wem gesagt hat.
Gerade bei sensiblen oder automatisierten Entscheidungen brauchst Du Nachvollziehbarkeit.
Also loggen wir alles. Prompt, Antwort, Zeit, Benutzer, Modell.
Tabellenstruktur
Tabelle | Zweck |
---|---|
tblLog | Prompt + Antwort speichern |
tblBenutzer | Wer hat was abgeschickt? |
tblModelle | GPT-3.5, GPT-4, Azure etc. |
Logtabelle anlegen (Beispielfelder)
LogID
(Autowert)Zeitstempel
(Datum/Uhrzeit)BenutzerID
(Long)ModellID
(Long)PromptText
(LongText)AntwortText
(LongText)Fehlermeldung
(Text, optional)Status
(Text, z.âŻB. „OK“, „Timeout“, „Fehler“)
Logging in VBA integrieren
Function LogGPT(Prompt As String, Antwort As String, Optional Fehler As String = "", Optional Status As String = "OK")
Dim sql As String
sql = "INSERT INTO tblLog (Zeitstempel, BenutzerID, ModellID, PromptText, AntwortText, Fehlermeldung, Status) " & _
"VALUES (Now(), " & BenutzerID & ", " & ModellID & ", " & _
"'" & Replace(Prompt, "'", "''") & "', " & _
"'" & Replace(Antwort, "'", "''") & "', " & _
"'" & Replace(Fehler, "'", "''") & "', '" & Status & "')"
CurrentDb.Execute sql
End Function
BenutzerID
und ModellID
kannst Du global mitfĂŒhren oder aus dem aktuellen Formular ziehen.
Fehler-Handling einbauen
Sub StarteSitzung()
Dim prompt As String
Dim antwort As String
Dim json As String
On Error GoTo Fehlerbehandlung
prompt = HolePrompt()
json = SendePrompt(prompt)
antwort = ExtrahiereAntwort(json)
Call LogGPT(prompt, antwort)
MsgBox antwort
Exit Sub
Fehlerbehandlung:
Call LogGPT(prompt, "", Err.Description, "Fehler")
MsgBox "Fehler: " & Err.Description
End Sub
Was solltest Du mitloggen?
- Alle Eingaben und Ausgaben (am besten gekĂŒrzt anzeigen, aber vollstĂ€ndig speichern)
- Modell, Temperatur, Max Tokens
- Antwortzeit (Millisekunden als Option)
- Statuscodes bei API-Nutzung
- Nutzerkontext (aus Login oder Terminalkennung)
Optional: Monitoring-Formular
Erstelle ein Endlosformular auf tblLog
.
SpaltenvorschlÀge:
- Datum
- Benutzer
- Modell
- 1.âŻZeile vom Prompt
- 1.âŻZeile der Antwort
- Status
- Button âDetails anzeigenâ
Bonus: Tokenanzahl berechnen lassen
Wenn Du auf OpenAI-Preise achten musst:
Function SchaetzeTokens(ByVal text As String) As Long
' NĂ€herung: 1 Token = ~4 Zeichen bei englischem Text
SchaetzeTokens = Len(text) / 4
End Function
Feld TokenGesamt
kann in der Tabelle ergÀnzt werden.
Was Du vermeiden solltest
- Ungefilterte Prompts mit sensiblen Daten
- Anonyme API-Aufrufe ohne Logbezug
- Fehler ohne Logging âins Leereâ laufen lassen
- Keine Log-Löschungen ohne Dokumentation
Zitat zum Mitnehmen
„KI ohne Logging ist wie Autofahren ohne Tacho.“
Wenn Du wissen willst, was rausgeht, musst Du mitloggen.
Und zwar ordentlich. Access kann das. Auch 2025.
Wenn Du willst, helfe ich Dir beim Setup.
No responses yet