Introducere în ingineria prompturilor

Prompt Engineering cu OpenAI API

Fouad Trad

Machine Learning Engineer

Ce este ingineria prompturilor?

Crearea de prompturi sau instrucțiuni transmise LLM-urilor pentru a obține răspunsurile dorite

Imagine cu un inginer prezentând terminologia ingineriei prompturilor.

Prompt Engineering cu OpenAI API

Ingineria prompturilor este precum crearea unei rețete

Imagine cu un bucătar preparând o masă.

Prompt Engineering cu OpenAI API

De ce ingineria prompturilor?

  Diagramă vizuală care arată că prompturile de calitate ridicată duc la răspunsuri de calitate ridicată.

Prompt Engineering cu OpenAI API

De ce ingineria prompturilor?

  Diagramă vizuală care arată cum calitatea răspunsurilor este influențată de calitatea prompturilor: prompturile de calitate ridicată duc la răspunsuri de calitate ridicată, iar cele de calitate scăzută duc la răspunsuri de calitate scăzută.

Prompt Engineering cu OpenAI API

Recapitulare: OpenAI API

  • Permite interacțiunea cu modelele OpenAI
  • Deja configurat în acest curs
  • Acces la endpoint-ul Chat Completions

chatgpt_logo_white.png

Prompt Engineering cu OpenAI API

Recapitulare: rolurile mesajelor

Fiecare mesaj are unul dintre cele trei roluri

Imagine cu o pictogramă pentru rolul de utilizator.

Prompt Engineering cu OpenAI API

Recapitulare: rolurile mesajelor

Fiecare mesaj are unul dintre cele trei roluri

Imagine cu pictograme pentru cele două roluri: utilizator și asistent.

Prompt Engineering cu OpenAI API

Recapitulare: rolurile mesajelor

Fiecare mesaj are unul dintre cele trei roluri

Imagine cu pictograme pentru fiecare dintre cele trei roluri: utilizator, sistem și asistent.

Prompt Engineering cu OpenAI API

Recapitulare: rolurile mesajelor

Fiecare mesaj are unul dintre cele trei roluri

Imagine cu pictograme pentru fiecare dintre cele trei roluri, cu o săgeată de comunicare între sistem și asistent pentru trimiterea mesajelor sistemului.

  • Mesaj de sistem: ghidează comportamentul modelului
Prompt Engineering cu OpenAI API

Recapitulare: rolurile mesajelor

Fiecare mesaj are unul dintre cele trei roluri

Imagine cu pictograme pentru fiecare dintre cele trei roluri, cu săgeți de comunicare între sistem și asistent, respectiv între utilizator și asistent.

  • Mesaj de sistem: ghidează comportamentul modelului
  • Mesaj de utilizator: promptul utilizatorului
Prompt Engineering cu OpenAI API

Recapitulare: rolurile mesajelor

Fiecare mesaj are unul dintre cele trei roluri

Imagine cu pictograme pentru fiecare dintre cele trei roluri, cu săgeți de comunicare între sistem și asistent, între utilizator și asistent, și între asistent și utilizator.

  • Mesaj de sistem: ghidează comportamentul modelului
  • Mesaj de utilizator: promptul utilizatorului
  • Mesaj de asistent: răspuns la promptul utilizatorului
Prompt Engineering cu OpenAI API

Recapitulare: parametri de control

Imagine cu pictograma unui termometru cu valori posibile între 0 și 2, unde 0 indică lipsa aleatoriității, iar 2 indică aleatoriitate maximă.

  • temperature: controlează aleatoriitatea răspunsului
Prompt Engineering cu OpenAI API

Recapitulare: parametri de control

Imagine cu pictograma unui termometru cu valori între 0 și 2 și un cursor reprezentând parametrul max_tokens, unde valorile mai mici duc la răspunsuri mai scurte.

  • temperature: controlează aleatoriitatea răspunsului
  • max_tokens: controlează lungimea răspunsului
Prompt Engineering cu OpenAI API

Recapitulare: comunicarea cu 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 cu OpenAI API

Crearea funcției 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

Utilizare

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

Îmbunătățirea prompturilor

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

Să exersăm!

Prompt Engineering cu OpenAI API

Preparing Video For Download...