• Neu
Gollnick | Generative KI mit Python | E-Book | sack.de
E-Book

E-Book, Deutsch, 447 Seiten

Reihe: Rheinwerk Computing

Gollnick Generative KI mit Python

RAG-Anwendungen und Agentensysteme mit Vektordatenbanken und LLMs
1. Auflage 2025
ISBN: 978-3-367-10731-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

RAG-Anwendungen und Agentensysteme mit Vektordatenbanken und LLMs

E-Book, Deutsch, 447 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10731-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Ihr Guide für die eigene RAG-Anwendung! Freuen Sie sich auf einen umfassenden Einstieg in die Welt der Generativen KI mit Python. Dieses Buch deckt Schlüsselkonzepte wie Large Language Models (LLMs), LangChain, Vektor-Datenbanken und Retrieval-Augmented-Generation (RAG) ab. Sie lernen die Grundlagen des Prompt Engineering kennen und erfahren, wie Sie Agentensysteme entwickeln und deployen.
Mit praxisnahen Beispielen und klaren Erklärungen tauchen Sie tief in die Materie ein - ideal für alle, die Generative KI-Lösungen mit Python umsetzen wollen.

Aus dem Inhalt:

  • Große Sprachmodelle - LLMs und LMMs
  • Prompt Engineering
  • Sprachanalyse (NLP)
  • Vektordatenbanken
  • LangChain
  • HuggingFace
  • crewAI
  • AutoGen
  • OpenAI- und andere APIs
  • Agentensysteme
  • Deployment


