Few-Shot Prompting

Prompt-Engineering mit der OpenAI-API

Fouad Trad

Machine Learning Engineer

Few-Shot Prompting

  • Beispielen übergeben an das Modell (Frage-Antwort-Paare)

Eine visuelle Darstellung eines Few-Shot-Prompts, die seine Struktur mit Beispielfragen und -antworten zeigt, und schließlich die Frage, die das Modell beantworten soll.

Prompt-Engineering mit der OpenAI-API

Few-Shot Prompting

  • Beispiele an das Modell übergeben (Frage-Antwort-Paare)

Ein Diagramm, das zeigt, wie wir ein Few-Shot-Prompt an das LLM schicken.

Prompt-Engineering mit der OpenAI-API

Few-Shot Prompting

  • Beispiele an das Modell übergeben (Frage-Antwort-Paare)

Ein Diagramm, das zeigt, wie wir ein paar Eingaben an das LLM schicken und eine Antwort zurückbekommen.

Prompt-Engineering mit der OpenAI-API

Few-Shot Prompting

  • Beispiele an das Modell übergeben (Frage-Antwort-Paare)

Ein Diagramm, das zeigt, wie wir ein paar Eingaben an das LLM schicken und eine Antwort zurückbekommen.

  • Anzahl der Beispiele:
    • Null -> Zero-Shot-Prompting
    • Eins -> One-Shot Prompting
    • Mehr als eins -> Few-Shot-Prompting
Prompt-Engineering mit der OpenAI-API

Zero-Shot-Prompting

  • Einen Prompt ohne Beispiele bereitstellen.
  • Das Modell erzeugt Antworten, basierend auf dem, was es weiß.
  • Perfekt für schnelle und einfache Aufgaben
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 mit der OpenAI-API

One-shot Prompting

  • Ein einziges Beispiel für das Modell
  • Nützlich für einheitliche Formatierung oder Stil
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 mit der 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 mit der OpenAI-API

Few-Shot Prompting

  • Mehr als ein Beispiel
  • Super für kontextbezogene Aufgaben
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 mit der OpenAI-API

Few-Shot Prompting

  • Mehr als ein Beispiel
  • Super für kontextbezogene Aufgaben
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 mit der OpenAI-API

Few-Shot-Prompting mit einem Chat-Modell

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 mit der OpenAI-API

Überlegungen

  • Wähle die Anzahl der shots je nach Komplexität der Aufgabe aus.
    • Weniger shots -> einfache Aufgaben
    • Mehr shots -> komplizierte Aufgaben

Ein Bild, das eine Person zeigt, die sich selbst hinterfragt.

Prompt-Engineering mit der OpenAI-API

Lass uns üben!

Prompt-Engineering mit der OpenAI-API

Preparing Video For Download...