HCL Domino · LLM · OpenAI · API-Engine
E-Mails in HCL Domino direkt durch ein LLM analysieren
Moderne Large Language Models können weit mehr als Texte erzeugen. Sie können strukturierte Daten bewerten, Inhalte klassifizieren und Ergebnisse in einer definierten Form zurückgeben. Mit der SL Net-Solutions Domino API-Engine lässt sich ein solcher Dienst direkt in einen serverseitigen Domino-Prozess integrieren.
Ein neues Beispiel im API-Engine Evaluation Package zeigt dies anhand einer praktischen Aufgabe: E-Mails werden aus einer Domino-Datenbank gelesen, einschließlich relevanter RFC822-Header und MIME-Inhalte, über HTTPS an die OpenAI Responses API übertragen und anschließend direkt in Domino klassifiziert.
Für den Zugriff auf den LLM-Dienst ist keine zusätzliche Middleware erforderlich. Die API-Engine erzeugt den JSON-Request, führt den HTTPS-Aufruf aus, verarbeitet die strukturierte JSON-Antwort und schreibt das Ergebnis wieder in das ursprüngliche Domino-Dokument.
Praktisches Beispiel
Spam-Wert, Klassifizierung und Inhaltsangabe
Das Beispielskript OPENAI_TEST verarbeitet E-Mail-Dokumente aus einer Domino-Datenbank und übergibt die für die Bewertung relevanten Informationen an ein Large Language Model.
Das Modell erhält unter anderem Mail-Header, Authentifizierungsinformationen sowie den eigentlichen Nachrichteninhalt. Die Antwort wird über Structured Outputs auf ein fest definiertes JSON-Schema beschränkt.
LLMSpamRating
Bewertung von 0 bis 100. Ein niedriger Wert steht für eine wahrscheinlich legitime Nachricht, ein hoher Wert für einen starken Spam-Verdacht.
LLMCategory
Einordnung in genau eine der Kategorien Advertising, Spam, Malware oder Correspondence.
LLMSummary
Eine kurze sachliche Zusammenfassung des Inhalts, unabhängig von der Sprache der ursprünglichen E-Mail.
{
"score": 92,
"category": "Malware",
"summary": "Suspicious invoice e-mail containing an HTML attachment and indicators of phishing."
}
Ablauf
Vom Domino-Dokument zur strukturierten LLM-Antwort
Die gesamte Verarbeitung findet innerhalb des serverseitigen API-Engine-Prozesses statt. Domino-Daten müssen dafür nicht zunächst über eine separate Anwendung oder Middleware exportiert werden.
Technischer Ablauf
Was das Testskript tatsächlich macht
Die API-Engine sucht Mail-Dokumente, für die noch keine LLM-Bewertung vorliegt.
Relevante Header und der Nachrichtentext werden direkt aus dem Domino-Dokument verarbeitet.
Der Request für die OpenAI Responses API wird innerhalb des API-Engine-Skripts als JSON-Struktur aufgebaut.
Die API-Engine kommuniziert direkt mit dem externen REST-Dienst. Ein zusätzlicher Proxy oder eigener Middleware-Service ist für das Beispiel nicht erforderlich.
Das Modell liefert die Klassifizierung anhand eines fest definierten JSON-Schemas zurück.
Score, Kategorie und Zusammenfassung werden direkt als Items in das ursprüngliche Domino-Dokument geschrieben.
Structured Outputs
Ein LLM-Ergebnis, das sich zuverlässig weiterverarbeiten lässt
Für automatisierte Prozesse reicht eine frei formulierte Antwort eines Sprachmodells häufig nicht aus. Deshalb verwendet das Beispiel ein definiertes JSON-Schema.
Damit wird beispielsweise sichergestellt, dass der Spam-Wert eine Ganzzahl zwischen 0 und 100 ist und die Kategorie ausschließlich einen der vorgesehenen Werte enthält.
{
"type": "object",
"properties": {
"score": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"category": {
"type": "string",
"enum": [
"Advertising",
"Spam",
"Malware",
"Correspondence"
]
},
"summary": {
"type": "string"
}
},
"required": [
"score",
"category",
"summary"
],
"additionalProperties": false
}
Dadurch lässt sich die Antwort wie jede andere strukturierte Schnittstellenantwort verarbeiten. Das Sprachmodell wird nicht als interaktiver Chat verwendet, sondern als Bestandteil eines automatisierten Datenverarbeitungsprozesses.
Mail-Analyse
Mehr als nur der sichtbare Nachrichtentext
Für eine sinnvolle Bewertung werden nicht nur die sichtbaren Inhalte einer E-Mail betrachtet. Auch technische Header können wichtige Hinweise liefern.
SPF, DKIM und DMARC
Erfolgreiche Authentifizierungsprüfungen können als positive Indikatoren in die Bewertung einfließen.
From und Envelope-From
Abweichende Absenderinformationen werden berücksichtigt, gelten aber nicht automatisch als Spam-Indiz.
MIME und Nachrichtentext
Links, Formulierungen, Werbeinhalte und andere Merkmale können zusammen mit den technischen Daten bewertet werden.
LLM-Sicherheit
E-Mail-Inhalte sind Daten, keine Anweisungen
Sobald fremde Inhalte an ein Sprachmodell übergeben werden, muss berücksichtigt werden, dass diese Inhalte selbst Anweisungen enthalten können.
Das Beispiel weist das Modell deshalb ausdrücklich an, sämtliche Inhalte der E-Mail ausschließlich als zu analysierende Daten und niemals als Instruktionen zu behandeln.
Diese Trennung ist insbesondere bei automatisierten LLM-Prozessen wichtig. Die Nachricht selbst darf nicht bestimmen, wie das Modell den übergeordneten Analyseauftrag ausführt.
Wichtige Abgrenzung
Ein Klassifizierungsbeispiel – kein Ersatz für einen Virenscanner
Die Kategorie Malware beschreibt im Beispiel Nachrichten, deren Inhalt, Links, Header oder andere erkennbare Merkmale auf Phishing, Schadsoftware oder einen Angriff hindeuten.
Das Beispiel führt keine technische Malware-Analyse von Dateianhängen durch. Es ersetzt daher weder einen Virenscanner noch ein spezialisiertes Mail-Security-Gateway.
Das Skript ist bewusst als technisches Evaluierungsbeispiel ausgelegt. Für einen produktiven Einsatz wären je nach Umgebung unter anderem Fehlerbehandlung, Logging, Rate Limits, Datenschutzanforderungen, Schlüsselverwaltung und weitere Sicherheitsmaßnahmen zu berücksichtigen.
Integration
Warum dieses Beispiel für Domino interessant ist
Der eigentliche Punkt des Beispiels ist nicht nur die Klassifizierung einer E-Mail. Es zeigt vielmehr, wie sich moderne REST- und AI-Dienste in bestehende Domino-Prozesse integrieren lassen, ohne die eigentliche Verarbeitung aus Domino heraus verlagern zu müssen.
Daten bleiben Teil des Domino-Prozesses
NSF-Dokumente können direkt gelesen, verarbeitet und nach dem externen API-Aufruf wieder aktualisiert werden.
Externe APIs direkt ansprechen
HTTP, HTTPS und JSON werden innerhalb desselben Engine-Prozesses verarbeitet.
Automatisch im Hintergrund
Der gleiche Ansatz kann zeit-, ereignis- oder prozessgesteuert auf große Mengen von Domino-Dokumenten angewendet werden.
Domino IQ
Wie ordnet sich dieses Beispiel gegenüber Domino IQ ein?
Mit HCL Domino 14.5 stellt Domino IQ eine native Integration von Large Language Models in die Domino-Plattform bereit. Domino-Anwendungen können über die LotusScript-Klassen NotesLLMRequest und NotesLLMResponse generative AI-Anfragen über Domino ausführen.
Das hier vorgestellte API-Engine-Beispiel verfolgt einen anderen Ansatz. Es kommuniziert über HTTPS und JSON direkt mit der OpenAI Responses API. Ziel des Beispiels ist daher nicht, Domino IQ zu ersetzen, sondern zu zeigen, wie externe AI- und REST-Dienste unmittelbar in einen Verarbeitungsprozess der API-Engine eingebunden werden können.
Native AI-Integration in Domino
Domino IQ stellt in aktuellen Domino-Versionen eine integrierte AI-Inferenzschicht bereit und macht LLM-Funktionen über dafür vorgesehene Schnittstellen für Domino-Anwendungen verfügbar.
Direkte Integration externer APIs
Die API-Engine kann externe REST-Dienste direkt ansprechen und solche Aufrufe innerhalb desselben Prozesses mit NSF-, MIME-, RFC822-, JSON-, SQL- und weiterer Datenverarbeitung kombinieren.
Auch für ältere Domino-Umgebungen interessant
Das Beispiel OPENAI_TEST läuft ab HCL Domino 10 und benötigt daher keine Domino-Version, in der Domino IQ verfügbar ist.
Beide Ansätze schließen sich nicht gegenseitig aus. Domino IQ stellt eine native AI-Schicht für aktuelle Domino-Umgebungen bereit. Die API-Engine eignet sich dagegen insbesondere dort, wo externe APIs direkt angesprochen und mit Datenaufbereitung, Domino-Verarbeitung und nachgelagerten Integrationsschritten kombiniert werden sollen.
Evaluation Package
Das Beispiel selbst ausprobieren
Das aktuelle API-Engine V12.12 Evaluation Package enthält das vollständige Beispielskript OPENAI_TEST.
OPENAI_TEST
Das Beispiel demonstriert die Verarbeitung von RFC822- und MIME-Daten, den Aufbau eines JSON-Requests, den direkten HTTPS-Aufruf der OpenAI Responses API, Structured Outputs sowie die Verarbeitung und Speicherung des Ergebnisses in Domino.
Das Beispiel läuft mit HCL Domino 10 und neuer. Es sollte voraussichtlich auch mit Domino 9 funktionieren, wurde dort jedoch nicht ausdrücklich getestet.
Fazit
LLMs als weiterer Baustein für Domino-Prozesse
Large Language Models müssen nicht als separate Anwendung neben Domino stehen. Sie können wie andere externe Dienste Bestandteil eines automatisierten Domino-Prozesses sein.
Die API-Engine übernimmt dabei die technische Integration: Domino-Daten lesen, JSON erzeugen, HTTPS-Requests ausführen, Antworten verarbeiten und die Ergebnisse wieder direkt in Domino bereitstellen.
Das E-Mail-Beispiel ist nur ein möglicher Anwendungsfall. Der gleiche Ansatz lässt sich beispielsweise für Dokumentklassifikation, Datenextraktion, Zusammenfassungen, Textanalyse oder die strukturierte Verarbeitung von Geschäftsdokumenten einsetzen.
