Einführung in das Prompt Engineering

Prompt-Engineering mit der OpenAI-API

Fouad Trad

Machine Learning Engineer

Was ist Prompt Engineering?

Erstellen von Prompts oder Anweisungen für LLMs, um die gewünschten Antworten zu bekommen.

A picture showing an engineer introducing the terminology of prompt engineering.

Prompt-Engineering mit der OpenAI-API

Prompt Engineering ist wie das Erstellen eines Rezepts

Bild, das einen Koch beim Zubereiten eines Gerichts zeigt.

Prompt-Engineering mit der OpenAI-API

Warum Prompt Engineering nutzen?

  Ein Diagramm, das zeigt, dass gute Fragen zu guten Antworten führen

Prompt-Engineering mit der OpenAI-API

Warum Prompt Engineering nutzen?

  Ein Diagramm, das zeigt, wie die Qualität der Antworten von der Qualität der Prompts abhängt. High quality prompts lead to high quality answers, and low quality prompts lead to low quality answers.

Prompt-Engineering mit der OpenAI-API

Zusammenfassung: OpenAI-API

  • Ermöglicht die Interaktion mit OpenAI-Modellen
  • Bereits eingerichtet in diesem Kurs
  • Zugang zum Chat-Completions Endpunkt

chatgpt_logo_white.png

Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Nachrichtenrollen

Jeder message-Typ hat eine von drei Rollen:

Bild mit einem Symbol für die Benutzerrolle.

Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Nachrichtenrollen

Jeder message-Typ hat eine von drei Rollen:

Bild mit einem Symbol für die beiden Rollen: Benutzer und Assistent.

Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Nachrichtenrollen

Jeder message-Typ hat eine von drei Rollen:

Bild mit einem Symbol für jede der drei Rollen: Benutzer, System und Assistent

Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Nachrichtenrollen

Jeder message-Typ hat eine von drei Rollen:

Bild mit einem Symbol für jede der drei Rollen und einem Kommunikationspfeil zwischen dem System und dem Assistenten, um Systemnachrichten zu senden.

  • System message: steuert Modellverhalten
Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Nachrichtenrollen

Jeder message-Typ hat eine von drei Rollen:

Bild mit einem Symbol für jede der drei Rollen, mit einem Kommunikationspfeil zwischen dem System und dem Assistenten zum Senden von Systemnachrichten und einem Kommunikationspfeil zwischen dem Benutzer und dem Assistenten zum Senden einer Prompt.

  • System message: steuert Modellverhalten
  • User message: Prompt vom Nutzenden
Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Nachrichtenrollen

Jeder message-Typ hat eine von drei Rollen:

Bild mit einem Symbol für jede der drei Rollen, mit einem Kommunikationspfeil zwischen dem System und dem Assistenten zum Senden von Systemnachrichten, einem Kommunikationspfeil zwischen dem Benutzer und dem Assistenten zum Senden eines Prompt und einem Kommunikationspfeil zwischen dem Assistenten und dem Benutzer zum Senden der Antwort.

  • System message: steuert Modellverhalten
  • User message: Prompt vom Nutzenden
  • Assistant message: Antwort auf Nutzerprompt
Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Steuerungsparameter

Bild mit dem Symbol eines Thermometers und den möglichen Werten zwischen 0 und 2, wobei 0 keine Zufälligkeit und 2 die höchste Zufälligkeit bedeutet.

  • temperature: regelt die Zufälligkeit der Antworten
Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Steuerungsparameter

Image showing a thermometer's icon with the possible values between 0 and 2, with 0 showing no randomness, and 2 showing highest randomness, along with a slider's icon that represents the max_tokens parameter where lower values on the slider would lead to shorter responses.

  • temperature: regelt die Zufälligkeit der Antworten
  • max_tokens: regelt die Antwortlänge
Prompt-Engineering mit der OpenAI-API

Zusammenfassung: Interaktion mit der OpenAI-API

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-3.5-turbo",
messages = [{"role": "user", "content": prompt}],
temperature = 0 )
print(response.choices[0].message.content)
Prompt engineering refers to the process of designing and refining prompts or 
instructions given to a language model like ChatGPT in order to elicit desired 
responses or behaviors. It involves formulating specific guidelines or hints to 
guide the model's output towards a desired outcome.
Prompt-Engineering mit der OpenAI-API

Erstellen der Funktion get_response()

def get_response(prompt):

response = client.chat.completions.create( model = "gpt-3.5-turbo", messages = [{"role": "user", "content": prompt}], temperature = 0 )
return response.choices[0].message.content

Verwendung

response = get_response("What is prompt engineering?")
print(response)
Prompt engineering refers to the process of designing and refining prompts or instructions given to a language model 
like ChatGPT in order to elicit desired responses or behaviors. It involves formulating specific guidelines or hints 
to guide the model's output towards a desired outcome.
Prompt-Engineering mit der OpenAI-API

Schnelle Verbesserung

prompt = "What is prompt engineering? Explain it in terms that can be understood 
by a 5-year-old"
response = get_response(prompt)
print(response)
Imagine you have a very smart friend who can understand and answer lots of 
questions. But sometimes, they might not understand exactly what you want or give 
the wrong answer. So, prompt engineering is like giving your friend really clear 
instructions or hints to help them give you the best answer possible.
Prompt-Engineering mit der OpenAI-API

Lass uns üben!

Prompt-Engineering mit der OpenAI-API

Preparing Video For Download...