Few-shot prompting

Prompt Engineering met de OpenAI API

Fouad Trad

Machine Learning Engineer

Few-shot prompting

  • Model krijgt voorbeelden (vraag-antwoordparen)

Een visuele weergave van een few-shot prompt met voorbeeldvragen en -antwoorden, en tot slot de vraag die we willen laten beantwoorden.

Prompt Engineering met de OpenAI API

Few-shot prompting

  • Model krijgt voorbeelden (vraag-antwoordparen)

Een visueel diagram van hoe we een few-shot prompt naar de LLM sturen.

Prompt Engineering met de OpenAI API

Few-shot prompting

  • Model krijgt voorbeelden (vraag-antwoordparen)

Een visueel diagram van hoe we een few-shot prompt naar de LLM sturen en een antwoord terugkrijgen.

Prompt Engineering met de OpenAI API

Few-shot prompting

  • Model krijgt voorbeelden (vraag-antwoordparen)

Een visueel diagram van hoe we een few-shot prompt naar de LLM sturen en een antwoord terugkrijgen.

  • Aantal voorbeelden:
    • Nul -> zero-shot prompting
    • Eén -> one-shot prompting
    • Meer dan één -> few-shot prompting
Prompt Engineering met de OpenAI API

Zero-shot prompting

  • Prompt geven zonder voorbeelden
  • Model genereert antwoorden op basis van zijn kennis
  • Ideaal voor snelle, eenvoudige taken
prompt = "What is prompt engineering?"
print(get_response(prompt))
Prompt engineering refers to designing and refining prompts or instructions given 
to a language model like ChatGPT 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 met de OpenAI API

One-shot prompting

  • Geef het model één voorbeeld
  • Handig voor consistente opmaak of stijl
prompt =  """ 
Q: Sum the numbers 3, 5, and 6. A: 3+5+6=14
Q: Sum the numbers 2, 4, and 7. A: 
"""
print(get_response(prompt))
2+4+7=13
Prompt Engineering met de OpenAI API

One-shot prompting

prompt = """
Q: Sum the numbers 3, 5, and 6. A: The sum of 3, 5, and 6 is 14
Q: Sum the numbers 2, 4, and 7. A: 
"""
print(get_response(prompt))
The sum of 2, 4, and 7 is 13
Prompt Engineering met de OpenAI API

Few-shot prompting

  • Geef meer dan één voorbeeld
  • Krachtig voor contextuele taken
prompt = """
Text: Today the weather is fantastic -> Classification: positive
Text: The furniture is small -> Classification: neutral
Text: I don't like your attitude -> Classification: negative

"""

Prompt Engineering met de OpenAI API

Few-shot prompting

  • Geef meer dan één voorbeeld
  • Krachtig voor contextuele taken
prompt = """
Text: Today the weather is fantastic -> Classification: positive
Text: The furniture is small -> Classification: neutral
Text: I don't like your attitude -> Classification: negative
Text: That shot selection was awful -> Classification: 
"""
print(get_response(prompt))
negative
Prompt Engineering met de OpenAI API

Few-shot prompting met een chatmodel

response = client.chat.completions.create(
  model = "gpt-3.5-turbo",

messages = [{"role": "user", "content": "Today the weather is fantastic"},
{"role": "assistant", "content": "positive"},
{"role": "user", "content": "I don't like your attitude"}, {"role": "assistant", "content": "negative"},
{"role": "user", "content": "That shot selection was awful"} ], temperature = 0 )
print(response.choices[0].message.content)
negative
Prompt Engineering met de OpenAI API

Aandachtspunten

  • Kies het aantal shots op basis van de taakcomplexiteit
    • Minder shots -> eenvoudige taken
    • Diverse shots -> complexe taken

Een afbeelding van iemand die zichzelf bevraagt.

Prompt Engineering met de OpenAI API

Laten we oefenen!

Prompt Engineering met de OpenAI API

Preparing Video For Download...