Vorwort

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Das rasante Innovationstempo im Bereich der generativen KI verspricht, unser Leben und Arbeiten zu verändern, aber es wird immer schwieriger, damit Schritt zu halten. Die Zahl der auf arXiv veröffentlichten KI-Papiere wächst exponentiell, Stable Diffusion gehört zu den am schnellsten wachsenden Open-Source-Projekten der Geschichte und der Discord-Server des KI-Kunsttools Midjourney hat mehrere zehn Millionen Mitglieder und übertrifft damit sogar die größten Gaming-Communities. Am meisten Aufmerksamkeit erregte die Veröffentlichung von ChatGPT durch OpenAI, das innerhalb von zwei Monaten 100 Millionen Nutzer/innen erreichte und damit die am schnellsten wachsende Verbraucher-App der Geschichte ist. Die Arbeit mit KI ist schnell zu einer der gefragtesten Fähigkeiten geworden.

Jeder, der beruflich mit KI zu tun hat, lernt schnell, dass die Qualität der Ergebnisse stark davon abhängt, was du als Input zur Verfügung stellst. Die Disziplin des Prompt-Engineering hat sich als eine Reihe bewährter Methoden zur Verbesserung der Zuverlässigkeit, Effizienz und Genauigkeit von KI-Modellen etabliert. "In zehn Jahren wird die Hälfte der weltweiten Arbeitsplätze im Prompt-Engineering liegen", behauptet Robin Li, Mitbegründer und CEO des chinesischen Tech-Riesen Baidu. Wir gehen jedoch davon aus, dass Eingabeaufforderungen eine Fähigkeit sein werden, die in vielen Berufen benötigt wird, ähnlich wie die Beherrschung von Microsoft Excel, und nicht nur eine beliebte Berufsbezeichnung. Diese neue Welle der Disruption verändert alles, was wir über Computer zu wissen glaubten. Wir sind es gewohnt, Algorithmen zu schreiben, die immer das gleiche Ergebnis liefern - nicht so bei der KI, wo die Antworten nicht deterministisch sind. Kosten und Latenzzeiten sind wieder echte Faktoren, nachdem uns das Mooresche Gesetz jahrzehntelang dazu gebracht hat, selbstgefällig Echtzeitberechnungen zu vernachlässigbaren Kosten zu erwarten. Die größte Hürde ist die Tendenz dieser Modelle, sich selbstbewusst Dinge auszudenken, was als Halluzination bezeichnet wird und uns dazu zwingt, die Art und Weise, wie wir die Genauigkeit unserer Arbeit bewerten, zu überdenken.

Wir arbeiten seit der GPT-3-Beta im Jahr 2020 mit generativer KI, und als wir sahen, wie sich die Modelle weiterentwickelten, wurden viele der anfänglichen Eingabeaufforderungen und Hacks nicht mehr benötigt. Mit der Zeit kristallisierte sich eine Reihe von Prinzipien heraus, die auch bei den neueren Modellen nützlich sind und sowohl für die Text- als auch für die Bilderzeugung gelten. Wir haben dieses Buch auf der Grundlage dieser zeitlosen Prinzipien geschrieben und helfen dir, übertragbare Fähigkeiten zu erlernen, die auch in den nächsten fünf Jahren noch nützlich sein werden, egal was mit der KI passiert. Der Schlüssel zur Arbeit mit KI liegt nicht darin, "herauszufinden, wie man die Eingabeaufforderung hacken kann, indem man ein magisches Wort am Ende hinzufügt, das alles andere ändert", wie OpenAI-Mitbegründer Sam Altman behauptet, sondern was immer wichtig sein wird, ist die "Qualität der Ideen und das Verständnis dessen, was du willst." Wir wissen zwar nicht, ob wir es in fünf Jahren noch "Prompt-Engineering" nennen werden, aber die effektive Arbeit mit generativer KI wird immer wichtiger werden.

Softwareanforderungen für dieses Buch

Der gesamte Code in diesem Buch ist in Python verfasst und wurde so konzipiert, dass er in einem Jupyter-Notebook oder Google Colab-Notebook ausgeführt werden kann. Die Konzepte, die in diesem Buch vermittelt werden, lassen sich auch auf JavaScript oder eine andere Programmiersprache übertragen, auch wenn der Schwerpunkt dieses Buches eher auf Eingabeaufforderungen als auf traditionellen Programmierkenntnissen liegt. Der gesamte Code ist auf GitHub zu finden, und wir verlinken im Buch auf die entsprechenden Notizbücher. Es wird dringend empfohlen, dass du das GitHub-Repository nutzt und die Beispiele ausführst, während du das Buch liest.

