Promptare few-shot

Prompt Engineering cu OpenAI API

Fouad Trad

Machine Learning Engineer

Promptare few-shot

  • Modelului i se furnizează exemple (perechi întrebare-răspuns)

Reprezentare vizuală a unui prompt few-shot cu structura sa: exemple de întrebări și răspunsuri, și întrebarea finală pentru model.

Prompt Engineering cu OpenAI API

Promptare few-shot

  • Modelului i se furnizează exemple (perechi întrebare-răspuns)

Diagramă vizuală care arată cum trimitem un prompt few-shot către LLM.

Prompt Engineering cu OpenAI API

Promptare few-shot

  • Modelului i se furnizează exemple (perechi întrebare-răspuns)

Diagramă vizuală care arată cum trimitem un prompt few-shot către LLM și primim un răspuns.

Prompt Engineering cu OpenAI API

Promptare few-shot

  • Modelului i se furnizează exemple (perechi întrebare-răspuns)

Diagramă vizuală care arată cum trimitem un prompt few-shot către LLM și primim un răspuns.

  • Număr de exemple:
    • Zero -> promptare zero-shot
    • Unul -> promptare one-shot
    • Mai mult de unul -> promptare few-shot
Prompt Engineering cu OpenAI API

Promptare zero-shot

  • Trimiterea unui prompt fără exemple
  • Modelul generează răspunsuri pe baza cunoștințelor proprii
  • Ideal pentru sarcini rapide și simple
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 cu OpenAI API

Promptare one-shot

  • Furnizați modelului un singur exemplu
  • Util pentru formatare sau stil consistent
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 cu OpenAI API

Promptare one-shot

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

Promptare few-shot

  • Furnizați mai mult de un exemplu
  • Puternic pentru sarcini contextuale
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 cu OpenAI API

Promptare few-shot

  • Furnizați mai mult de un exemplu
  • Puternic pentru sarcini contextuale
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 cu OpenAI API

Promptare few-shot cu un model de chat

response = client.chat.completions.create(
  model = "gpt-4o-mini",

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

Considerații

  • Alegeți numărul de exemple în funcție de complexitatea sarcinii
    • Mai puține exemple -> sarcini de bază
    • Exemple diverse -> sarcini complexe

Imagine cu o persoană care se întreabă ceva.

Prompt Engineering cu OpenAI API

Să exersăm!

Prompt Engineering cu OpenAI API

Preparing Video For Download...