Web Application Firewall (WAF): A Practical Guide

This guide covers the function, components and practical implementation of a Web Application Firewall (WAF). Definition of a Web Application Firewall A Web Application Firewall (WAF) is a security system for monitoring, filtering and blocking HTTP traffic to and from a web application. Unlike a traditional network firewall, which operates at the network and transport layers (Layer 3 and 4) of the OSI model and filters traffic primarily based on IP addresses and ports, a WAF operates at the application layer (Layer 7). ...

AsciiDoc & Kroki: a proven combination for clear software documentation

Software documentation today is more than just a mandatory task. It is part of the development process and must be as agile, versionable and automatable as source code itself. Classic office documents or proprietary wikis quickly reach their limits. Changes are hard to trace, collaboration is cumbersome and integration into CI/CD pipelines is hardly possible. AsciiDoc and Kroki address exactly these points. Both tools embody the Docs-as-Code approach, where documentation is treated like source code. AsciiDoc provides an expressive text-based language for technical documentation that can be managed in Git and processed automatically. Kroki complements this with the ability to embed diagrams directly in the document and render them automatically. This allows developers to use diagrams without needing to install additional tools. ...

Data sovereignty as the key to successful AI

Introduction: Why control over data determines AI success Artificial intelligence does not emerge in a vacuum, it relies on data as fuel. A neural network without a broad and high-quality data foundation can neither process language nor identify objects or derive meaningful recommendations. For companies, this results in a clear consequence: whoever loses control over their own data leaves the crude oil of the digital economy to external platforms. The concept of data sovereignty describes exactly this factual and legal dominion over one’s own data holdings and goes far beyond classical data protection. While data protection primarily aims to safeguard individuals’ fundamental rights by protecting their information, data sovereignty represents a strategic and economic question. It is about who owns data and who is allowed to use it in which way. This determines whether data becomes a valuable competitive advantage or flows unnoticed into the value chains of others. ...

Machine Learning Methods Mindmap

In machine learning there are many paradigms and methods from supervised and unsupervised learning through semi and self supervised to transfer learning and reinforcement learning. To keep an overview I have created a mindmap as a memory aid. On the first level are the learning types such as supervised learning, then the task areas, followed by the thematic subgroups and finally concrete methods. The visualization makes clear how broad the field is and facilitates the classification of the individual methods. It shows only a subset of the possibilities. Many other methods exist, I have focused here on the most frequently used and established in practice methods. ...

Part 2: Strategies for Better Results with RAG

In Part 1 we saw how crucial clean document preparation and thoughtful chunking are to the quality of Retrieval Augmented Generation. These basics form the starting point for a whole range of further optimizations that shape the entire process. In Part 2 we continue the series and focus on the next building blocks that build on this foundation and further develop the use of RAG in the enterprise. Embedding Domain-specific Embeddings Domain-specific embeddings mean that vector representations of texts are not generated with generally trained embedding models, but with models adapted to the technical language and content of a specific industry or company. General models are trained on very large, unspecific text corpora, including books, websites, Wikipedia and other sources. They understand everyday language and many standard concepts, but often miss the nuances in, for example, legal contracts, technical manuals or medical reports. Domain-specific embeddings are created either by fine-tuning an existing model with data from the respective domain or by training a custom model on a corpus of internal documents, guidelines, protocols and manuals. ...

Part 1: Strategies for Better Results with RAG

Retrieval Augmented Generation, or RAG for short, combines the power of language models with a company’s specific knowledge. The approach makes it possible to incorporate internal documents and data into responses in a targeted way without losing control over one’s own information. As a result, RAG is increasingly seen as a key technology for deploying language models securely and with data sovereignty. In practice, however, it quickly becomes apparent that simple vector search in combination with an LLM is not sufficient to achieve truly consistent and high-quality results. To fully exploit the potential of RAG, additional methods and optimizations are necessary. ...

Fine-Tuning of a Llama-3.x Model via LoRA

Introduction Large language models (LLMs) like Llama 3.x are trained in an elaborate pretraining process on massive amounts of text. This process typically takes place on specialized hardware such as GPUs and TPUs, which are optimized for parallel computation of large neural networks. After pretraining is complete, the model parameters are frozen and can no longer be directly changed during normal operation. This means that you cannot simply “correct” the model or reprogram it with simple interventions. Content such as facts about historical figures is not stored in individual, explicitly addressable neurons. Instead, such information is statistically distributed across the entirety of the model weights. This makes targeted modifications considerably more difficult, as there are no clearly identifiable storage locations for specific facts. ...