Für Beispiele, die nicht in einem Notizbuch stehen, kannst du das Skript mit dem Format python content/chapter_x/script.py in deinem Terminal ausführen, wobei x die Kapitelnummer und script.py der Name des Skripts ist. In einigen Fällen müssen die API-Schlüssel als Umgebungsvariablen gesetzt werden, und wir werden das deutlich machen. Die verwendeten Pakete werden häufig aktualisiert, also installiere unsere requirements.txt in einer virtuellen Umgebung, bevor du die Codebeispiele ausführst.

Die Datei requirements.txt wurde für Python 3.9 erstellt. Wenn du eine andere Version von Python verwenden möchtest, kannst du eine neue requirements.txt aus der Datei requirements.in im GitHub-Repository erstellen, indem du diese Befehle ausführst:

`pip install pip-tools`
`pip-compile requirements.in`

Für Mac-Benutzer:

  1. Öffne Terminal: Du findest die Terminal-Anwendung in deinem Anwendungsordner unter Dienstprogramme oder du kannst mit Spotlight danach suchen.

  2. Navigiere zu deinem Projektordner: Verwende den Befehl cd, um das Verzeichnis in deinen Projektordner zu ändern. Zum Beispiel: cd path/to/your/project.

  3. Erstelle die virtuelle Umgebung: Verwende den folgenden Befehl, um eine virtuelle Umgebung mit dem Namen venv zu erstellen (du kannst sie beliebig benennen): python3 -m venv venv.

  4. Aktiviere die virtuelle Umgebung: Bevor du Pakete installierst, musst du die virtuelle Umgebung aktivieren. Dies tust du mit dem Befehl source venv/bin/activate.

  5. Pakete installieren: Jetzt, wo deine virtuelle Umgebung aktiv ist, kannst du Pakete mit pip installieren. Um Pakete aus der Datei requirements.txt zu installieren, verwende pip install -r requirements.txt.

  6. Deaktiviere die virtuelle Umgebung: Wenn du fertig bist, kannst du die virtuelle Umgebung deaktivieren, indem du eintippst deactivate.

Für Windows-Benutzer:

  1. Öffne die Eingabeaufforderung: Du kannst im Startmenü nach cmd suchen.

  2. Navigiere zu deinem Projektordner: Verwende den Befehl cd, um das Verzeichnis in deinen Projektordner zu ändern. Zum Beispiel: cd path\to\your\project.

  3. Erstelle die virtuelle Umgebung: Verwende den folgenden Befehl, um eine virtuelle Umgebung namens venv zu erstellen: python -m venv venv.

  4. Aktiviere die virtuelle Umgebung: Um die virtuelle Umgebung unter Windows zu aktivieren, verwende .\venv\Scripts\activate.

  5. Pakete installieren: Installiere bei aktiver virtueller Umgebung die erforderlichen Pakete: pip install -r requirements.txt.

  6. Deaktiviere die virtuelle Umgebung: Um die virtuelle Umgebung zu verlassen, gib einfach ein: deactivate.

Hier sind einige zusätzliche Tipps zur Einrichtung:

  • Stelle immer sicher, dass dein Python auf dem neuesten Stand ist, um Kompatibilitätsprobleme zu vermeiden.

  • Erinnere dich daran, deine virtuelle Umgebung zu aktivieren, wenn du an dem Projekt arbeitest.

  • Die Datei requirements.txt sollte sich in demselben Verzeichnis befinden, in dem du deine virtuelle Umgebung erstellst, oder du solltest den Pfad zu ihr angeben, wenn du pip install -r verwendest.

Der Zugang zu einem OpenAI-Entwicklerkonto wird vorausgesetzt, da dein OPENAI_API_KEY als Umgebungsvariable in allen Beispielen gesetzt werden muss, die die OpenAI-Bibliothek importieren, für die wir Version 1.0 verwenden. Eine Schnellstart-Anleitung zum Einrichten deiner Entwicklungsumgebung findest du in der Dokumentation auf der OpenAI-Website.

