KI & Automatisierung / KI-Coding / Einstieg / Eigene KI-Anwendungen

Aus Dokument
Zur Navigation springen Zur Suche springen

Eigene KI-Anwendungen programmieren

Hinweis zur Software-Auswahl:

Diese Dokumentation priorisiert Open-Source-Software, die lokal unter Ubuntu läuft.
Bei kostenpflichtigen Services wird stets eine Open-Source-Alternative mit gleichem Funktionsumfang gegenübergestellt.
LLM-Modelle und APIs werden unabhängig vom Preis gelistet, da sie die Grundlage für viele Entwicklungen sind.


Legende

Symbol Bedeutung
🟩 Open Source – kostenlos, Ubuntu-kompatibel
💰 Kostenpflichtig
🤖 LLM-Modell / API – bleibt immer gelistet
🐧 Linux / Ubuntu nativ
🌐 Nur Web-Browser



Lernpfad-Übersicht


Inhaltsverzeichnis



🟢 Phase 1 – Setup & API-Grundlagen

Was lerne ich hier?

Die Grundlagen der API-Kommunikation mit LLMs, das Einrichten von Python unter Ubuntu und die ersten Abfragen an lokale sowie Cloud-Modelle.
Voraussetzungen: Python-Grundkenntnisse.


1.1 Konzept: Wie kommunizieren Anwendungen mit KI?

Konzept: Client-Server-Prinzip bei LLMs

Deine eigene Anwendung fungiert als Client, der Anfragen (Prompts) an den LLM-Server (lokal oder in der Cloud) schickt. Die Antwort kommt strukturiert zurück (meist als JSON).

Konzept: Statuslose Kommunikation (Stateless)

LLM-APIs haben standardmäßig kein Gedächtnis. Jede Anfrage ist isoliert. Um einen Chatverlauf zu ermöglichen, muss deine Anwendung die gesamte Historie mitsenden:

[
  {"role": "user", "content": "Mein Name ist Thorsten."},
  {"role": "assistant", "content": "Hallo Thorsten!"},
  {"role": "user", "content": "Wie heiße ich?"}
]

Einstiegs-Werkzeuge (APIs & Runner):

Software Typ Funktion Ubuntu Link
🟩 🤖 Ollama Lokaler Runner Lokale API-Schnittstelle (OpenAI-kompatibel) 🐧 Ja ollama.com
🟩 Python 3 Programmiersprache Standard für KI-Entwicklung 🐧 Ja python.org
🤖 OpenAI API Cloud API Marktführer für LLM-APIs 🌐 Web platform.openai.com



1.2 Thema: Entwicklungsumgebung unter Ubuntu einrichten

Konzept: Virtual Environments (Venvs)

Python-Bibliotheken sollten niemals global installiert werden. Virtuelle Umgebungen isolieren die Projektabhängigkeiten voneinander.

# Erstellen und Aktivieren eines Venv unter Ubuntu
sudo apt install python3-venv python3-pip
python3 -m venv .venv
source .venv/bin/activate

Software – Open Source zuerst:

Software Typ Funktion Ubuntu Link
🟩 python3-venv Tool Virtuelle Umgebungen erstellen 🐧 Ja python.org
🟩 VSCodium Editor Open-Source-Editor für Python 🐧 Ja vscodium.com
🟩 Jupyter Lab Interactive Dev Interaktives Testen von Code-Abschnitten 🐧 Ja jupyter.org

Vergleich: Open Source vs. Kommerziell

Funktion Open Source 🟩 Kommerziell 💰
Code-Editor VSCodium, Neovim VS Code (Microsoft), PyCharm
Virtualization virtualenv, venv Anaconda / Miniconda (kommerzielle Lizenzpflichten)



1.3 Thema: Text-Generierung mit APIs (Cloud & Lokal)

Konzept: Das OpenAI API-Format

