KI in Formularen verwenden


In gleicher Weise, wie Sie KI-Funktionen z.B. in E-Mail-Skripten verwenden, können Sie dies auch in interaktiven Elementen von todo4teams-Formularen tun.

Im folgenden zeigen wir Ihnen, wie Sie KI-Hintergrundinformationen zu einem Formularwert ermitteln.
Der Button "Firmeninformationen" im nachfolgenden Formular soll bei einem Klick automatisch zu dem Wert im Feld "Firma" eine kurze Hintergrundinformation zur genannten Firma liefern:

image-20260901110724-1.png

Öffnen Sie dazu das Formular in der Administration, wählen Sie den Button aus und öffnen Sie dessen Einstellungen:

image-20260901112404-2.png

Der Code im "Callback" wird ausgeführt, wenn der Button geklickt wird.

Er soll folgende Aktionen ausführen:

  1. Stelle den Zugriff auf eine ChatBot-API bereit. 
  2. Lade den aktuellen Werte aus dem Textfeld "Firma" in eine Variable.
  3. Sende dem ChatBot eine vorgegeben Frage und füge den Variablenwert in die Frage ein.
  4. Empfange die Antwort des ChatBots.
  5. Befreie die Antwort von Textformatierungen (weil das Feld "Firmeninformation" reinen Text erwartet).
  6. Setze den Ergebniswert in das Textfeld.

Nachfolgend sehen Sie den entsprechenden Skript-Code mit Kommentierung:

// Erzeugung der Chat-API-Implementierung:
var todoAiClass = Java.type('com.proxemo.todo4.bom.ToDoAI');
var chat = todoAiClass.getDefaultAIChat();
// alternativ, Benutzung einer bestimmten KI:
// var chat = cache.getInstance().getActiveItemById(10001).createChat();

// Ermittle den Wert aus dem Formularfeld "Firma" im Formular "Interessent":
var c = helper.getFormValue("Interessent", "Firma");

// Zusammensetzen der Frage an den ChatBot unter Verwendung des ermittelten Wertes c:
var chatResult = chat.ask("Beschreibe in wenigen Zeilen die Firma "+c+" und nenne ihr Tätigkeitsfeld.");  

// Zuweisung des Ergebnisses:
var ans = chatResult.answer;

// Entfernen von Textformaten:
var p = com.proxemo.xutl.XUTLHTMLToPlainText.getPlainText(ans);

// Anzeige des Ergebnisses im Formularfeld "Firmeninfos":
helper.setFormValue("Interessent", "Firmeninfos", p);

Ergebnis:

In diesem Beispiel wurde zum eingegebenen Firmennamen "NVidia" nach einer Sekunde folgendes angezeigt:

image-20260901113844-3.png