Du musst auch sicherstellen, dass die Rechnungsstellung in deinem OpenAI-Konto aktiviert ist und dass eine gültige Zahlungsmethode angegeben ist, um einige der Codes in diesem Buch auszuführen. Die Beispiele in diesem Buch verwenden GPT-4, wo dies nicht angegeben ist. Wir gehen aber auch kurz auf das konkurrierende Modell Claude 3 von Anthropic sowie auf das quelloffene Llama 3 von Meta und Google Gemini ein.

Für die Bilderzeugung verwenden wir Midjourney, für das du einen Discord-Account brauchst, um dich anzumelden. Diese Prinzipien gelten aber auch für DALL-E 3 (verfügbar mit einem ChatGPT Plus-Abonnement oder über die API) oder Stable Diffusion (verfügbar als API oder lokal auf deinem Computer, wenn er eine GPU hat). Die Beispiele für die Bilderzeugung in diesem Buch verwenden Midjourney v6, Stable Diffusion v1.5 (da viele Erweiterungen nur mit dieser Version kompatibel sind) oder Stable Diffusion XL, und wir geben die Unterschiede an, wenn dies wichtig ist.

Wo immer es möglich ist, verwenden wir Open-Source-Bibliotheken, obwohl wir auch kommerzielle Anbieter einbeziehen, wenn es angebracht ist. So wird in Kapitel 5 über Vektordatenbanken sowohl FAISS (eine Open-Source-Bibliothek) als auch Pinecone (ein kostenpflichtiger Anbieter) vorgestellt. Die im Buch gezeigten Beispiele lassen sich leicht auf andere Modelle und Anbieter übertragen, und die vermittelten Kenntnisse sind übertragbar. Kapitel 4 über fortgeschrittene Texterzeugung konzentriert sich auf das LLM-Framework LangChain, und Kapitel 9 über fortgeschrittene Bilderzeugung baut auf der Open-Source-Web-UI Stable Diffusion von AUTOMATIC1111 auf.

In diesem Buch verwendete Konventionen

In diesem Buch werden die folgenden typografischen Konventionen verwendet:

Kursiv

Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.

Constant width

Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Constant width bold

Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.

Constant width italic

Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.

Tipp

Dieses Element steht für einen Tipp oder eine Anregung.

Hinweis

Dieses Element steht für einen allgemeinen Hinweis.

Warnung

Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.

Im gesamten Buch bekräftigen wir die sogenannten fünf Prinzipien des Prompting, indem wir angeben, welches Prinzip für das jeweilige Beispiel am besten geeignet ist. Du kannst in Kapitel 1 nachschlagen, in dem die Prinzipien im Detail beschrieben werden.

Prinzipieller Name

Hier wird erklärt, wie das Prinzip auf das aktuelle Beispiel oder den Textabschnitt angewendet wird.

Code-Beispiele verwenden

Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://oreil.ly/prompt-engineering-for-generative-ai zum Download bereit .

Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an

Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.

Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel:"Prompt-Engineering für generative KI " von James Phoenix und Mike Taylor (O'Reilly). Copyright 2024 Saxifrage, LLC und Just Understanding Data LTD, 978-1-098-15343-4."

Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter kontaktieren

O'Reilly Online Learning

Hinweis

Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.

Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.

Wie du uns kontaktierst

Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:

Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/prompt-engineering-generativeAI aufrufen .

Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.

Du findest uns auf LinkedIn: https://linkedin.com/company/oreilly-media.

Sieh uns auf YouTube: https://youtube.com/oreillymedia.

Danksagungen

Wir möchten uns bei den folgenden Personen für ihren Beitrag bei der technischen Überprüfung des Buches und ihre Geduld bei der Korrektur eines schnelllebigen Ziels bedanken:

  • Mayo Oshin, früher LangChain-Mitarbeiter und Gründer von SeinnAI Analytics

  • Ellis Crosby, Gründer von Scarlett Panda und der KI-Agentur Incremen.to

  • Dave Pawson, O'Reilly Autor von XSL-FO

  • Mark Phoenix, ein leitender Softwareentwickler

  • Aditya Goel, GenAI-Berater

  • Sanyam Kumar, stellvertretender Direktor, Datenwissenschaft, Genmab

  • Lakshmanan Sethu, TAM, Gen AI Solutions, Google

  • Janit Anjaria, Mitarbeiterin TLM, Aurora Innovation Inc.

Wir sind auch unseren Familien für ihre Geduld und ihr Verständnis dankbar und möchten ihnen versichern, dass wir immer noch lieber mit ihnen als mit ChatGPT sprechen.

Get Prompt Engineering für generative KI now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.