Introduktion till promptteknik

Prompt Engineering med OpenAI API

Fouad Trad

Machine Learning Engineer

Vad är promptteknik?

Att utforma instruktioner till LLM:er för att få önskade svar

En bild som visar en ingenjör som introducerar terminologin inom promptteknik.

Prompt Engineering med OpenAI API

Promptteknik liknar att skriva ett recept

En bild som visar en kock som tillagar en maträtt.

Prompt Engineering med OpenAI API

Varför promptteknik?

  Ett visuellt diagram som visar att högkvalitativa promptar leder till högkvalitativa svar

Prompt Engineering med OpenAI API

Varför promptteknik?

  Ett visuellt diagram som visar hur svarskvaliteten påverkas av promptarnas kvalitet. Högkvalitativa promptar ger högkvalitativa svar, och lågkvalitativa promptar ger lågkvalitativa svar.

Prompt Engineering med OpenAI API

Repetition: OpenAI API

  • Ger tillgång till OpenAI:s modeller
  • Redan konfigurerat i kursen
  • Tillgång till Chat Completions-endpointen

chatgpt_logo_white.png

Prompt Engineering med OpenAI API

Repetition: meddelanderoller

Varje meddelande har en av tre roller

En bild som visar en ikon för användarrollen.

Prompt Engineering med OpenAI API

Repetition: meddelanderoller

Varje meddelande har en av tre roller

En bild som visar ikoner för de två rollerna: användare och assistent.

Prompt Engineering med OpenAI API

Repetition: meddelanderoller

Varje meddelande har en av tre roller

En bild som visar en ikon för var och en av de tre rollerna: användare, system och assistent

Prompt Engineering med OpenAI API

Repetition: meddelanderoller

Varje meddelande har en av tre roller

En bild som visar en ikon för var och en av de tre rollerna, med en kommunikationspil mellan system och assistent för att skicka systemmeddelanden.

  • Systemmeddelande: styr modellens beteende
Prompt Engineering med OpenAI API

Repetition: meddelanderoller

Varje meddelande har en av tre roller

En bild som visar en ikon för var och en av de tre rollerna, med en kommunikationspil mellan system och assistent för systemmeddelanden, och en kommunikationspil mellan användare och assistent för att skicka en prompt.

  • Systemmeddelande: styr modellens beteende
  • Användarmeddelande: prompt från användaren
Prompt Engineering med OpenAI API

Repetition: meddelanderoller

Varje meddelande har en av tre roller

En bild som visar en ikon för var och en av de tre rollerna, med kommunikationspilar mellan system och assistent för systemmeddelanden, mellan användare och assistent för en prompt, och mellan assistent och användare för svaret.

  • Systemmeddelande: styr modellens beteende
  • Användarmeddelande: prompt från användaren
  • Assistentmeddelande: svar på användarens prompt
Prompt Engineering med OpenAI API

Repetition: styrparametrar

En bild som visar en termometerikon med möjliga värden mellan 0 och 2, där 0 innebär ingen slumpmässighet och 2 innebär högst slumpmässighet.

  • temperature: styr svarets slumpmässighet
Prompt Engineering med OpenAI API

Repetition: styrparametrar

En bild som visar en termometerikon med möjliga värden mellan 0 och 2, där 0 innebär ingen slumpmässighet och 2 innebär högst slumpmässighet, samt en skjutreglageikon som representerar parametern max_tokens där lägre värden ger kortare svar.

  • temperature: styr svarets slumpmässighet
  • max_tokens: styr svarets längd
Prompt Engineering med OpenAI API

Repetition: kommunicera med OpenAI API

prompt = "What is prompt engineering?"

client = OpenAI(api_key="api_key")
response = client.chat.completions.create(
model = "gpt-4o-mini",
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 med OpenAI API

Skapa funktionen get_response()

def get_response(prompt):

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

Användning

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 med OpenAI API

Förbättra promptar

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 med OpenAI API

Nu kör vi en övning!

Prompt Engineering med OpenAI API

Preparing Video For Download...