Die wichtigsten Prinzipien des Prompt Engineering

Prompt-Engineering mit der OpenAI-API

Fouad Trad

Machine Learning Engineer

Klare und präzise Prompts

Ein Bild, das eine Bäckerei und ein Haus mit zwei möglichen Wegen dazwischen zeigt. Das eine ist einfach und kurz (effektiv), das andere kompliziert und lang (ineffektiv).

Prompt-Engineering mit der OpenAI-API

Wichtige Grundsätze

 

  • 🎬 Passende Handlungsverben
  • 💬 Detaillierte und genaue Anweisungen
  • ❗ Gut strukturierte, mittels Trennzeichen strukturierter Prompts
Prompt-Engineering mit der OpenAI-API

Handlungsverben benutzen

  • Sage dem Modell, was es machen soll

Tabelle für die zu verwendenden Verben, darunter schreiben, vervollständigen, erklären, beschreiben oder bewerten.

Prompt-Engineering mit der OpenAI-API

Vermeide mehrdeutige Verben

  • Das Verständnis des Modells verwirren

Tabelle mit Verben, die man benutzen kann, wie schreiben, fertigstellen, erklären, beschreiben oder bewerten, und Verben, die man besser nicht benutzt, wie verstehen, denken, fühlen, versuchen und wissen.

Prompt-Engineering mit der OpenAI-API

Effektiver Prompt mit Verben

prompt = "Think about the issue of 
deforestation."
response = get_response(prompt)
print(response)
Deforestation is a significant 
environmental issue involving 
permanently removing
or destroying forests and woodlands. 
It has far-reaching impacts on the 
environment, ecosystems, wildlife, 
and human communities. [...]
prompt = "Propose strategies to 
reduce deforestation."
response = get_response(prompt)
print(response)
Reducing deforestation requires 
a comprehensive and multi-dimensional 
approach involving various stakeholders. 
Here are several strategies 
that can help address the issue:
Strengthen Forest Governance
Promote Sustainable Land Use [...]
Prompt-Engineering mit der OpenAI-API

Formulierung detaillierter Anweisungen

 

Gib konkrete, anschauliche und detaillierte Anweisungen zu folgenden Punkten:

  • 📖 Kontext
  • 📏 Länge der Ausgabe
  • 🖌 Format und Stil
  • 👥👥 Publikum
Prompt-Engineering mit der OpenAI-API

Effektiver Prompt mit Anweisungen

Ineffizienter Prompt: „Erzähl mir etwas über Hunde.“

Effektiver Prompt

prompt = "Write a descriptive paragraph about the behavior and characteristics of 
Golden Retrievers, highlighting their friendly nature, intelligence, 
and suitability as family pets."
print(get_response(prompt))
Golden Retrievers are beloved worldwide for their exceptional behavior, remarkable 
characteristics, and friendly nature. They are highly intelligent, trainable, and 
adaptable, making them great companions for families, including those with children.
Prompt-Engineering mit der OpenAI-API

Begrenzung der Ausgabelänge

max_tokens:

  • Begrenzung der Anzahl der Token
  • Die Ausgabe kann dies nicht umgehen.
  • Könnte zu unvollständigen oder abgeschnittenen Antworten führen.

Prompt:

  • Begrenzung von Wörtern, Sätzen oder Absätzen
  • Die Ausgabe kann die Anweisung umgehen.
  • Vollständige Antworten
Prompt-Engineering mit der OpenAI-API

Prompt-Komponenten

  • Anweisungen und Eingabedaten als Arbeitsgrundlage
  • Beispiel: Textzusammenfassung
    • Anweisung: Fasse den Text zusammen.
    • Eingabedaten: Text zum Zusammenfassen

Ein Symbol, das die Aufgabe der Textzusammenfassung zeigt

Prompt-Engineering mit der OpenAI-API

Erstellen eines gut strukturierten Prompts mit Trennzeichen

  • Starte den Prompt mit Anweisungen
  • Benutze Trennzeichen (Klammern, eckige Klammern, Backticks usw.), um Eingabeteile zu markieren.
  • Erwähne, welche Trennzeichen benutzt werden
prompt = """Summarize the text delimited by triple backticks into bullet points.
           ```TEXT GOES HERE```"""
response = get_response(prompt)
Prompt-Engineering mit der OpenAI-API

Formatierte Zeichenfolgen (f-Strings) verwenden

  • Einfügen einer Zeichenfolge in eine andere Zeichenfolge
text = "This is a sample text to summarize"

prompt = f"""Summarize the text delimited by triple backticks into bullet points. ```{text}```"""
print(prompt)
Summarize the text delimited by triple backticks into bullet points.
```This is a sample text to summarize```
Prompt-Engineering mit der OpenAI-API

Lass uns üben!

Prompt-Engineering mit der OpenAI-API

Preparing Video For Download...