Deprecated: Creation of dynamic property Pusher\Log\Logger::$file is deprecated in /html/wordpress/wp-content/plugins/wppusher/Pusher/Log/Logger.php on line 18

Deprecated: Creation of dynamic property Pusher\Log\Logger::$file is deprecated in /html/wordpress/wp-content/plugins/wppusher/Pusher/Log/Logger.php on line 18

Deprecated: Creation of dynamic property Pusher\Dashboard::$pusher is deprecated in /html/wordpress/wp-content/plugins/wppusher/Pusher/Dashboard.php on line 68

Deprecated: Creation of dynamic property Pusher\Log\Logger::$file is deprecated in /html/wordpress/wp-content/plugins/wppusher/Pusher/Log/Logger.php on line 18

Deprecated: Creation of dynamic property Pusher\Log\Logger::$file is deprecated in /html/wordpress/wp-content/plugins/wppusher/Pusher/Log/Logger.php on line 18
Machine Learning / AI Archives - j&s-soft

Category: Machine Learning / AI

AI bezeichnet Künstliche Intelligenz und die damit verbundenen  Möglichkeiten. Machine Learning ist ein Teilgebiet der AI, der Artificial Intelligence bzw. Künstlichen Intelligenz.

  • Mit AI automatisiert: Dokumente nicht mehr manuell einpflegen

    Mit AI automatisiert: Dokumente nicht mehr manuell einpflegen

    AI ist nicht gleich AI. Hinter jeder erfolgreichen KI-Lösung steckt die passende Technologie – individuell abgestimmt auf den konkreten Anwendungsfall. Denn während die einen bei “AI” an Chatbots denken, nutzen andere künstliche Intelligenz zur Automatisierung ganzer Geschäftsprozesse. AI-Projekte müssen dieser Logik folgen: Problem verstehen, Technologie präzise auswählen, echte Effizienz schaffen.
    Eines unserer aktuellen Kundenprojekte zeigt, wie intelligente Informationsgewinnung mit einem vision-fähigen Large Language Model (LLM) eine zuvor mühsame und fehleranfällige Aufgabe nicht nur automatisiert, sondern grundlegend verbessert hat.

    Ausgangslage: Zu viele Dokumente, zu wenig Struktur

    Unser Kunde – ein deutschlandweit tätiges Unternehmen mit über 5.000 Mitarbeitenden – stand regelmäßig vor einer zeitintensiven Herausforderung: Monatlich mussten mehrere hundert Angebotsdokumente unterschiedlichster Art in das SAP-System übernommen werden. Die Formate waren so vielfältig wie die Inhalte – PDFs, Scans, Tabellen, ergänzte Notizen oder handschriftliche Anmerkungen. Eine automatisierte Übernahme war bisher unmöglich. Stattdessen mussten die Dokumente manuell geprüft, relevante Informationen identifiziert und händisch ins System übertragen werden.
    Dieser manuelle Prozess war nicht nur fehleranfällig, sondern vor allem ein enormer Zeitfresser. Qualifiziertes Personal war mit dieser Tätigkeit beschäftigt – und das in einem Umfeld, das auf Effizienz angewiesen ist.

    Die Antwort: Intelligente Informationsgewinnung mit einem LLM

    Um die Prozesse nachhaltig zu verbessern, war klar: Eine einfache OCR oder regelbasierte Erkennung reicht nicht aus. Die Dokumente waren zu unterschiedlich, die Anforderungen zu komplex. Stattdessen entschieden wir uns für eine moderne Form der AI-basierten Informationsverarbeitung: den Einsatz eines vision-fähigen Large Language Models (LLM).
    Dieses Modell ist in der Lage, sowohl Texte als auch visuelle Strukturen – wie Tabellen, Logos, Formatierungen oder handschriftliche Hinweise – zu erfassen und zu interpretieren. So können selbst komplexe Angebotsdokumente automatisiert ausgewertet und in strukturierte, maschinenlesbare Formate überführt werden.

    Was ist ein LLM – und warum war es in diesem Fall ideal?

    Ein Large Language Model ist ein KI-Modell, das durch das Training auf riesigen Textmengen in der Lage ist, Sprache zu verstehen, Zusammenhänge zu erkennen und präzise Inhalte zu extrahieren oder neu zu formulieren.
    Besonders leistungsfähig wird das Ganze, wenn ein LLM zusätzlich multimodal arbeitet – also nicht nur mit Text, sondern auch mit Bildern, Tabellen und Layouts umgehen kann.
    In unserem Projekt war genau das entscheidend: Nur durch die Kombination aus Texterkennung und visuellem Verständnis konnte das Modell zuverlässig aus unterschiedlichsten Angebotsdokumenten genau die Informationen herausfiltern, die für den SAP-Prozess relevant sind.

    Die Umsetzung: SAP-Integration

    Wir entwickelten für das Projekt eine schlanke, externe Middleware-Lösung, die direkt mit dem bestehenden SAP-System kommuniziert – ohne dieses zu verändern. Angebotsdokumente werden automatisiert aus SAP an die Middleware übergeben. Dort übernimmt das angebundene LLM die Analyse und wandelt die Inhalte in ein vordefiniertes, strukturiertes Datenformat um. Im Anschluss werden die Daten automatisiert zurück in das SAP-System übermittelt und direkt in die relevanten Tabellen integriert.
    Das Besondere: Die Architektur ist modular aufgebaut. So kann das verwendete LLM jederzeit flexibel ausgetauscht werden – zum Beispiel gegen ein kundeneigenes Modell oder eine neue Version eines Anbieters.

    Das Ergebnis: Weniger Aufwand, mehr Verlässlichkeit

    Die Einführung dieser Lösung hat im Unternehmen sofort Wirkung gezeigt. Der manuelle Aufwand zur Bearbeitung von Angebotsdokumenten wurde drastisch reduziert – auf ein Minimum. Bei durchschnittlich 500 Dokumenten pro Monat entspricht das der Einsparung von rund einer vollen Personenwoche pro Woche. Die entlasteten Mitarbeitenden können sich nun wieder auf wertschöpfende Tätigkeiten konzentrieren.
    Zudem wurde die Fehleranfälligkeit bei der Datenerfassung deutlich reduziert. Das System liefert strukturierte, validierte Daten mit hoher Genauigkeit. Besonders geschätzt wird auch die einfache Anbindung und der Umstand, dass keine Anpassungen im SAP-System selbst notwendig waren. Die Lösung arbeitet zuverlässig im Hintergrund – wartungsarm, skalierbar und zukunftssicher.

    Fazit: Die Identifikation der passenden AI-Lösung zählt

    Dieses Projekt zeigt deutlich: AI bringt dann echten Nutzen, wenn Technologie und Problemstellung zusammenpassen. Nicht jedes AI-Projekt braucht ein Sprachmodell – aber in diesem Fall war ein vision-fähiges LLM genau das richtige Werkzeug.
    Unser AI-Team weiß, wie man solche Projekte aufsetzt, richtig dimensioniert und sicher in bestehende IT-Landschaften integriert. Für jeden Anwendungsfall bieten wir passende Workshops, in denen wir gemeinsam mit unseren Kunden die optimale Lösung identifizieren und direkt erste Prototypen entwickeln.

    Unsere AI-Workshops finden Sie hier.

    Zur Case Study dieses Kundenprojekts geht es hier

  • Individuelle KI in SAP-Systemen

    Individuelle KI in SAP-Systemen

    Es muss nicht immer die SAP-eigene Lösung wie Joule sein. Diese beiden Anwendungsszenarien zeigen, wie Sie externe, individuelle KI-Lösungen in Ihr SAP-System integrieren können, um Geschäftsprozesse zu automatisieren und zu verbessern:

    Effiziente Automatisierung Ihres Vertriebs- und Abrechnungsprozesses

    In vielen Unternehmen erfordert der Vertriebsprozess einen hohen manuellen Aufwand – von der Lead-Erfassung bis zur Rechnungsstellung. Fehlerquellen, lange Bearbeitungszeiten und fehlende Prozessautomatisierung führen oft zu Verzögerungen und ineffizienten Abläufen.
    Mit einer KI-basierten Automatisierung können Sie die Verarbeitung von Angebots- und Rechnungsdaten optimieren. Die KI analysiert Leads, prognostiziert Kundenverhalten und passt Preisstrategien dynamisch an. Zudem kann sie den Rechnungserstellungsprozess beschleunigen, indem sie Rechnungen automatisch validiert, mit Bestellungen abgleicht und bei Verzögerungen eine intelligente Mahnstrategie initiiert.
    Durch die Integration einer KI-Lösung in Ihr SAP-System reduzieren Sie den manuellen Aufwand erheblich. Rechnungen werden schneller verarbeitet, Inkonsistenzen minimiert und die Zahlungseingangsquote verbessert. Sie profitieren von effizienteren Workflows und einer höheren Kundenzufriedenheit.

    Intelligente Automatisierung Ihrer HR-Prozesse und Weiterbildung

    Ihre Personalabteilung steht vor der Herausforderung, eine Vielzahl administrativer Aufgaben effizient zu verwalten – von der Zeiterfassung bis hin zur individuellen Förderung der Mitarbeiter. Manuelle Bearbeitungsschritte können zu Verzögerungen und inkonsistenten Prozessen führen.
    Eine KI-gestützte Automatisierung kann Ihre Zeiterfassung und Abwesenheitsverwaltung optimieren, indem Anfragen automatisch bearbeitet, Arbeitszeiten intelligent analysiert und genehmigte Prozesse in Echtzeit synchronisiert werden. Zusätzlich kann KI das Weiterbildungsmanagement verbessern, indem sie auf Basis von Mitarbeiterprofilen personalisierte Lernempfehlungen gibt und Weiterbildungsmaßnahmen automatisch zuordnet.
    Durch die Automatisierung administrativer HR-Prozesse reduzieren Sie den Zeitaufwand Ihrer Personalabteilung erheblich. Gleichzeitig profitieren Ihre Mitarbeiter von einer individuell zugeschnittenen Weiterbildung, die langfristig ihre Qualifikationen verbessert und die Mitarbeiterbindung stärkt.

    Fazit: Die Integration von KI-Technologien in Ihr SAP-System eröffnet Ihnen neue Möglichkeiten, Prozesse effizienter zu gestalten. Ob im Vertriebsprozess oder im HR-Management – externe KI-Lösungen bieten Ihnen flexible und leistungsstarke Alternativen, um Arbeitsabläufe zu automatisieren und die Unternehmensleistung zu steigern. Entscheidend ist die Wahl einer Lösung, die optimal an Ihre spezifischen Anforderungen angepasst ist. Sprechen Sie mit unserem AI-Team und lassen Sie sich beraten.

  • ChatGPT: AI-enhanced ABAP Learning and Development

    ChatGPT: AI-enhanced ABAP Learning and Development

    Introduction

    After the launch of the public beta of the ChatGPT chatbot in November 2022, the news spread that this AI was not only convincing and competent as an assistant, but could also write meaningful working code in several programming languages. Some people have gone so far as to say that this AI marks the beginning of the end of programming as we know it today.

    As an ABAP beginner, I considered ChatGPT as a learning assistant. By simplifying the search for SAP-specific questions and providing meaningful examples, it might be able to help me on my learning journey. To find out if this was possible, I asked the bot about its APAP programming capabilities. The ChatGPT release I used was dated 9 January 2023.

    That was a humble answer. Now I wanted to put its ability to the test.

    Hello ABAP-World!

    As is tradition, I began with a “Hello World” program, or in this case, “Hello Person”.

    This looked promising. The AI gave the code and then explained how it worked and how to use it on an SAP system. The syntax highlighting is spotty, but this would not be a problem after copying the code into a real ABAP editor. It even paid attention to naming conventions such as all keywords being capitalised, prefixes for variable names and the z-namespace.

    A sharp-eyed ABAP programmer might notice that this code has invalid syntax. The “TO OUTPUT” statement makes no sense at this point and will produce a syntax error. I went ahead and told the AI the error message given by the editor.

    The AI was very polite and corrected its mistake. Now it was a working ABAP report.

    First Programming Steps: Fibonacci

    The first exercise was very simple, but the AI still had a rough start with the syntax. I then asked it to calculate the Fibonacci series to see how competent it is with more sophisticated problems.

    Again, the chatbot seems to have an idea of how the program should work, but could not produce a report with valid syntax. The loop statement is incorrect. After this was pointed out, the AI tried to replace it with a do statement, which also has the wrong syntax.

    Even after telling the AI multiple times where the syntax error was, it was unable to create a working program. This was very disappointing. Also, the naming convention for variables is missing here.

    (Before writing this blog, I tried this exercise on an older version of ChatGPT from 15 December and it was able to generate a working report. The ABAP programming capabilities seem to fluctuate from version to version instead of improving each time.)

    Knowledge Test: HCM and Infotypes

    Human Capital Management (HCM) is a major cornerstone of SAP and ABAP. As a beginner, it can be difficult to understand all the things you need to know to manage administrative tasks, for example. I wanted to see if ChatGPT knows about infotypes and the corresponding structures and tables:

    The AI seemed confident in its answer, but infotype 0001 is not for storing personal data, but for organisational assignment. Nevertheless, it is possible to get the name from it.

    The AI continued to give incorrect answers with confidence. This is not helpful and would confuse beginners rather than educate or inform them.

    I tried other HCM related questions but most answers were flawed with many wrong facts.

    More modern Paradigms: Object Orientation and ADT

    After the AI struggled with the last task, I was not sure if it can cope with some of the newer features of ABAP, but I wanted to see if it knows how to write ADT-specific, object-oriented code.

    Unfortunately, this code does not solve the problem. The bot wrote that this class should be instantiated and the run method should be called in a report. The AI seems to know how a class is structured in ABAP, but lacks knowledge of ADT, its functions, classes and interfaces. I tried to specify the task more precisely:

    It tried to make the changes I requested, but at the same time introduced new mistakes. It also insisted that the main method had to be called from a report in order to use this class. At this point, it would have made more sense to just write the code myself, so I moved on to something else.

    Commenting Code

    The AI seems to still need some improvement in its programming capabilities,but I thought it might be able to help a beginner to understand the code he or she might be confronted with. To test this, I wrote a simple report that uses a circle class to calculate the area and circumference for a given radius.

    The AI misunderstood my request and just explained the given code snippet. The explanations are good, so I asked it to add them as comments within the code. This resulted in the AI copying the full texts as comments, but I expected them to be more compact and readable:

    The result was the typical redundant comments that a senior developer would probably frown upon, but which might be helpful to a novice faced with a new language element. I think this is a valid use for the chatbot.

    Creating practice Excercises

    Sometimes I get tired of the sample exercises from the SAP Learning Journeys and try to come up with more interesting tasks to try to get a better understanding of ABAP and SAP systems. This can be difficult when you don’t really know how it all works and it consists of trial and error exercise definitions. Sometimes this can get a bit frustrating, so I thought maybe the chatbot could give me some interesting exercises.

    This all makes sense, but there are no concrete tasks.

    The MARA table is not maintained on every system and the ALV function module is, to my knowledge, out of date, but for a complete beginner this could be a useful exercise. After completing the task, a sample solution would be helpful.

    As expected, the AI was unable to generate working ABAP code. The function call is wrong and will result in a runtime error. I think we should just let ChatGPT create the task description and evaluate the solutions ourselves.

    Virtual ABAP Runtime

    I was surprised by ChatGPT’s ability to pretend to be a Linux command line (https://www.engraved.blog/building-a-virtual-machine-inside/). Not all ABAP beginners have a working ABAP environment to play and test with. Perhaps this could be an alternative to a trial cloud environment. I have tried to create a virtual ABAP environment based on the Linux terminal example.

    This was a very disappointing answer, but I have heard that you can trick the bot into answering you by hiding your request in a what-if question.

    This seemed to work, so I tried a more complex program. I used a modified version of the sample report from a future blog post on this website, which is a work in progress (link to the post here when available), to calculate the prime factors of a given number:

    It worked, but the output was wrong (the correct numbers are 3,3,7,13,23,41,61). The chatbot warned about its inability to run ABAP code, so this was no surprise. A virtual ABAP environment in ChatGPT seems to be impossible for now.

    Conclusion

    As it turns out, ChatGPT is not yet the almighty tool that will disrupt the programming industry, at least in the ABAP space. Its capabilities in other programming languages do not translate to ABAP, probably because the reach of ABAP on the Internet is not even close to that of more popular languages. However, this does not mean that it can never achieve this goal. The potential for language models to take care of mundane and repetitive programming tasks can be seen. Sooner rather than later, a new language model specifically trained for this purpose will emerge. Then programmers will need to shift their attention from repetitive coding to more conceptual or design work.

    For ABAP beginners like me, the assumption that ChatGPT could be a valuable help in its current state seems far-fetched. The chatbot can give example exercises and comment code, but it is tedious to get it to do this correctly. I still believe that the chatbot will get better at this in the future and change the way we learn programming. Until then, we ABAP beginners should stick to our books, learning journeys and asking seniors for a meaningful learning experience.

    Image was synthesized by the AI Stable Diffusion

  • DIY with AI: Build a face recognition for yourself with Pytorch

    DIY with AI: Build a face recognition for yourself with Pytorch

    So, you’ve finished MNIST, are ready to conquer the world and you ask yourself “What’s next?”. I say, let’s build a crappy face recognition app for your very own countenance! This project will give you a sobering perspective, providing instructive insights into the following key aspects of computer vision and deep learning:

    1. Data labelling: To kick things off, you will experience the pain and suffering involved in manually preparing data and drawing hundreds of bounding boxes around your own face. You’re going to use the popular program Labelme for that.
    2. Data augmentation: Bravo! The dataset you’ve just carefully created is so pointless that it couldn’t even be used to learn how to distinguish faces from pieces of toast. To rectify that, we’re going to use data augmentation with the Python library Albumentations to increase the volume of data we have available.
    3. Transfer learning: Finally, to demonstrate the simplicity, elegance, and power of deep learning we’ll fit a simple neural network with sigmoid activation to our training data. Just kidding, lol. We’re going to use a convoluted contraption with a gazillion layers and an almost infinite amount of hyperparameters, which the learned scholars determined by a sophisticated, very advanced process of trial and error. Of course, that thing has to be pretrained, because deep learning sucks so much that you literally can’t do anything from scratch. You’re going to fine-tune a VGG16.
    4. Pytorch: To make things even more opaque, we’re not just going to do some NumPy linear algebra to implement our deep learning routines. Instead, we’re going to use Pytorch, the deep learning masochist’s favorite tensor computation library that abstracts away just the right amount of detail to guarantee that you have no idea to what device which part of your data is going when and what it’s doing there. It achieves this feat by using interfaces that selectively hide or expose hidden states, apparently at random. Plus, its math interface is congruent with that of NumPy, but with subtle differences sprinkled everywhere to make sure that nothing ever just works as intended first try. You’re going to love this!
    5. Deployment: Piecing all of this together you’re going to load your trained model from memory to have it predict bounding boxes for a live camera feed of yourself. You will be disappointed by the mediocrity of the results and that lingering thought in the back of your mind, that this project was an unmitigated waste of your time, will manifest into painful certainty. Congratulations!

    Can’t wait to start? Jump right into the project. We’ve prepared a Jupyter notebook just for you!