Domino IQ – 5. Teil: KI-Funktionen in eigene Anwendungen integrieren

5. Oktober 2025 — von Christian Buchacher

1. Einleitung

KI-Abfragen in Ihre eigenen Anwendungen einzubinden, ist zwar relativ einfach, erfordert jedoch Programmierkenntnisse in LotusScript.

Bevor wir zu programmieren beginnen, müssen wir uns außerdem mit System Prompts und Commands auseinandersetzen. In ein System Prompt schreiben Sie die Anweisung, welche die KI ausführen soll. Und der Command verbindet diese Anweisung dann mit einem Server und einem LLM. Der Command ist es dann auch, den Sie später via Programmcode in Ihren Anwendungen ansprechen.

In der Datenbank »Domino IQ Configuration« finden Sie zwei vordefinierte System Prompts und Commands mit den Namen »StdReplyEmail« und »StdSummarizeEmailThread«. Beide werden in der Mailschablone verwendet, weshalb Sie sie weder löschen noch umbenennen sollten. Aber natürlich können Sie neue System Prompts und Commands hinzufügen, um sie in Ihren eigenen Anwendungen zu verwenden. Und genau das wollen wir jetzt tun!

Die Anwendungsmöglichkeiten sind vielfältig, häufig genutzte Bereiche sind neben der Textgenerierung auch das Übersetzen in andere Sprachen. In dieser Anleitung zeige ich Ihnen, wie Sie eine Übersetzungsfunktion einzubauen. Dafür könnte man natürlich eine eigene Anwendung bauen, der Einfachheit halber beschränken wir uns aber darauf, in einer vorhandenen Maske einer vorhandenen Applikation eine Schaltfläche hinzuzufügen. Als Beispiel verwenden wir die Memo-Maske in der Maildatenbank. Aber zuerst erstellen wir dafür das erforderliche System Prompt und den Command.

2. Ein System Prompt erstellen

Mit dem Dokument »System Prompt« weisen Sie die KI an, welche Antwort sie generieren soll. Die Anweisung kann je nach Fähigkeiten des verwendeten LLMs nur auf Englisch oder auch in anderen Sprachen wie Deutsch formuliert werden. Eine einfache Anweisung wäre z. B.: »Bitte antworte kurz auf die folgende Frage«.

Um ein neues System Prompt zu erstellen, gehen Sie wie folgt vor:

  1. Öffnen Sie die Anwendung »Domino IQ Configuration« (dominoiq.nsf) auf dem Domino IQ-Verwaltungsserver.
  2. Navigieren Sie zur Ansicht System Prompts und klicken Sie auf die Schaltfläche Add System Prompt. Das Dokument »LLM System Prompt« wird angezeigt.
  3. Geben Sie im Feld Display name einen eindeutigen Namen ein, in unserem Beispiel »Translate«.
  4. Geben Sie im Feld Prompt Ihre Anweisung ein. Verwenden Sie eine schlichte, aber exakte Sprache. Verwenden Sie bei Bedarf mehrere kurze Sätze. Vermeiden Sie Zeilenschaltungen. Wenn die zurückgelieferte Antwort nicht Ihren Vorstellungen entspricht, können Sie mit anderen Anweisungen experimentieren.
    Für unser Beispiel verwenden Sie etwa den folgenden Text: »Bitte übersetze den folgenden deutschen Text auf Englisch«.
  5. Speichern und schließen Sie das Dokument

Abbildung 1: Das Dokument »LLM System Prompt«

3. Einen Command erstellen

Erstellen Sie als nächstes einen passenden Command. Gehen Sie dazu wie folgt vor:

  1. Öffnen Sie die Anwendung »Domino IQ Configuration« (dominoiq.nsf) auf dem Domino IQ-Verwaltungsserver.
  2. Klicken Sie in der Ansicht Commands auf die Schaltfläche Add Command.
  3. Geben Sie im Feld Configuration den Namen eines einzelnen Servers oder auch einen Stern (*) ein. Wenn Sie einen Stern eingeben, ist der angegebene Command für alle Domino IQ-Server verfügbar, die im Domino-Verzeichnisprofil definiert sind.
  4. (Optional) Haben Sie einen Stern eingegeben, können Sie außerdem im Feld Model den Namen des LLMs eingeben, das zum Ausführen des Commands verwendet werden soll. Geben Sie nichts ein, wird das LLM aus dem Dokument Domino IQ Configuration des Servers genommen.
  5. Geben Sie im Feld Command einen eindeutigen Namen ein.
  6. Geben Sie im Feld Description eine beliebige Beschreibung der Funktion des Commands ein.
  7. Wählen Sie im Feld System prompt das System Prompt aus, das Sie zuvor erstellt haben.
  8. Geben Sie Im Feld Maximum tokens die benötigte Token-Grenze an.
    Dazu ein kurzer Diskurs: LLMs verarbeiten Text mithilfe von Token, also häufigen Zeichenfolgen, die in einem Text vorkommen. Als grobe Faustregel gilt, dass ein Token etwa 4 Zeichen entspricht. Wichtig ist, dass die Texte aus dem System Prompt und der generierten Antwort zusammen nicht länger sind als die angegebene maximale Anzahl von Token. Geben Sie als Grenze etwa 512 ein (Vorgabe) und der Text aus dem Prompt belegt bereits 100 Token, dann bleiben für die Antwort nur noch 412 Token bzw. rund 100 Zeichen übrig. Eine längere Antwort wird in diesem Fall einfach abgeschnitten.
    Achtung: Erhöhen Sie die maximale Anzahl an Token aber auch nicht ohne Notwendigkeit, denn je nach Bezahlmodell kann das Hochsetzen auch die Kosten erhöhen!
  9. (Optional) Ändern Sie bei Bedarf die Temperature, etwa um kreativere Antworten zu erhalten, z. B. auf 1,3. Geben Sie nichts an, wird als Temperatur 0,0 übergeben.
  10. Speichern und schließen Sie das Dokument.

