Ai Proxy
CodBi / AI Proxy – Authentifizierter Reverse-Proxy zum lokalen LLAMA-Server, Whisper-Server und
Tesseract OCR.
Servlet, das HTTP-Anfragen von authentifizierten externen Clients an lokale AI-Server weiterleitet verwaltet von LLAMA und Whisper, und an die prozessinterne OCR-Engine TesseractAction. Bietet IP-basierte Zugriffskontrolle, Mehrbenutzer-Basic-Auth und anonymisierte Anforderungsprotokollierung im Formcycle Datenbank.
Stellt die folgenden Endpunkte über den HTTP-Stack von Formcycle bereit:
POST
LLAMA- und Whisper-Anfragen werden über HTTP an ihre jeweiligen lokalen Serverprozesse weitergeleitet. Tesseract-Anfragen werden prozessintern über JNI (kein externer Server) verarbeitet TesseractAction.performOcr.
Die Sicherheit wird durchgesetzt durch:
IP-Whitelist → Plugin-Eigenschaft „AI_Proxy_AllowedIPs“.
HTTP Basic Auth → Plugin-Eigenschaft „AI_Proxy_Users“.
Jede Anfrage wird mit anonymisiertem Aufrufer in der Formcycle-Datenbanktabelle „codbi_ai_proxy“ protokolliert Informationen (SHA-256 des Benutzernamens, erste zwei Oktette der IP).
Plugin-Eigenschaften
| Eigentum | Formatieren | Beispiel |
|---|---|---|
AI_Proxy_AllowedIPs | Durch Kommas getrennte IPs/CIDRs | 192.168.1.0/24,10.0.0.5 |
AI_Proxy_Users | Durch Kommas getrennter Benutzer:pass | alice:secret1,bob:secret2 |
Datenbank
Die Prüftabelle „codbi_ai_proxy“ wird von CodbiEntities mithilfe von Formcycles verwaltet IPluginEntities API – das Prüftabellenschema ist verwaltet von Liquibase und der Datenzugriff nutzt JPA.
Functions
Liest Plugin-Eigenschaften für IP-Whitelist und Benutzeranmeldeinformationen. Die Datenbankeinrichtung wird übernommen separat von CodbiEntities.
Initiiert eine Aufgabe, die nicht verwendete, abgelaufene Bilder (msExpirationIDedImages) aus dem entfernt Cache (cacheIDedImages).
Lehnt die Installation auf Mandantenebene ab. CodBi muss als System-Plugin installiert werden, da es KI-Dienste (Whisper, LLAMA) binden lokale Server-Ports und verwalten schwergewichtige Prozesse würde zu Konflikten führen, wenn sie einmal pro Mandant instanziiert würden.