Bert Gollnick ist Senior Data Scientist mit Schwerpunkt auf künstlicher Intelligenz. Er unterrichtet Kurse zu Data Science und Machine Learning inklusive generativer KI und natürlicher Sprachverarbeitung. Bert hat an der Technischen Universität Berlin Luft- und Raumfahrttechnik und an der Universität Hagen Volkswirtschaftslehre studiert. Nach 17 Jahren in der Industrie fokussiert er sich nun auf seine Schulungsfirma, um Teilnehmern künstliche Intelligenz näherzubringen. Er lebt und arbeitet in Hamburg und bietet Präsenzkurse im deutschsprachigen Raum sowie Online-Kurse auch für ein internationales Publikum an.
Gollnick Generative KI mit Python jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Materialien zum Buch ... 13  1.  Vorwort ... 15  1.1 ... Zielsetzung des Buches ... 16  1.2 ... Zielgruppe ... 17  1.3 ... Was Sie schon wissen sollten ... 18  1.4 ... Struktur des Buches ... 18  1.5 ... Wie man dieses Buch effektiv nutzt ... 22  1.6 ... Code zum Herunterladen und weitere Materialien ... 23  1.7 ... Systemeinrichtung ... 23  1.8 ... Danksagung ... 30  1.9 ... Konventionen in diesem Buch ... 30  2.  Einführung in die generative KI ... 33  2.1 ... Einführung in die künstliche Intelligenz ... 36  2.2 ... Die Säulen des Fortschritts in der generativen KI ... 40  2.3 ... Deep Learning ... 43  2.4 ... Schwache und allgemeine KI ... 46  2.5 ... Natural Language Processing (NLP) ... 49  2.6 ... Large Language Models (LLMs) ... 55  2.7 ... Use-Cases ... 57  2.8 ... Die Grenzen von LLMs ... 59  2.9 ... Large Multimodal Models (LMMs) ... 60  2.10 ... Generative KI-Anwendungen ... 62  2.11 ... Zusammenfassung ... 64  3.  Vortrainierte Modelle ... 67  3.1 ... Was sind vortrainierte Modelle? ... 69  3.2 ... Hugging Face ... 69  3.3 ... Modellauswahl ... 70  3.4 ... Coding: Textzusammenfassung ... 71  3.5 ... Übung: Übersetzung ... 73  3.6 ... Coding: Zero-Shot-Klassifikation ... 74  3.7 ... Coding: Füllmaske ... 78  3.8 ... Coding: Frage-Antwort Modelle ... 79  3.9 ... Coding: Erkennung bekannter Entitäten (Named Entity Recognition) ... 81  3.10 ... Coding: Text-zu-Bild ... 83  3.11 ... Übung: Text-zu-Audio ... 85  3.12 ... Abschlussprojekt: Kunden-Feedback analysieren ... 86  3.13 ... Zusammenfassung ... 89  4.  Large Language Models ... 91  4.1 ... Eine kurze Geschichte der Sprachmodelle ... 92  4.2 ... LLMs mithilfe von Python nutzen ... 93  4.3 ... Modellparameter ... 107  4.4 ... Modellauswahl ... 111  4.5 ... Messages ... 115  4.6 ... Prompt Templates ... 116  4.7 ... Chains ... 120  4.8 ... LLM-Schutz und -Sicherheit ... 135  4.9 ... Modellverbesserungen ... 143  4.10 ... Neue Trends ... 144  4.11 ... Zusammenfassung ... 151  5.  Prompt Engineering ... 153  5.1 ... Prompting -- die Grundlagen ... 154  5.2 ... Coding: Few-Shot Prompting ... 163  5.3 ... Chain-of-Thought ... 166  5.4 ... Zero-Shot Chain-of-Thought ... 166  5.5 ... Coding: Self-Consistency Chain-of-Thought ... 167  5.6 ... Coding: Prompt-Chaining ... 171  5.7 ... Coding: Self-Feedback ... 173  5.8 ... Zusammenfassung ... 178  6.  Vektordatenbanken ... 181  6.1 ... Einleitung ... 181  6.2 ... Der Data-Ingestion-Prozess ... 184  6.3 ... Dokumente importieren ... 185  6.4 ... Dokumente aufteilen ... 193  6.5 ... Einbettungen erstellen ... 209  6.6 ... Daten speichern ... 225  6.7 ... Daten abrufen ... 231  6.8 ... Abschlussprojekt ... 238  6.9 ... Zusammenfassung ... 251  7.  Retrieval-Augmented Generation ... 253  7.1 ... Einleitung ... 254  7.2 ... Ein einfaches System zur Retrieval-Augmented Generation ... 258  7.3 ... Fortgeschrittene Techniken ... 265  7.4 ... Coding: Prompt-Caching ... 287  7.5 ... Evaluierung ... 293  7.6 ... Zusammenfassung ... 299  8.  Agentensysteme ... 301  8.1 ... Einführung in KI-Agenten ... 302  8.2 ... Verfügbare Frameworks ... 304  8.3 ... Einfache Agentensysteme ... 306  8.4 ... Agenten-Framework: LangGraph ... 314  8.5 ... Agenten-Framework: AG2 ... 330  8.6 ... Agenten-Framework: CrewAI ... 346  8.7 ... Agenten-Framework: OpenAI Agents ... 374  8.8 ... Agenten-Framework: Pydantic AI ... 379  8.9 ... Überwachung von Agentensytemen ... 382  8.10 ... Zusammenfassung ... 388  9.  Deployment ... 391  9.1 ... Die Anwendungsarchitektur ... 392  9.2 ... Die Deploymentstrategie ... 394  9.3 ... Entwicklung einer eigenständigen Anwendung ... 403  9.4 ... Deployment auf Heroku ... 410  9.5 ... Deployment auf Streamlit.io ... 419  9.6 ... Deployment auf Render ... 421  9.7 ... Zusammenfassung ... 424

10.  Ausblick ... 427  10.1 ... Fortschritte in der Modellarchitektur ... 427  10.2 ... Limitierungen und Probleme von LLMs ... 428  10.3 ... Regulatorische Entwicklungen ... 434  10.4 ... Künstliche allgemeine Intelligenz und künstliche Super-Intelligenz ... 434  10.5 ... KI-Fähigkeiten in der nahen Zukunft ... 435  10.6 ... Hilfreiche Ressourcen ... 438  10.7 ... Zusammenfassung ... 439  Über den Autor ... 441  Index ... 443


1.7    Systemeinrichtung


Abbildung 1.2 zeigt die Schritte, mit dem Sie das System so einrichten, dass Sie mit dem Code-Material arbeiten und es auf Ihrem lokalen System ausführen können.

Abbildung 1.2     Schritte zur Systemeinrichtung

Die Abbildung zeigt die verschiedenen Ausführungsschritte, damit die Skripte auf Ihrem lokalen Computer laufen können. Die Installation ist einmalig und sollte nicht länger als 30 Minuten dauern.

