KI geht auch mit Java-basierten Tools.The KonG / Shutterstock Entwickler, die KI-Projekte angehen, denken dabei nicht unbedingt zuerst an Java – vielmehr ist Python für Projekte dieser Art oft die erste Wahl. Aber auch Java hat eine Daseinsberechtigung, wenn es um künstliche Intelligenz und Machine Learning geht. Schließlich wissen viele Developer die technischen Benefits und das weitläufige Ökosystem der Sprache zu schätzen. Diese Vorteile haben sich auch unter Python-Connaisseuren herumgesprochen: Einige nutzen Jython, um in den Genuss der Speed-Vorteile der Java Virtual Machine (JVM) zu kommen. Der traditionelle, langsame, aber stete Fokus von Java auf Stabilität und Performance schafft viele gute Möglichkeiten, um sich mit KI und ML befassen, ohne dazu die Sicherheit des gut typisierten Java-Kokons verlassen zu müssen. Das belegen unter anderem die folgenden zehn KI-Entwicklungs-Tools auf Java-Basis. 1. Spring AI Im Laufe der Jahre hat sich das Java-Framework Spring als Grundlage etabliert, um alles von Webanwendungen bis hin zu Microservices zu erstellen. Spring AI zielt darauf ab, jegliche Art von KI möglichst einfach in diese Umgebungen zu integrieren. Dazu stellt das Framework eine Reihe von Abstraktionen zur Verfügung, die diesen Prozess organisieren und definieren. Entwickler, die mit großen KI-Anbietern wie Anthropic oder OpenAI arbeiten, können die Abstraktionen von Spring AI dazu verwenden, Chat- oder Moderations-Modelle zu integrieren. Dabei werden alle relevanten Anbieter unterstützt – nicht nur kommerzielle, sondern auch diverse aus dem Open-Source-Bereich. Entwickler, die Daten lokal in einer Vektordatenbank speichern möchten, können sich direkt mit einer der etwa ein Dutzend Optionen (etwa Milvus oder Pinecone) verbinden. Spring AI übernimmt dabei das „Daten-Marshalling“ der Embeddings. So können Developer mit Java-Objekten arbeiten, während die Datenbank reine Vektoren speichert. Darüber hinaus verfügt Spring AI außerdem über Funktionen für verschiedene Aufgaben, die sich in der Anwendungsentwicklung zum Standard entwickeln: So können Chat-Unterhaltungen automatisch für eine spätere Wiederherstellung gespeichert werden. Und eine Evaluierungsfunktion unterstützt die Meta-Evaluierung von Modellen, um Halluzinationen zu reduzieren oder sie zumindest zu kennzeichnen. 2. LangChain4j Diverse Anwendungen „streben danach“, Vektordatenbanken und Large Language Models (LLMs) in einem Portal zu integrieren. Dazu reicht ein LLM oft nicht aus: Ein KI-Modell erzeugt einen Text, ein LLM zur Bildgenerierung veranschaulicht ihn – während am Anfang und am Ende der Pipelines eine Moderations-KI überwacht, dass niemand beleidigt wird. Die Java-First-Version des populärem JavaScript- und Python-Frameworks LangChain – LangChain4j – liefert den Code, der als Bindeglied all die verschiedenen Parts vereint, die Entwickler integrieren müssen. Dazu werden im Wesentlichen Dutzende verschiedener Modelle und Data Stores mit einigen wenigen standardmäßigen, aber leistungsstarken Abstraktionen gebündelt. 3. Deeplearning4J Java-Entwickler, die KI-Klassifizierungsprojekte in Angriff nehmen wollen, können dazu auf das Ökosystem rund um Eclipse Deeplearning4J (DL4J) zurückgreifen, das eine Vielzahl von ML-Algorithmen unterstützt. Dazu werden lediglich die Rohdaten eingespeist – am Ende steht ein vollständig abgestimmtes Modell, das bereit ist, Entscheidungen zu treffen. Das Herzstück des Systems bildet die C++-Bibliothek libnd4j. Sie gewährleistet, dass die ML-Kernprimitive schnell ausgeführt werden. Die Datenflüsse werden über Apache Spark definiert. Während das Gesamt-Framework durch Java vereinheitlicht wird, können viele der beweglichen Teile von Deeplearning4J in einer anderen Sprache geschrieben werden. Die Pipeline ist so konzipiert, dass sie für Experimente – etwa mit Kotlin oder Scala – offen ist, die direkt mit der JVM arbeiten können. Python-Algorithmen lassen sich direkt in Python4j ausführen. Es handelt sich um ein quelloffenes Projekt, dessen Dokumentation viele gute Beispiele enthält, die die Performanz seiner Komponenten belegen. 4. Apache Spark MLib Für groß angelegte Datenanalysen verlassen sich Data Scientists schon seit Längerem mit Vorliebe auf Apache Spark. Mit MLib wird das Projekt um eine zusätzliche Ebene erweitert, die für Machine-Learning-Algorithmen optimiert ist. Daten lassen sich dabei an jedem Ort im Hadoop-Stil speichern, die Algorithmen können in jeder relevanten Sprache codiert werden – inklusive Java, Scala oder JVM-orientierten Sprachen. Besonders attraktiv machen MLib dabei seine vorgefertigten Routinen für viele klassische ML- und Analytics-Algorithmen – etwa Entscheidungsbäume, Clustering oder Alternating Least Squares. Größere Berechnungen wie etwa eine Singular Value Decomposition von ausufernden Matrizen lassen sich beschleunigen, indem sie auf mehrere Maschinen verteilt werden. In vielen Fällen muss also wirklich wenig Code implementiert werden – den Rest erledigt Spark mit einer Pipeline, die auf iterative Prozesse ausgelegt ist. 5. Testcontainers Weite Teile des LLM-Ökosystems laufen in Docker-Containern. Mit der Open-Source-Bibliothek Testcontainers steht Entwicklern ein Tool zur Verfügung, um all diese Teile zu managen. Die quelloffene Bibliothek bietet einen besonders einfachen Weg, um LLMs in den Stack zu integrieren. Auch mit Blick auf Datenbank, Service Bus, Message Broker und andere gängige Komponenten, bietet Testcontainers diverse vordefinierte Module. 6. GraalPy Bei GraalPy handelt es sich um eine integrierbare Version von Python3, die so optimiert ist, dass Python-Code einfacher in der JVM ausgeführt werden kann. Das ermöglicht Java-Programmierern, sämtliche Python-Bibliotheken und -Tools nutzen. Dabei ist GraalPy Bestandteil der größeren GraalVM-Projektkollektion, die dafür entwickelt wurde, Stacks in virtuellen Maschinen bereitzustellen und zu warten. 7. Apache OpenNLP Sollen KI-Modelle von Text lernen, erfordert das umfassendes Preprocessing. Schließlich müssen die relevanten Texte von überflüssigen Typesetting-Kommandos befreit und in kleine Teile zerlegt werden, damit die Algorithmen die Bedeutung aus Mustern extrahieren können. An dieser Stelle kommt das Toolkit Apache OpenNLP ins Spiel, das mit diversen grundlegenden Algorithmen eine solide Machine-Learning-Grundlage schaffen kann. Die enthaltenen Werkzeuge sind für diverse Aufgaben geeignet, von der einfachen Segmentierung und Tokenisierung bis hin zu komplexeren Analysen. Extras wie Spracherkennung oder die Extraktion benannter Entitäten können bei Bedarf eingesetzt werden. In den JAR-Dateien von OpenNLP sind Modelle für mehr als 32 Sprachen enthalten – alternativ können Sie auch eigene Modelle trainieren. Das OpenNLP-Toolset ist gut in das Java-Ökosystem integriert: Projekte wie UIMA oder Solr nutzen es bereits, um die Muster in natürlichsprachlichen Texten zu entschlüsseln. Der Einstieg in OpenNLP fällt durch die Integration mit Maven und Gradle zudem besonders leicht. 8. Neo4j Wenn Ihre Anwendung einen RAG-Data-Store erfordert, kann die Graph-Datenbank Neo4j diesen Workload stemmen. Die Datenbank unterstützt bereits verschiedene Graph-Applikationen, etwa Betrugserkennung oder Social-Media-Management. Dank seiner soliden Java-Grundlage lassen sich sowohl RAG-Anwendungen als auch Graph-Datenbanken mit Java-Stacks in einem einzigen, einheitlichen Datenspeicher integrieren – dem sogenannten GraphRAG. 9. Stanford CoreNLP Eine weitere Sammlung von Routinen für natürliche Sprache stellt die Stanford NLP Group mit dem Toolset CoreNLP zur Verfügung. Es erledigt alles von der Segmentierung bis hin zur Normalisierung von Zahlen oder Daten. Entwickler schätzen CoreNLP vor allem wegen seiner höheren Genauigkeit und der vorgefertigten Optionen – etwa Modelle für Stimmungsanalysen oder um Koreferenzen zu erkennen. Mit den erweiterten Funktionen der Bibliothek lassen sich auch kompliziertere Parsing-Algorithmen und -Strategien einfacher implementieren. CoreNLP lässt sich leicht in Gradle oder Maven integrieren – Modelle für neun Sprachen sind sofort einsatzbereit. 10. Jllama Manchmal macht es Sinn, KI-Modelle in einer JVM auszuführen, die man direkt kontrollieren und überwachen kann. LLMs lokal auszuführen, kann diverse Benefits verwirklichen, beispielsweise geringere Hardware-Kosten oder ein höheres Datenschutzniveau. Jllama nutzt diverse populäre Open-Source-Modelle zu Inferenzzwecken. Der Code von Jllama nutzt einige der neuesten Java-Funktionen wie die Vector API und SIMD-fähige Erweiterungen. Workloads lassen sich darüber hinaus auf die zur Verfügung stehenden Ressourcen in einem Cluster verteilen. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!
10 Java-basierte GenAI-Tools
KI geht auch mit Java-basierten Tools.The KonG / Shutterstock Entwickler, die KI-Projekte angehen, denken dabei nicht unbedingt zuerst an Java – vielmehr ist Python für Projekte dieser Art oft die erste Wahl. Aber auch Java hat eine Daseinsberechtigung, wenn es um künstliche Intelligenz und Machine Learning geht. Schließlich wissen viele Developer die technischen Benefits und das weitläufige Ökosystem der Sprache zu schätzen. Diese Vorteile haben sich auch unter Python-Connaisseuren herumgesprochen: Einige nutzen Jython, um in den Genuss der Speed-Vorteile der Java Virtual Machine (JVM) zu kommen. Der traditionelle, langsame, aber stete Fokus von Java auf Stabilität und Performance schafft viele gute Möglichkeiten, um sich mit KI und ML befassen, ohne dazu die Sicherheit des gut typisierten Java-Kokons verlassen zu müssen. Das belegen unter anderem die folgenden zehn KI-Entwicklungs-Tools auf Java-Basis. 1. Spring AI Im Laufe der Jahre hat sich das Java-Framework Spring als Grundlage etabliert, um alles von Webanwendungen bis hin zu Microservices zu erstellen. Spring AI zielt darauf ab, jegliche Art von KI möglichst einfach in diese Umgebungen zu integrieren. Dazu stellt das Framework eine Reihe von Abstraktionen zur Verfügung, die diesen Prozess organisieren und definieren. Entwickler, die mit großen KI-Anbietern wie Anthropic oder OpenAI arbeiten, können die Abstraktionen von Spring AI dazu verwenden, Chat- oder Moderations-Modelle zu integrieren. Dabei werden alle relevanten Anbieter unterstützt – nicht nur kommerzielle, sondern auch diverse aus dem Open-Source-Bereich. Entwickler, die Daten lokal in einer Vektordatenbank speichern möchten, können sich direkt mit einer der etwa ein Dutzend Optionen (etwa Milvus oder Pinecone) verbinden. Spring AI übernimmt dabei das „Daten-Marshalling“ der Embeddings. So können Developer mit Java-Objekten arbeiten, während die Datenbank reine Vektoren speichert. Darüber hinaus verfügt Spring AI außerdem über Funktionen für verschiedene Aufgaben, die sich in der Anwendungsentwicklung zum Standard entwickeln: So können Chat-Unterhaltungen automatisch für eine spätere Wiederherstellung gespeichert werden. Und eine Evaluierungsfunktion unterstützt die Meta-Evaluierung von Modellen, um Halluzinationen zu reduzieren oder sie zumindest zu kennzeichnen. 2. LangChain4j Diverse Anwendungen „streben danach“, Vektordatenbanken und Large Language Models (LLMs) in einem Portal zu integrieren. Dazu reicht ein LLM oft nicht aus: Ein KI-Modell erzeugt einen Text, ein LLM zur Bildgenerierung veranschaulicht ihn – während am Anfang und am Ende der Pipelines eine Moderations-KI überwacht, dass niemand beleidigt wird. Die Java-First-Version des populärem JavaScript- und Python-Frameworks LangChain – LangChain4j – liefert den Code, der als Bindeglied all die verschiedenen Parts vereint, die Entwickler integrieren müssen. Dazu werden im Wesentlichen Dutzende verschiedener Modelle und Data Stores mit einigen wenigen standardmäßigen, aber leistungsstarken Abstraktionen gebündelt. 3. Deeplearning4J Java-Entwickler, die KI-Klassifizierungsprojekte in Angriff nehmen wollen, können dazu auf das Ökosystem rund um Eclipse Deeplearning4J (DL4J) zurückgreifen, das eine Vielzahl von ML-Algorithmen unterstützt. Dazu werden lediglich die Rohdaten eingespeist – am Ende steht ein vollständig abgestimmtes Modell, das bereit ist, Entscheidungen zu treffen. Das Herzstück des Systems bildet die C++-Bibliothek libnd4j. Sie gewährleistet, dass die ML-Kernprimitive schnell ausgeführt werden. Die Datenflüsse werden über Apache Spark definiert. Während das Gesamt-Framework durch Java vereinheitlicht wird, können viele der beweglichen Teile von Deeplearning4J in einer anderen Sprache geschrieben werden. Die Pipeline ist so konzipiert, dass sie für Experimente – etwa mit Kotlin oder Scala – offen ist, die direkt mit der JVM arbeiten können. Python-Algorithmen lassen sich direkt in Python4j ausführen. Es handelt sich um ein quelloffenes Projekt, dessen Dokumentation viele gute Beispiele enthält, die die Performanz seiner Komponenten belegen. 4. Apache Spark MLib Für groß angelegte Datenanalysen verlassen sich Data Scientists schon seit Längerem mit Vorliebe auf Apache Spark. Mit MLib wird das Projekt um eine zusätzliche Ebene erweitert, die für Machine-Learning-Algorithmen optimiert ist. Daten lassen sich dabei an jedem Ort im Hadoop-Stil speichern, die Algorithmen können in jeder relevanten Sprache codiert werden – inklusive Java, Scala oder JVM-orientierten Sprachen. Besonders attraktiv machen MLib dabei seine vorgefertigten Routinen für viele klassische ML- und Analytics-Algorithmen – etwa Entscheidungsbäume, Clustering oder Alternating Least Squares. Größere Berechnungen wie etwa eine Singular Value Decomposition von ausufernden Matrizen lassen sich beschleunigen, indem sie auf mehrere Maschinen verteilt werden. In vielen Fällen muss also wirklich wenig Code implementiert werden – den Rest erledigt Spark mit einer Pipeline, die auf iterative Prozesse ausgelegt ist. 5. Testcontainers Weite Teile des LLM-Ökosystems laufen in Docker-Containern. Mit der Open-Source-Bibliothek Testcontainers steht Entwicklern ein Tool zur Verfügung, um all diese Teile zu managen. Die quelloffene Bibliothek bietet einen besonders einfachen Weg, um LLMs in den Stack zu integrieren. Auch mit Blick auf Datenbank, Service Bus, Message Broker und andere gängige Komponenten, bietet Testcontainers diverse vordefinierte Module. 6. GraalPy Bei GraalPy handelt es sich um eine integrierbare Version von Python3, die so optimiert ist, dass Python-Code einfacher in der JVM ausgeführt werden kann. Das ermöglicht Java-Programmierern, sämtliche Python-Bibliotheken und -Tools nutzen. Dabei ist GraalPy Bestandteil der größeren GraalVM-Projektkollektion, die dafür entwickelt wurde, Stacks in virtuellen Maschinen bereitzustellen und zu warten. 7. Apache OpenNLP Sollen KI-Modelle von Text lernen, erfordert das umfassendes Preprocessing. Schließlich müssen die relevanten Texte von überflüssigen Typesetting-Kommandos befreit und in kleine Teile zerlegt werden, damit die Algorithmen die Bedeutung aus Mustern extrahieren können. An dieser Stelle kommt das Toolkit Apache OpenNLP ins Spiel, das mit diversen grundlegenden Algorithmen eine solide Machine-Learning-Grundlage schaffen kann. Die enthaltenen Werkzeuge sind für diverse Aufgaben geeignet, von der einfachen Segmentierung und Tokenisierung bis hin zu komplexeren Analysen. Extras wie Spracherkennung oder die Extraktion benannter Entitäten können bei Bedarf eingesetzt werden. In den JAR-Dateien von OpenNLP sind Modelle für mehr als 32 Sprachen enthalten – alternativ können Sie auch eigene Modelle trainieren. Das OpenNLP-Toolset ist gut in das Java-Ökosystem integriert: Projekte wie UIMA oder Solr nutzen es bereits, um die Muster in natürlichsprachlichen Texten zu entschlüsseln. Der Einstieg in OpenNLP fällt durch die Integration mit Maven und Gradle zudem besonders leicht. 8. Neo4j Wenn Ihre Anwendung einen RAG-Data-Store erfordert, kann die Graph-Datenbank Neo4j diesen Workload stemmen. Die Datenbank unterstützt bereits verschiedene Graph-Applikationen, etwa Betrugserkennung oder Social-Media-Management. Dank seiner soliden Java-Grundlage lassen sich sowohl RAG-Anwendungen als auch Graph-Datenbanken mit Java-Stacks in einem einzigen, einheitlichen Datenspeicher integrieren – dem sogenannten GraphRAG. 9. Stanford CoreNLP Eine weitere Sammlung von Routinen für natürliche Sprache stellt die Stanford NLP Group mit dem Toolset CoreNLP zur Verfügung. Es erledigt alles von der Segmentierung bis hin zur Normalisierung von Zahlen oder Daten. Entwickler schätzen CoreNLP vor allem wegen seiner höheren Genauigkeit und der vorgefertigten Optionen – etwa Modelle für Stimmungsanalysen oder um Koreferenzen zu erkennen. Mit den erweiterten Funktionen der Bibliothek lassen sich auch kompliziertere Parsing-Algorithmen und -Strategien einfacher implementieren. CoreNLP lässt sich leicht in Gradle oder Maven integrieren – Modelle für neun Sprachen sind sofort einsatzbereit. 10. Jllama Manchmal macht es Sinn, KI-Modelle in einer JVM auszuführen, die man direkt kontrollieren und überwachen kann. LLMs lokal auszuführen, kann diverse Benefits verwirklichen, beispielsweise geringere Hardware-Kosten oder ein höheres Datenschutzniveau. Jllama nutzt diverse populäre Open-Source-Modelle zu Inferenzzwecken. Der Code von Jllama nutzt einige der neuesten Java-Funktionen wie die Vector API und SIMD-fähige Erweiterungen. Workloads lassen sich darüber hinaus auf die zur Verfügung stehenden Ressourcen in einem Cluster verteilen. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!
10 Java-basierte GenAI-Tools KI geht auch mit Java-basierten Tools.The KonG / Shutterstock Entwickler, die KI-Projekte angehen, denken dabei nicht unbedingt zuerst an Java – vielmehr ist Python für Projekte dieser Art oft die erste Wahl. Aber auch Java hat eine Daseinsberechtigung, wenn es um künstliche Intelligenz und Machine Learning geht. Schließlich wissen viele Developer die technischen Benefits und das weitläufige Ökosystem der Sprache zu schätzen. Diese Vorteile haben sich auch unter Python-Connaisseuren herumgesprochen: Einige nutzen Jython, um in den Genuss der Speed-Vorteile der Java Virtual Machine (JVM) zu kommen. Der traditionelle, langsame, aber stete Fokus von Java auf Stabilität und Performance schafft viele gute Möglichkeiten, um sich mit KI und ML befassen, ohne dazu die Sicherheit des gut typisierten Java-Kokons verlassen zu müssen. Das belegen unter anderem die folgenden zehn KI-Entwicklungs-Tools auf Java-Basis. 1. Spring AI Im Laufe der Jahre hat sich das Java-Framework Spring als Grundlage etabliert, um alles von Webanwendungen bis hin zu Microservices zu erstellen. Spring AI zielt darauf ab, jegliche Art von KI möglichst einfach in diese Umgebungen zu integrieren. Dazu stellt das Framework eine Reihe von Abstraktionen zur Verfügung, die diesen Prozess organisieren und definieren. Entwickler, die mit großen KI-Anbietern wie Anthropic oder OpenAI arbeiten, können die Abstraktionen von Spring AI dazu verwenden, Chat- oder Moderations-Modelle zu integrieren. Dabei werden alle relevanten Anbieter unterstützt – nicht nur kommerzielle, sondern auch diverse aus dem Open-Source-Bereich. Entwickler, die Daten lokal in einer Vektordatenbank speichern möchten, können sich direkt mit einer der etwa ein Dutzend Optionen (etwa Milvus oder Pinecone) verbinden. Spring AI übernimmt dabei das „Daten-Marshalling“ der Embeddings. So können Developer mit Java-Objekten arbeiten, während die Datenbank reine Vektoren speichert. Darüber hinaus verfügt Spring AI außerdem über Funktionen für verschiedene Aufgaben, die sich in der Anwendungsentwicklung zum Standard entwickeln: So können Chat-Unterhaltungen automatisch für eine spätere Wiederherstellung gespeichert werden. Und eine Evaluierungsfunktion unterstützt die Meta-Evaluierung von Modellen, um Halluzinationen zu reduzieren oder sie zumindest zu kennzeichnen. 2. LangChain4j Diverse Anwendungen „streben danach“, Vektordatenbanken und Large Language Models (LLMs) in einem Portal zu integrieren. Dazu reicht ein LLM oft nicht aus: Ein KI-Modell erzeugt einen Text, ein LLM zur Bildgenerierung veranschaulicht ihn – während am Anfang und am Ende der Pipelines eine Moderations-KI überwacht, dass niemand beleidigt wird. Die Java-First-Version des populärem JavaScript- und Python-Frameworks LangChain – LangChain4j – liefert den Code, der als Bindeglied all die verschiedenen Parts vereint, die Entwickler integrieren müssen. Dazu werden im Wesentlichen Dutzende verschiedener Modelle und Data Stores mit einigen wenigen standardmäßigen, aber leistungsstarken Abstraktionen gebündelt. 3. Deeplearning4J Java-Entwickler, die KI-Klassifizierungsprojekte in Angriff nehmen wollen, können dazu auf das Ökosystem rund um Eclipse Deeplearning4J (DL4J) zurückgreifen, das eine Vielzahl von ML-Algorithmen unterstützt. Dazu werden lediglich die Rohdaten eingespeist – am Ende steht ein vollständig abgestimmtes Modell, das bereit ist, Entscheidungen zu treffen. Das Herzstück des Systems bildet die C++-Bibliothek libnd4j. Sie gewährleistet, dass die ML-Kernprimitive schnell ausgeführt werden. Die Datenflüsse werden über Apache Spark definiert. Während das Gesamt-Framework durch Java vereinheitlicht wird, können viele der beweglichen Teile von Deeplearning4J in einer anderen Sprache geschrieben werden. Die Pipeline ist so konzipiert, dass sie für Experimente – etwa mit Kotlin oder Scala – offen ist, die direkt mit der JVM arbeiten können. Python-Algorithmen lassen sich direkt in Python4j ausführen. Es handelt sich um ein quelloffenes Projekt, dessen Dokumentation viele gute Beispiele enthält, die die Performanz seiner Komponenten belegen. 4. Apache Spark MLib Für groß angelegte Datenanalysen verlassen sich Data Scientists schon seit Längerem mit Vorliebe auf Apache Spark. Mit MLib wird das Projekt um eine zusätzliche Ebene erweitert, die für Machine-Learning-Algorithmen optimiert ist. Daten lassen sich dabei an jedem Ort im Hadoop-Stil speichern, die Algorithmen können in jeder relevanten Sprache codiert werden – inklusive Java, Scala oder JVM-orientierten Sprachen. Besonders attraktiv machen MLib dabei seine vorgefertigten Routinen für viele klassische ML- und Analytics-Algorithmen – etwa Entscheidungsbäume, Clustering oder Alternating Least Squares. Größere Berechnungen wie etwa eine Singular Value Decomposition von ausufernden Matrizen lassen sich beschleunigen, indem sie auf mehrere Maschinen verteilt werden. In vielen Fällen muss also wirklich wenig Code implementiert werden – den Rest erledigt Spark mit einer Pipeline, die auf iterative Prozesse ausgelegt ist. 5. Testcontainers Weite Teile des LLM-Ökosystems laufen in Docker-Containern. Mit der Open-Source-Bibliothek Testcontainers steht Entwicklern ein Tool zur Verfügung, um all diese Teile zu managen. Die quelloffene Bibliothek bietet einen besonders einfachen Weg, um LLMs in den Stack zu integrieren. Auch mit Blick auf Datenbank, Service Bus, Message Broker und andere gängige Komponenten, bietet Testcontainers diverse vordefinierte Module. 6. GraalPy Bei GraalPy handelt es sich um eine integrierbare Version von Python3, die so optimiert ist, dass Python-Code einfacher in der JVM ausgeführt werden kann. Das ermöglicht Java-Programmierern, sämtliche Python-Bibliotheken und -Tools nutzen. Dabei ist GraalPy Bestandteil der größeren GraalVM-Projektkollektion, die dafür entwickelt wurde, Stacks in virtuellen Maschinen bereitzustellen und zu warten. 7. Apache OpenNLP Sollen KI-Modelle von Text lernen, erfordert das umfassendes Preprocessing. Schließlich müssen die relevanten Texte von überflüssigen Typesetting-Kommandos befreit und in kleine Teile zerlegt werden, damit die Algorithmen die Bedeutung aus Mustern extrahieren können. An dieser Stelle kommt das Toolkit Apache OpenNLP ins Spiel, das mit diversen grundlegenden Algorithmen eine solide Machine-Learning-Grundlage schaffen kann. Die enthaltenen Werkzeuge sind für diverse Aufgaben geeignet, von der einfachen Segmentierung und Tokenisierung bis hin zu komplexeren Analysen. Extras wie Spracherkennung oder die Extraktion benannter Entitäten können bei Bedarf eingesetzt werden. In den JAR-Dateien von OpenNLP sind Modelle für mehr als 32 Sprachen enthalten – alternativ können Sie auch eigene Modelle trainieren. Das OpenNLP-Toolset ist gut in das Java-Ökosystem integriert: Projekte wie UIMA oder Solr nutzen es bereits, um die Muster in natürlichsprachlichen Texten zu entschlüsseln. Der Einstieg in OpenNLP fällt durch die Integration mit Maven und Gradle zudem besonders leicht. 8. Neo4j Wenn Ihre Anwendung einen RAG-Data-Store erfordert, kann die Graph-Datenbank Neo4j diesen Workload stemmen. Die Datenbank unterstützt bereits verschiedene Graph-Applikationen, etwa Betrugserkennung oder Social-Media-Management. Dank seiner soliden Java-Grundlage lassen sich sowohl RAG-Anwendungen als auch Graph-Datenbanken mit Java-Stacks in einem einzigen, einheitlichen Datenspeicher integrieren – dem sogenannten GraphRAG. 9. Stanford CoreNLP Eine weitere Sammlung von Routinen für natürliche Sprache stellt die Stanford NLP Group mit dem Toolset CoreNLP zur Verfügung. Es erledigt alles von der Segmentierung bis hin zur Normalisierung von Zahlen oder Daten. Entwickler schätzen CoreNLP vor allem wegen seiner höheren Genauigkeit und der vorgefertigten Optionen – etwa Modelle für Stimmungsanalysen oder um Koreferenzen zu erkennen. Mit den erweiterten Funktionen der Bibliothek lassen sich auch kompliziertere Parsing-Algorithmen und -Strategien einfacher implementieren. CoreNLP lässt sich leicht in Gradle oder Maven integrieren – Modelle für neun Sprachen sind sofort einsatzbereit. 10. Jllama Manchmal macht es Sinn, KI-Modelle in einer JVM auszuführen, die man direkt kontrollieren und überwachen kann. LLMs lokal auszuführen, kann diverse Benefits verwirklichen, beispielsweise geringere Hardware-Kosten oder ein höheres Datenschutzniveau. Jllama nutzt diverse populäre Open-Source-Modelle zu Inferenzzwecken. Der Code von Jllama nutzt einige der neuesten Java-Funktionen wie die Vector API und SIMD-fähige Erweiterungen. Workloads lassen sich darüber hinaus auf die zur Verfügung stehenden Ressourcen in einem Cluster verteilen. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!