Das Format von OpenAI hat sich als Industriestandard etabliert. Viele Open-Source-Tools (wie Ollama) implementieren dieselbe Schnittstellen-Struktur.

# API-Abruf mit Python
import openai

client = openai.OpenAI(
    base_url="http://localhost:11434/v1", # Für Ollama lokal
    api_key="ollama" # Beliebiger String für lokal
)

response = client.chat.completions.create(
    model="llama3",
    messages=[{"role": "user", "content": "Was ist Python?"}]
)
print(response.choices[0].message.content)

Software – Open Source zuerst:

Software Typ Funktion Ubuntu Link
🟩 Ollama API API-Server Stellt OpenAI-kompatible lokale Endpunkte bereit 🐧 Ja github.com/ollama
🟩 LiteLLM API-Proxy Vereinheitlicht alle LLM-APIs in ein Format 🐧 Ja github.com/BerriAI

Vergleich: Open Source vs. Kommerziell

Kriterium Lokale API (Ollama + Llama) 🟩 Cloud API (OpenAI, Claude) 💰
Kosten ✅ Kostenlos (nutzt eigene Hardware) 💰 Abrechnung nach Tokens
Datenschutz ✅ Code & Daten verlassen nie den Rechner ❌ Daten fließen an US-Server
Performance 🟡 Abhängig von Grafikkarte (GPU) ✅ Sehr schnell



1.4 Thema: Lokale Modelle nutzen mit Hugging Face

Konzept: Pipelines und Tokenizer

Bevor ein LLM Text verarbeitet, muss der Text in Zahlen (Tokens) zerlegt werden. Die Library transformers abstrahiert diesen Prozess in Pipelines:

from transformers import pipeline

generator = pipeline("text-generation", model="gpt2")
result = generator("Die Zukunft der künstlichen Intelligenz ist", max_length=30)
print(result[0]['generated_text'])

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 Transformers (Hugging Face) Python-Lib Pytorch/TensorFlow-Schnittstelle für Modelle 🐧 Ja github.com/huggingface
🟩 PyTorch Deep Learning Mathematisches Backend für KI-Modelle 🐧 Ja pytorch.org



🟡 Phase 2 – RAG & Vektordatenbanken

Was lerne ich hier?

Wie du deine KI mit eigenen Dokumenten (PDFs, Markdown) verknüpfst, ohne das Modell neu trainieren zu müssen.
Voraussetzungen: Phase 1 abgeschlossen.


2.1 Konzept: RAG (Retrieval-Augmented Generation)

Warum RAG statt Fine-Tuning?

  • RAG erzeugt keine Halluzinationen bei Quellenangaben
  • RAG kann Dokumente in Echtzeit aktualisieren (einfach in Vektor-DB tauschen)
  • RAG ist wesentlich günstiger und braucht keine teure GPU fürs Training



2.2 Thema: Was sind Embeddings?

Konzept: Semantischer Vektorraum

Ein Embedding konvertiert Text (Wörter, Absätze) in eine Liste von Zahlen (Vektor). Texte mit ähnlicher Bedeutung liegen im Vektorraum nah beieinander.

"Hund"  -> [0.12, -0.45, 0.89]
"Welpe" -> [0.11, -0.43, 0.88]  (nah beieinander)
"Auto"  -> [-0.78, 0.05, -0.12] (weit entfernt)

Software – Open Source zuerst:

Software Typ Funktion Ubuntu Link
🟩 Sentence-Transformers Python-Lib Lokale Embeddings hocheffizient erzeugen 🐧 Ja sbert.net
🟩 Ollama (Embedding Models) Modell-Server Generiert Embeddings über API (z.B. nomic-embed-text) 🐧 Ja ollama.com

Vergleich: Open Source vs. Kommerziell

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Text-Embeddings Sentence-Transformers, Ollama OpenAI text-embedding-3



2.3 Thema: Vektordatenbanken einrichten

Konzept: Ähnlichkeitssuche (Cosine Similarity)

