Iterativ prompt-engineering och förfining

Prompt Engineering med OpenAI API

Fouad Trad

Machine Learning Engineer

Iterativ prompt engineering

  • Ingen prompt är perfekt från början
  • Prompt engineering är en iterativ process där vi:
    • Bygger en prompt
    • Matar in den i modellen
    • Observerar och analyserar utdata
    • Itererar för att förbättra prompten

Bild som visar en cykel. En blå cirkel med fyra pilar som leder in i varandra.

Prompt Engineering med OpenAI API

Förfina prompts

Initial prompt
prompt = "Generate an Excel sheet containing
five student names and their grades"

print(get_response(prompt))
I'm sorry, but as a text-based AI, I am 
unable to directly provide an Excel sheet. 
However, I can help you generate a sample
representation of the data you requested.
Refined prompt
prompt = "Generate a table that I can copy 
to Excel, containing five student names and 
their grades"
print(get_response(prompt))
| Student Name | Grade |
|--------------|-------|
| Student 1    |  90   |
| Student 2    |  85   |
| Student 3    |  95   |
| Student 4    |  88   |
| Student 5    |  92   |
Prompt Engineering med OpenAI API

Exempel: analysera en Python-funktion

code = '''
def calculate_rectangle_area(length, width):
    area = length * width
    return area
'''

Bild som visar en rektangel och formeln för att beräkna dess area utifrån bredd och längd. Area = length\*width.

Prompt Engineering med OpenAI API

Exempel: initial prompt

prompt = f"""
  Analyze the code delimited by triple backticks with one sentence
  ```{code}```.
"""
print(get_response(prompt))
The code calculates the area of a rectangle based on its length and width.
Prompt Engineering med OpenAI API

Exempel: förfining av prompt

Vi ändrar prompten för att få programmeringsspråket

prompt = f"""
  Analyze the code delimited by triple backticks and provide its programming 
  language with one sentence 
  ```{code}```.
"""
print(get_response(prompt))
The provided code is a function written in Python that calculates the area of a 
rectangle based on its length and width.
Prompt Engineering med OpenAI API

Exempel: förfining av prompt

Vi ändrar prompten för att få strukturerade utdata

prompt = f"""
  For the function delimited by triple backticks, provide in a structured format
  the following:
  - description: one sentence short description
  - language: the programming language used
  - input: the inputs to the function
  - output: the output returned by the function
  ```{code}```.
"""
print(get_response(prompt))
Prompt Engineering med OpenAI API

Exempel: förfining av prompt

description: This function calculates the area of a rectangle.

language: Python

input:
 - length: The length of the rectangle.
 - width: The width of the rectangle.

output:
 - area: The calculated area of the rectangle, which is the product of the length 
 and width.
Prompt Engineering med OpenAI API

Förfining av few-shot-prompts

  • Klassificering av väderbeskrivningar

Initial prompt

prompt = """
Clear skies and a gentle breeze. -> Sunny
Heavy rain and thunderstorms expected. -> Rainy
Fresh snowfall with freezing temperatures. -> 
"""
print(get_response(prompt))
Snowy
Prompt Engineering med OpenAI API

Förfining av few-shot-prompts

  • Klassificering av väderbeskrivningar

Initial prompt

prompt = """
Clear skies and a gentle breeze. -> Sunny
Heavy rain and thunderstorms expected. -> Rainy
The wind of change brought a refreshing breeze to the company's operations. -> 
"""
print(get_response(prompt))
Windy
Prompt Engineering med OpenAI API

Förfining av few-shot-prompts

Refined prompt

prompt = """
Clear skies and a gentle breeze. -> Sunny
Heavy rain and thunderstorms expected. -> Rainy
The political climate in the country was stormy -> Unknown
The wind of change brought a refreshing breeze to the company's operations. -> 
"""
print(get_response(prompt))
Unknown
Prompt Engineering med OpenAI API

Promptförfining för olika prompttyper

  • Few-shot-prompts: förfina exempel
  • Flerstegs-prompts: förfina vägledande steg
  • Chain-of-thought- och självkonsekvens-prompts: förfina problemformuleringen

Bild som visar tre rader med reglage där en hand justerar reglagen för att illustrera förfining.

Prompt Engineering med OpenAI API

Nu kör vi en övning!

Prompt Engineering med OpenAI API

Preparing Video For Download...