Die Schritte sind:

  1. Installation von Python

  2. Installation der IDE

  3. Installation von git

  4. Download des Kursmaterials

  5. Einrichtung der lokalen Python-Umgebung

1.7.1    Installation von Python


Die Python-Installation ist ganz einfach und kann auf verschiedene Arten durchgeführt werden. Ich empfehle, Python von der offiziellen Website https://www.python.org/downloads/ herunterzuladen. Wenn Sie auf der Download-Seite ein bisschen nach unten scrollen, finden Sie verschiedene Versionen.

Abbildung 1.3 zeigt eine Liste verschiedener Versionen. Die Skripte und der Code in diesem Buch wurden auf Basis von Python Version 3.12.7 entwickelt. Um Probleme zu vermeiden, sollten Sie die gleiche Version verwenden. Klicken Sie auf den Download-Button und folgen Sie den Installationsanweisungen. Es gibt nichts Besonderes zu beachten, Sie können einfach die Standardeinstellungen verwenden.

Abbildung 1.3     Python Download

1.7.2    Installation der IDE


Eine integrierte Entwicklungsumgebung (IDE) ist entscheidend, um effizient Code in Python-Projekten zu schreiben und zu verwalten. Beliebte Optionen sind

  • Visual Studio Code

  • PyCharm

  • Cursor

  • Windsurf Editor

Integrierte Entwicklungsumgebungen (IDEs)

  • Visual Studio Code (VS Code)

    Das ist eine leichtgewichtige und hochgradig anpassbare IDE. Sie unterstützt viele verschiedene Programmiersprachen. Das ist auch einer der Gründe, warum sie zu meinen Favoriten gehört. Ich benutze VS Code für meine Python-, R- und Flutter-Projekte und muss mich nicht an eine andere IDE gewöhnen, wenn ich die Projekte wechsle.

    VS Code ist Open Source und Sie können es unter https://code.visualstudio.com/ kostenlos herunterladen. Außerdem hat es eine große Community, die Tausende von Erweiterungen bereitstellt. Ich habe es viele Jahre lang genutzt und konnte mir lange kaum vorstellen, zu wechseln. Kürzlich bin ich allerdings zu Cursor gewechselt.

  • Cursor

    Cursor ist ein Fork von Visual Studio Code, also ein sehr naher Verwandter, und hat bereits KI-Power integriert. Mit dem KI-unterstützten Code-Editor werden Sie beim Programmieren schneller und effizienter. Cursor nutzt generative KI, wodurch Sie beim Coden Unterstützung durch OpenAIs Codex, GPT oder Claude erhalten.

    Die IDE bietet beispielsweise Funktionen wie Code-Vervollständigung, Code-Erklärung, Fehlerbehebung, Refactoring und interaktives Chatten. Es gibt eine kostenlose und eine kostenpflichtige Variante. Über die Produktseite https://www.cursor.com/ erfahren Sie mehr.

  • PyCharm

    Diese IDE konzentriert sich auf die Programmiersprache Python. Sie bietet fortschrittliche Funktionen an, beispielsweise Code-Vervollständigung und Debugging. Die Community-Edition von PyCharm ist kostenlos und hat alle grundlegenden Funktionen, während die professionelle Version etwas tiefergehende Möglichkeiten bietet. Auf der Entwickler-Website finden Sie beide Versionen: https://www.jetbrains.com/pycharm/download/.

  • Windsurf Editor

    Ein sehr neuer Editor, der von sich behauptet, die erste agentische IDE zu sein. Dabei handelt es sich ebenfalls um einen Visual-Studio-Code-Fork. Windsurf kann über https://codeium.com/ heruntergeladen werden.

Wenn Sie eine besondere Vorliebe für eine dieser IDEs haben, ist das für die Arbeit mit diesem Buch absolut in Ordnung. Sollten Sie mit Ihren Coding-Skills noch eher am Anfang stehen und auf der Suche nach einem weisen Rat sein, würde ich empfehlen, mit Cursor zu starten.

1.7.3    Installation von git


Git ist ein unverzichtbares Werkzeug für die Versionskontrolle. Es hilft Entwicklern und Entwicklerinnen dabei, Änderungen in ihrem Code nachzuvollziehen, mit anderen zusammenzuarbeiten und schließlich auch den Verlauf der Projektentwicklung zu dokumentieren.