How an Ontology Improves the Answer Quality of LLMs

Introduction With the advent of large language models (LLMs) such as GPT, many people wonder how to provide these models with structured, precise information. Although LLMs are capable of answering questions very convincingly, many of their answers are based solely on statistical language probabilities, not on logical inference or explicit factual knowledge. This is where the use of an ontology offers systematic added value. In the following article, a fictional mission in the „Lord of the Rings“-Universe is used to demonstrate how an ontology can support an LLM in answering complex questions. ...

Unstructured.io Tutorial

Introduction Unstructured.io is an open-source framework for the structured preparation of unstructured documents such as PDFs, Word files, HTML pages, or emails. Its goal is to extract semantically usable content from these heterogeneous formats—such as headings, paragraphs, tables, or lists—and convert it into a unified, machine-readable format. The main use case lies in preparing text data for downstream AI processing, particularly for systems with retrieval-augmented generation (RAG). The typical application is document analysis, knowledge management, or preparing inputs for embedding models. Multiple processing steps are employed. These four steps form the core of the Unstructured.io pipeline and are executed in every regular use of the library. ...

Custom-Built RAG Pipeline

Introduction Retrieval Augmented Generation (RAG) is a technique in natural language processing (NLP) where a language model is combined with external knowledge to produce better and more precise answers. A language model like GPT is queried not only on its internal knowledge (training) but also receives context-specific information from an external knowledge source, e.g. a document collection or database. This article explains the structure and development of a RAG pipeline as part of a learning project. The goal was to develop a system that processes the content of a PDF document and enables an interactive chat to ask questions about this document. The application was born from the desire to practically understand the functionality and interplay of the individual components of a RAG application. ...

Linguistic Text Analysis: A Hybrid Pipeline with Stanza, DeepSeek and Transformers + Spacy Comparison

Introduction Stanza is an open source NLP library from Stanford University based on modern neural networks. It enables comprehensive linguistic analysis of texts in over 70 languages. Stanza’s goal is to provide a complete pipeline system that includes all common processing steps: tokenization, part-of-speech tagging (POS), lemmatization, syntactic analysis (dependencies and constituency) as well as Named Entity Recognition (NER). Stanza is suitable both for research purposes and for production applications, such as text classification, information extraction or preprocessing texts for retrieval-augmented generation (RAG). The models are pretrained but can also be fine-tuned. Internally, Stanza is based on the PyTorch framework. ...

Model Context Protocol (MCP)

In traditional software applications, workflows are strictly predefined. Functions are called in a specific order, inputs and outputs are clearly defined, and decisions are made through fixed rules that the developer has embedded in the code. The application itself makes no decisions; it merely follows a rigid sequence. If you want to integrate a language model like GPT into a system, you normally have to ensure that all required information is obtained and prepared in advance. For example: When current weather data is needed, you write a function that queries an API, processes the response, and passes the text to the model. The model only receives the final text snippet with the weather data. It does not know where the data comes from, which function provided it, or whether it is up to date. It also does not decide on its own when to call a specific function. It simply responds based on the provided context. ...

MCP-Controlled Workflow in n8n

This post describes the setup of an AI-driven agent system in n8n that, via the Model Context Protocol (MCP), identifies, selects, and executes external tools. Objective A user provides a natural language input, e.g.: “Give me the 10 largest cities in Germany, in descending order by area. Also search the internet to verify your result.” The agent recognizes the intent, checks available tools, decides on a tool selection, performs a web search if needed, and generates an appropriate response. The underlying control concept is based on MCP, a protocol for structured tool communication in agent-based systems. ...

RAGFlow Tutorial

RAGFlow is a framework for the structured implementation of Retrieval Augmented Generation (RAG) applications. It offers a modular architecture in which individual processing steps such as document import, text preparation, vectorization, indexing, and answer generation can be configured and executed separately. Models The platform supports different storage solutions for vector data and allows the connection of various LLMs. The list of supported LLMs can be found here. Column Meaning Provider Provider or source of the model. Can be a cloud service (e.g. OpenAI) or a model developer (e.g. Cohere, BAAI). Chat Supports conversational language models used for conversation or answer generation. Embedding Provides embedding models for converting texts into vectors for semantic search or classification. Rerank Models for reranking already found hits to display more relevant results at the top. Img2txt Models for image description: convert an image into a descriptive text. Speech2txt Models for converting spoken language into written text (ASR - Automatic Speech Recognition). TTS Text-to-Speech: converts written text into synthetic speech. No support yet in the table. OpenAI provides no support for the “Rerank” function. ...