Vektordatenbanken sind darauf spezialisiert, Vektoren zu speichern und blitzschnell den ähnlichsten Vektor zu einer Suchanfrage zu finden.

Software – Open Source zuerst:

Software Typ Funktion Ubuntu Link
🟩 Chroma Vektor-DB Einfache, leichtgewichtige In-Memory DB 🐧 Ja trychroma.com
🟩 pgvector (PostgreSQL) Vektor-DB Vektorsuche direkt in PostgreSQL 🐧 Ja github.com/pgvector
🟩 Qdrant Vektor-DB Hochperformante Suchmaschine (Rust-basiert) 🐧 Ja qdrant.tech

Vergleich: Open Source vs. Kommerziell

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Vektorspeicherung Qdrant, Chroma, pgvector Pinecone, Weaviate Cloud



2.4 Thema: RAG-Pipeline mit LangChain & LlamaIndex

Konzept: Orchestrierung von KI-Komponenten

Frameworks wie LangChain verknüpfen Lader (PDF/CSV), Textsplitter, Embedding-Modelle und LLMs zu einer einzigen Kette (Chain).

# Minimales LlamaIndex-RAG-Beispiel
from llama_index.core import SimpleDirectoryReader, VectorStoreIndex

# 1. Dokumente laden
documents = SimpleDirectoryReader("data").load_data()
# 2. Index erstellen (Embeddings automatisch)
index = VectorStoreIndex.from_documents(documents)
# 3. Abfragen
query_engine = index.as_query_engine()
response = query_engine.query("Welche Urlaubsregelungen gelten?")
print(response)

Software – Open Source zuerst:

Software Typ Funktion Ubuntu Link
🟩 LangChain Framework Das flexibelste Orchestrierungs-Framework 🐧 Ja langchain.com
🟩 LlamaIndex Framework Spezialisiert auf Datenverbindung und RAG 🐧 Ja llamaindex.ai



🔴 Phase 3 – Web-UIs, Agenten & Deployment

Was lerne ich hier?

Wie du deine Skripte in interaktive Web-Apps verwandelst, selbstständig agierende Agenten programmierst und alles stabil deployst.
Voraussetzungen: RAG-Grundlagen verstanden.


3.1 Konzept: Autonome KI-Agenten programmieren

Konzept: Tool-Use / Function Calling

Moderne LLMs können entscheiden, Funktionen in deinem Python-Code auszuführen, wenn sie Informationen benötigen (z. B. Wetter abfragen oder Taschenrechner benutzen).

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 CrewAI Framework Kollaboration mehrerer Agenten mit Rollen 🐧 Ja crewai.com
🟩 Microsoft AutoGen Framework Eventgesteuertes Multi-Agenten-Framework 🐧 Ja microsoft.github.io/autogen



3.2 Thema: Web-Interfaces für KI-Apps (Streamlit & Gradio)

Konzept: Rapid Prototyping

Statt HTML, CSS und JS aufzubauen, schreiben Streamlit und Gradio das Frontend direkt aus deinem Python-Code heraus.

# Streamlit App
import streamlit as st

st.title("Mein KI-Chat")
user_input = st.text_input("Frag mich was:")
if user_input:
    st.write(f"KI sagt: Du hast '{user_input}' gefragt.")

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 Streamlit Frontend Ideal für datenintensive KI-Dashboard-Apps 🐧 Ja streamlit.io
🟩 Gradio Frontend Standard für ML-Modell-Demos (Hugging Face) 🐧 Ja gradio.app
🟩 Chainlit Frontend Maßgeschneidert für Chatbot-UIs (wie ChatGPT) 🐧 Ja github.com/Chainlit



3.3 Thema: Fine-Tuning und LoRA

Konzept: Wann macht Fine-Tuning Sinn?

  • Du brauchst einen spezifischen Tonfall oder Format
  • Das Modell soll eine proprietäre Syntax lernen
  • Extrem geringe Latenz nötig (kleines Modell spezialisieren)