Git ermöglicht Ihnen, Ihre Codebasis effizient zu verwalten, indem es Branching, Merging und das Zurücksetzen von Änderungen ermöglicht. Es lässt sich nahtlos in Plattformen wie GitHub, GitLab und Bitbucket integrieren, was die Zusammenarbeit aus der Ferne ganz einfach macht. Wir brauchen es im nächsten Schritt, um an das Material zum Buch zu kommen. Git können Sie über https://git-scm.com/downloads herunterladen. Abbildung 1.4 zeigt die verschiedenen Möglichkeiten zum Download.

Abbildung 1.4     Git Download

Wählen Sie den Download, der zu Ihrem Betriebssystem passt. In allen Fällen können Sie die Standardwerte verwenden, um die Installation durchzuführen.

1.7.4    Download des Kursmaterials


Die Python-Skripte und Code-Dateien werden auf GitHub gehostet. Sie finden die Materialien über diesem Link: https://github.com/DataScienceHamburg/GenerativeAiApplicationsWithPython_Material

Wenn Sie die Seite aufrufen, sehen Sie sämtliches Material, wie in Abbildung 1.5 gezeigt.

Den Code können Sie auf zwei unterschiedliche Arten erhalten. Klicken Sie zunächst auf den grünen Code-Button. Wählen Sie dann eine der beiden folgenden Optionen:

  • Download ZIP

  • Clone using the web URL. Also das Klonen des Repositorys über die Web-URL.

Wenn Sie bisher noch keine Erfahrung mit git haben, wählen Sie die ZIP-Option. Laden Sie die ZIP-Datei herunter und entpacken Sie sie in einem Ordner Ihrer Wahl auf Ihrem Computer. Wenn Sie schon mal mit git zu tun hatten, können Sie das Repository auch klonen, indem Sie Folgendes in der Kommandozeile ausführen:

git clone https://github.com/DataScienceHamburg/GenerativeAiApplicationsWithPython_Material.git

Mit diesem Befehl erhalten Sie eine Kopie des Repositorys, die auf Ihrem Computer gespeichert wird.

Abbildung 1.5     GitHub Repository für das Buch

1.7.5    Einrichtung der lokalen Python-Umgebung


Eine Python-Umgebung ist ein isolierter Arbeitsbereich, in dem Sie Abhängigkeiten für ein bestimmtes Projekt installieren und verwalten können. Sie funktioniert wie eine Sandbox – also ein geschützter und abgetrennter Bereich – die sicherstellt, dass die Bibliotheken und Tools, die Sie in einem Projekt verwenden, nicht mit anderen auf Ihrem System in Konflikt geraten.

Abbildung 1.6 verdeutlicht das Konzept der Umgebungen und zeigt, warum diese erforderlich sind.

Während Projekt A ein bestimmtes Paket xyz in der Version 1.0.0 und eine Python-Version von 3.10 benötigt, arbeiten Sie auch an einem anderen Projekt, das ganz andere Anforderungen hat. Projekt B benötigt dasselbe Paket xyz in einer neueren Version 2.0.0 und eine andere Python-Version, nämlich 3.12.7. Wenn Sie nur mit einer einzigen Umgebung für all Ihre Projekte arbeiten, würden Sie bald auf Probleme stoßen, weil es zwischen beiden Projekten zu Inkompatibilitäten kommt.

Abbildung 1.6     Python-Umgebung

Der...


Gollnick, Bert
Bert Gollnick ist Senior Data Scientist mit Schwerpunkt auf künstlicher Intelligenz. Er unterrichtet Kurse zu Data Science und Machine Learning inklusive generativer KI und natürlicher Sprachverarbeitung. Bert hat an der Technischen Universität Berlin Luft- und Raumfahrttechnik und an der Universität Hagen Volkswirtschaftslehre studiert. Nach 17 Jahren in der Industrie fokussiert er sich nun auf seine Schulungsfirma, um Teilnehmern künstliche Intelligenz näherzubringen.

Er lebt und arbeitet in Hamburg und bietet Präsenzkurse im deutschsprachigen Raum sowie Online-Kurse auch für ein internationales Publikum an.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.