Hugging Face CLI Practical Guide

This guide is based on the Hugging Face CLI from version 0.34.4 onwards. In this version the old syntax huggingface-cli is replaced by the new command hf. I created this cheat sheet to have a concise and clear reference to the Hugging Face CLI. Instead of having to search the official documentation, I can find the most important commands, descriptions and examples here at a glance. What is Hugging Face? Hugging Face is a platform for machine learning. At its core is the Hugging Face Hub, a public and private repository for AI models, datasets and applications (Spaces). Developers can share, download and reuse models there. In addition to the hub, Hugging Face also offers libraries such as transformers, datasets and diffusers that make it easier to use AI models in practice. The hub thus serves both as a marketplace and as an infrastructure for collaborative development. ...

ComfyUI Tutorial

Artificial intelligence has acquired the ability to create detailed and complex images from pure text descriptions. The technological foundation for this comprises deep AI models that function as digital engines for image generation. They translate written concepts into visual data and generate entirely new graphics on that basis. To precisely control the image generation, users need an appropriate user interface. This is where ComfyUI comes into play. ComfyUI is a flexible and powerful graphical interface designed for working with a variety of AI models. Unlike other programs that hide their processes behind simple menus, ComfyUI uses a modular node-based approach. Each step of image generation, from selecting the model to the finished image, is represented as an individual building block. The user visually connects these blocks and thereby constructs the entire workflow themselves. This method offers transparency and control over the entire generation process and enables users to steer the functioning of the underlying AI down to the smallest detail. ...

Analysis of unstructured documents with "Unstructured"

Within this test, the open-source framework unstructured is used to evaluate the extraction process of text from structured documents. The goal is to assess how suitable unstructured is for practical use in AI-based information systems – especially with respect to text extraction, semantic preparation (chunking/tokenization) and subsequent embedding generation for vector-based retrieval systems. Here is an example of a PDF file that was used for analysis with unstructured. pm-partnerschaft-stackitDownload To run the unstructured library, the official Docker image is used. It contains all required dependencies (e.g. Tesseract, Poppler, Python libraries) and allows immediate use without a local Python installation. ...

Digital Shopping List with React & Supabase

I started this project to learn React in a practical way – and not just follow tutorials. I wanted to implement a realistic frontend scenario that includes typical requirements like user authentication, data management, user interactions, and dynamic UI components. Instead of building my own backend, I consciously chose Supabase – a backend-as-a-service platform that is ideal for learning and prototyping purposes. This allowed me to fully focus on the React ecosystem, including routing, state, component structure, and responsive UI. ...

Emotional Music Evaluation with MindsDB and GPT-4 Based on Spotify Data

MindsDB is an open-source platform designed to enable machine learning, time series analysis, and the integration of large language models directly into traditional database workflows. The platform makes AI functionality accessible through simple SQL queries without requiring a separate machine learning infrastructure. In this post we introduce one of the many features of MindsDB: calling a large language model (GPT-4) via a predefined template that is dynamically populated with database values. The goal is to automatically assess the emotional impact of songs from an existing Spotify dataset. Only a portion of MindsDB’s full feature set is used to demonstrate the basic workflow and the interaction between the database and the LLM. ...

Real-time Facial Animation for Metahumans with Live Link Face in Unreal Engine 5

The transmission of facial expressions in real time to digital characters is an important component of modern animation and visualization processes. With Epic Games’ Live Link Face App and Unreal Engine 5, the facial movements of a real person can be precisely transferred to a digital Metahuman character. A prerequisite for this is an iPhone with an integrated TrueDepth camera that is connected via a local network to the computer running Unreal Engine. This tutorial shows how to set up the Live Link Face App and connect it to the engine, how to correctly prepare the Metahuman, and how to finally transmit the facial data live. The goal is to establish a working real-time connection in which the Metahuman moves synchronously with the facial expressions of the real person. ...