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

TabelleZweck
tblLogPrompt + Antwort speichern
tblBenutzerWer hat was abgeschickt?
tblModelleGPT-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.

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert