ChatGPT Scripting


Wenn Sie bereits einen KI-ChatBot in todo4teams konfiguriert haben, möchten Sie ihn möglicherweise auch verwenden, um Entscheidungen im Ticket-Routing zu automatisieren.

Das ist besonders interessant für Aufgaben, die ein Verständnis für Sprache und Stimmungen erfordern: Zum Beispiel für die Frage, ob es sich bei einer Anfrage um eine Beschwerde handelt oder um ein Lob.

ChatGPT und andere ChatBots liefern hier gute Ergebnisse. Um die Antworten der ChatBots in unseren Skripten verwenden zu können, müssen wir sie zu kurzen klaren Antworten zwingen.

Das funktioniert, wenn wir z.B. ChatGPT folgende Frage stellen:

Beurteile, ob es sich bei der folgenden Nachricht um eine Beschwerde handelt. Antworte mit 'Ja' oder 'Nein':

Mein Telefonanschluss ist weiterhin defekt. Ich warte nun schon seit zwei Tagen auf den Techniker! ...

ChatGPT antwortet hier mit einem schlichten "Ja".

Im folgenden Beispiel-Code nutzen wir ChatGPT, um die Priorität eine in einer Mailbox eintreffenden Nachricht einzustellen, abhängig davon, ob es sich um eine Beschwerde handelt:


var todoAiClass = Java.type('com.proxemo.todo4.bom.ToDoAI');
var chat = todoAiClass.getAIChatForTask(task);
  
var chatResult = chat.ask("Beurteile, ob es sich bei der folgenden Nachricht um eine Beschwerde handelt. Antworte mit 'Ja' oder 'Nein':\n\n"+task.title+"\n"+task.description);  
var ans = chatResult.answer;
println("Beschwerde: "+ans);
if(ans!=null && ans.contains('Ja')){
    task.prio=3;
} else {
    task.prio=0;
}

Erläuterungen zum Code:

  • var todoAiClass = Java.type('com.proxemo.todo4.bom.ToDoAI');
    var chat = todoAiClass.getAIChatForTask(task);

    ...holt die konfigurierte Chat-Implementierung in eine lokale Variable. Die KI-Variante wird dabei passend zum aktuellen Ticket (task) ermittelt.
  • var chatResult = ai.ask("Beurteile ..."); var ans = chatResult.asnwer;
    ...sendet eine Promt an den Chat-Agent und speichert dessen Antwort in der Variablen ans, genau so, als hätten Sie den Prompt im Web-Browser an ChatGPT gesendet.
  • if(ans!=null && ans.contains('Ja')){ ...
    Hier wird die KI-Antwort geprüft: Falls der Chat-Agent mit 'Ja' geantwortet hat, die Nachricht also ein Beschwerde enthält, wird im folgenden die Priorität des Tickets erhöht.  

Im Ergebnis sehen Sie ein Ticket mit dem Text "Wieso habe ich immer noch keine Antwort erhalten? Das Gerät ist immer noch kaputt. Morgen schalte ich meinen Anwalt ein!"

mit hoher Priorität in der Ticket-Liste image-20250704101730-1.png, während eine Nachricht mit dem Text "Vielen Dank für den schnellen Support! Das hat toll funktioniert!" eine niedrige Priorität erhält: image-20250704101931-2.png.

In diesem Beispiel wurde nur der Text der Nachricht (task.description) an den Chat-Agent übergeben.

Wenn Sie das gesamte Ticket (ink. der Dateianhänge) übergeben möchten, werdenden Sie diesen Code:


var todoAiClass = Java.type('com.proxemo.todo4.bom.ToDoAI');
var chat = todoAiClass.getAIChatForTask(task);
  
var chatResult = chat.ask("Beurteile, ob es sich bei der folgenden Nachricht um eine Beschwerde handelt. Antworte mit 'Ja' oder 'Nein'.", com.proxemo.todo4.bom.ai.AIChat.ContextMode.REPLY, null, task);  
var ans = chatResult.answer;
println("Beschwerde: "+ans);
if(ans!=null && ans.contains('Ja')){
    task.prio=3;
} else {
    task.prio=0;
}

Hier wird im letzten Argument für ask() die Referenz auf das Ticket (task) übergeben.

Bitte beachten Sie:

Wenn Sie, wie in diesem Beispiel, von Kunden stammende Nachrichten-Inhalte an KI-Systeme senden, müssen Sie sicherstellen, dass Sie alle Datenschutzverpflichtungen einhalten und die DSGVO befolgen, also z.B. eine eigene ChatGPT-Instanz betreiben oder den DSGVO-sicheren Betrieb einer KI im IONOS AI Model Hub wählen!