Strukturierte Ausgaben und bedingte Prompts

Prompt-Engineering mit der OpenAI-API

Fouad Trad

Machine Learning Engineer

Strukturierte Ausgaben

  • LLMs erstellen strukturierte Ergebnisse nur, wenn man ihnen klare Anweisungen gibt.
  • Ausgabestrukturen:
    • Tabelle
    • Liste
    • Strukturierter Absatz
    • Benutzerdefiniertes Format

Visual diagram showing that when we ask ChatGPT for a structured output, we obtain an output with the structure we requested, but when we don't specify the required structure we obtain an answer with random or no structure at all.

Prompt-Engineering mit der OpenAI-API

Tabellen

  • Die erwarteten Spalten klar erwähnen
prompt = "Generate a table containing 5 movies I should watch if I am an action 
lover, with columns for Title and Rating."
print(get_response(prompt))
| Title                           | Rating |
|---------------------------------|--------|
| Mad Max: Fury Road              | 8.1    |
| John Wick                       | 7.4    |
| The Dark Knight                 | 9.0    |
| Die Hard                        | 8.2    |
| Gladiator                       | 8.5    |
Prompt-Engineering mit der OpenAI-API

Listen

  • Nützlich für Aufzählungen
prompt = "Generate a list containing the names of the top 5 cities to visit."
print(get_response(prompt))
1. Tokyo, Japan
2. Paris, France
3. Rome, Italy
4. New York City, United States
5. Sydney, Australia
Prompt-Engineering mit der OpenAI-API

Listen

  • Die Anforderungen für die Nummerierung sollten im Prompt erwähnt werden.
prompt = "Generate an unordered list containing the names of the top 5 cities to visit."
print(get_response(prompt))
- Paris, France
- Tokyo, Japan
- Rome, Italy
- New York City, United States
- Sydney, Australia
Prompt-Engineering mit der OpenAI-API

Strukturierte Absätze

  • Die Strukturvorgaben im Prompt erwähnen.
prompt = "Provide a structured paragraph with clear headings and subheadings 
about the benefits of regular exercise on overall health and well-being."
print(get_response(prompt))
Prompt-Engineering mit der OpenAI-API

Strukturierte Absätze

I. Introduction
Regular exercise is essential for maintaining good health and overall well-being. [...]

II. Physical Health Benefits
a. Weight Management: Regular exercise is [...]
b. Reduced Risk of Chronic Diseases: Exercise has been linked to [...]
c. Increased Strength and Flexibility: Regular exercise improves muscle strength and [...]

III. Mental Health Benefits
a. Reduced Stress and Anxiety: Exercise has a profound impact on [...]
b. Improved Sleep Quality: Regular exercise is associated with improved sleep patterns [...]
c. Boosted Brain Function: Studies show that exercise enhances cognitive function [...]
Prompt-Engineering mit der OpenAI-API

Benutzerdefiniertes Ausgabeformat

text = "Once upon a time in a quaint little village, there lived a curious young boy named 
David. David was [...]"

instructions = "You will be provided with a text delimited by triple backticks. Generate a suitable title for it. "
output_format = """Use the following format for the output: - Text: <text we want to title> - Title: <the generated title>"""
prompt = instructions + output_format + f"```{text}```" print(get_response(prompt))
- Text: Once upon a time in a quaint little village, there lived a curious young boy [...]
- Title: The Extraordinary Adventure of David and the Mysterious Book
Prompt-Engineering mit der OpenAI-API

Prompts mit Bedingungen

  • Eingebaute Logik oder Bedingungen
  • Bedingte Prompts sind wie if-else Anweisungen aufgebaut.

Ein Bild, das eine Testbedingung zeigt. Wenn diese Bedingung stimmt, soll X gemacht werden, und wenn sie nicht stimmt, soll Y gemacht werden.

Prompt-Engineering mit der OpenAI-API

Prompts mit Bedingungen

text = "Le printemps est ma saison préférée. Quand les premières fleurs commencent 
à éclore, et que les arbres se parent de feuilles vertes et tendres, je me sens 
revivre [...] "
prompt = f"""You will be provided with a text delimited by triple backticks. 
         If the text is written in English, suggest a suitable title for it.
         Otherwise, write 'I only understand English'.
         ```{text}```"""

print(get_response(prompt))
I only understand English
Prompt-Engineering mit der OpenAI-API

Prompts mit Bedingungen

  • Kann mehrere Bedingungen haben
text = "In the heart of the forest, sunlight filters through the lush green canopy, 
creating a tranquil atmosphere [...] "
prompt = f"""You will be provided with a text delimited by triple backticks. 
         If the text is written in English, check if it contains the keyword 'technology'. 


         ```{text}```"""
print(get_response(prompt))
Prompt-Engineering mit der OpenAI-API

Prompts mit Bedingungen

  • Kann mehrere Bedingungen haben
text = "In the heart of the forest, sunlight filters through the lush green canopy, 
creating a tranquil atmosphere [...] "
prompt = f"""You will be provided with a text delimited by triple backticks. 
         If the text is written in English, check if it contains the keyword 'technology'. 
         If it does, suggest a suitable title for it, otherwise, write 'Keyword not found'.

         ```{text}```"""
print(get_response(prompt))
Prompt-Engineering mit der OpenAI-API

Prompts mit Bedingungen

  • Kann mehrere Bedingungen haben
text = "In the heart of the forest, sunlight filters through the lush green canopy, 
creating a tranquil atmosphere [...] "
prompt = f"""You will be provided with a text delimited by triple backticks. 
         If the text is written in English, check if it contains the keyword 'technology'. 
         If it does, suggest a suitable title for it, otherwise, write 'Keyword not found'.
         If the text is not written in English, reply with 'I only understand English'.
         ```{text}```"""
print(get_response(prompt))
Keyword not found
Prompt-Engineering mit der OpenAI-API

Lass uns üben!

Prompt-Engineering mit der OpenAI-API

Preparing Video For Download...