Konzept: LoRA (Low-Rank Adaptation)

Statt alle Milliarden Gewichte des Modells zu ändern, trainiert LoRA nur eine winzige Zusatzmatrix. Das spart 90% der Rechenleistung.

Software – alle Open Source:

Software Typ Funktion Ubuntu Link
🟩 Unsloth Training-Lib Extrem schnelles, speichereffizientes Feintunen 🐧 Ja github.com/unslothai
🟩 TRL (Transformers Reinforcement Learning) Lib Feintuning mit SFT und DPO 🐧 Ja github.com/huggingface/trl



3.4 Thema: Deployment, Docker & Betrieb

Konzept: Containerisierung von KI-Apps

Durch Docker verpackst du dein Python-Skript, das Venv und alle C-Bibliotheken (wie CUDA) in ein portables Paket.

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["streamlit", "run", "app.py"]

Software – Open Source zuerst:

Software Typ Funktion Ubuntu Link
🟩 Docker Container Isolation und Auslieferung der App 🐧 Ja docker.com
🟩 Coolify Self-hosted PaaS Heroku-Alternative auf eigenem Ubuntu-Server 🐧 Ja coolify.io

Vergleich: Open Source vs. Kommerziell

Hosting-Ziel Open Source 🟩 (Ubuntu / Self-hosted) Kommerziell 💰
App-Hosting Coolify + eigener Server Heroku, Vercel, Render
Modell-Hosting Ollama API, vLLM Hugging Face Endpoints, Replicate



📋 Praxisprojekte

🟢 Einsteiger: Lokaler QA-Chatbot über Textdateien

Software (alle Open Source): Python · Ollama (Modell: Llama3) · LlamaIndex



🟡 Fortgeschritten: PDF-Chatbot mit Web-UI (RAG)

Software (alle Open Source): Streamlit · LangChain · Chroma · Sentence-Transformers · Ollama



🔴 Experte: Multi-Agenten-Forschungsteam

Ein Agent sucht Informationen im Web, der andere schreibt eine Zusammenfassung, der dritte korrigiert den Stil.

Software (alle Open Source): CrewAI · Python · Ollama (lokales Modell) / LiteLLM



📦 Vollständige Softwareübersicht & Vergleich

KI-Runtimes & API-Server

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Lokaler API-Server Ollama 🐧, llama.cpp 🐧
Server-Schnittstelle vLLM 🐧, TGI 🐧 RunPod, Replicate
API-Orchestrierung LiteLLM 🐧 LangSmith (Monetarisierung)

Python-Umgebung & Editoren

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Code-Editor VSCodium 🐧, JupyterLab 🐧 PyCharm, VS Code
Paketverwaltung pip 🐧, poetry 🐧 Anaconda Enterprise

ML-Libraries & Frameworks

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Modell-Zugriff Transformers 🐧, PyTorch 🐧
App-Orchestrierung LangChain 🐧, LlamaIndex 🐧

Vektordatenbanken

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
In-Memory DB Chroma 🐧
SQL-Integration PostgreSQL + pgvector 🐧 Supabase Cloud
Standalone DB Qdrant 🐧, Milvus 🐧 Pinecone

Web-Frontends für KI

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
UI-Framework Streamlit 🐧, Gradio 🐧, Chainlit 🐧 Taipy Enterprise

Agenten-Frameworks

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Multi-Agenten CrewAI 🐧, AutoGen 🐧, LangGraph 🐧

Fine-Tuning

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
Training-Lib Unsloth 🐧, TRL 🐧 Predibase, EntryPoint

Deployment & Hosting

Funktion Open Source 🟩 (Ubuntu) Kommerziell 💰
App-Platform Coolify 🐧, Caprover 🐧 Heroku, Render
Container Docker 🐧, Podman 🐧



Weiterführende Ressourcen



Letzte Aktualisierung: Juli 2026