Abbildung 2: Das Dokument »Command«

4. Die neue KI-Funktion zusammenbauen

Für die weitere Vorgangsweise müssen Sie zumindest über basale Entwicklerkenntnisse verfügen.

Gehen Sie wie folgt vor:

Öffnen Sie Ihre Maildatenbank im Domino Designer. Klicken Sie dazu im Arbeitsbereich mit der rechten Maustaste auf das Symbol und wählen im Kontextmenü den Befehl In Designer öffnen.

Sie landen in der Liste der Formulare. Navigieren Sie zum Formular »Nachricht« alias »Memo« und öffnen Sie dieses mit einem Doppelklick.

Achten Sie darauf, dass das Aktionsfenster geöffnet ist. Ist das nicht der Fall, öffnen Sie es über den Menübefehl Ansicht > Aktionsfenster.

Suchen Sie sich in der Liste der vorhandenen Aktionen einen Platz (am besten weit links) und klicken Sie im Menü auf Erstellen > Aktion > Aktion…

Vergeben Sie für die neue Aktion »(Unbenannt)«, einen beliebigen Namen, z. B. »Übersetzen«.

Wählen Sie die neue Aktion aus und schalten Sie im Bereich Starten von »Client / Formel« auf »Client / LotusScript« um.

Geben Sie den folgenden Code ins Codefenster ein:

Sub Click(Source As Button)
  Dim uiws As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = uiws.CurrentDocument
  Dim doc As Notesdocument
  Set doc = uidoc.Document
  If uidoc.EditMode = False Then uidoc.EditMode = True
  Dim itmBody As NotesRichtextItem
  Set itmBody = doc.GetFirstItem("Body")
  Dim strInputText As String
  strInputText = itmBody.Text
  Dim session As New NotesSession
  Dim llmReq As NotesLLMRequest
  Set llmReq = session.Createllmrequest()
  Dim llmRes As NotesLLMResponse
  Set llmRes = llmReq.Completion("<IhrServer>","Translate",strInputText)
  Dim strAIResponse As String
  strAIResponse = llmRes.Content
  strAIResponse = strAIResponse & Chr(10) & Chr(10) & Chr(10)
  Call uidoc.GotoField("Body")
  Call uidoc.InsertText(strAIResponse)
End Sub

Geben Sie anstatt des Platzhalters <IhrServer> den Namen Ihres Servers ein.

Sollten Sie für Ihren Command nicht den Namen »Translate« verwendet haben, geben Sie den richtigen Namen ein.

Speichern Sie Ihre Änderungen.

Um den Code möglichst kurz zu halten, habe ich auf alle Überprüfungen verzichtet. Sollten Sie abweichende Namen verwendet haben oder Domino IQ aus irgendeinem anderen Grund nicht richtig funktionieren, erhalten Sie dann natürlich eine Fehlermeldung!

Öffnen Sie die Maildatenbank im Notes-Client, suchen Sie sich eine passende Mail und öffnen Sie diese. Wenn Sie alles richtig gemacht haben, sehen Sie darin die Taste »Übersetzen«:

Abbildung 3: Die Mail mit dem Beispieltext und der neuen Schaltfläche »Übersetzen«

Klicken Sie nun auf die Schaltfläche. Die Übersetzung sollte oberhalb des Originaltextes eingefügt werden:

Abbildung 4: Der von der KI übersetzte Mailtext

Achtung: Sollte nachts der Design-Task laufen, kann Ihre neue Schaltfläche durch das Zurücksetzen des Designs verschwinden. Deaktivieren Sie daher am besten für die Dauer Ihrer Tests die Datenbankeigenschaft Gestaltung aus Masterschablone übernehmen.

Hinterlasse den ersten Kommentar